#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
254162 |
|
09-Aug-2013 |
marius |
MFC: r253902
Const'ify scc_driver_name.
|
#
249132 |
|
05-Apr-2013 |
mav |
MFC r227293 (by ed): Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.
This means that their use is restricted to a single C file.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
178600 |
|
26-Apr-2008 |
marcel |
With rev 1.24 of sys/powerpc/powermac/macio.c, we now get a total of 6 interrupt resources for scc(4) on macio(4). This is 3 per channel, of which the 1st of each channel is the interrupt associated with the SCC. The other 2 are for DMA operation. Change scc_bfe_attach() to accept an argument that's the number of interrupts per channel (ipc) and change each bus front-end (bfe) to pass that argument through a wrapper for the device_attach method.
For now, we only allocate the 1st interrupt of each channel to perserve behaviour.
|
#
167996 |
|
28-Mar-2007 |
marcel |
Add method enabled() to the SCC interface. This method can be used by driver backends to mark individual channels as enabled or not. The default implementation of this method always mark channels as enabled. This method is currently not used, but is added with the PowerQUICC in mind where the 2nd SCC channel can be disabled.
|
#
167973 |
|
28-Mar-2007 |
marcel |
Allow the range of a SCC class to be 0. This gives all child devices the same (overlapping) I/O range. This is useful for embedded communications controllers like the CPM of various models of the PowerQUICC.
|
#
167822 |
|
22-Mar-2007 |
marcel |
Pass the RID from the bus frontends to the core probe function. Currently all RIDs are 0, but for PCI devices this typically isn't the case. This change is made with future PCI support in mind.
|
#
166901 |
|
23-Feb-2007 |
piso |
o break newbus api: add a new argument of type driver_filter_t to bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many Approved by: re@
|
#
160689 |
|
26-Jul-2006 |
marcel |
Fix braino: The cl_range field should not hold the shifted I/O space range per channel, but rather the unshifted range. The shifting depends on the bus. The hardcoded shift was specific to the SBus on sparc64. The shifted range is now determined at run-time. This fixes the mac-io attachment.
|
#
160640 |
|
24-Jul-2006 |
marcel |
Revert previous commit. Spinlocks hold interrupts disabled, so preemption is not possible.
Pointed out by: jhb@
|
#
160631 |
|
24-Jul-2006 |
marcel |
If we have multiple interrupt resources, like for Z8530 clones on the mac-io bus, we cannot setup FAST interrupt handlers. This because we use spinlocks to protect the hardware and all interrupt resources are assigned the same interrupt handler. When the interrupt handler is invoked for interrupt X, it could be preempted for interrupt Y while it was holding the lock (where X and Y are the interrupt resources corresponding a single instance of this driver). This is a deadlock. By only using a MPSAFE handler in that case we prevent preemption.
|
#
157492 |
|
04-Apr-2006 |
marcel |
The Z8530 on the MacIO has an interrupt per channel. Deal with this by having interrupt resource variables per channel. We don't set up different interrupt handlers per channel, though.
|
#
157351 |
|
01-Apr-2006 |
marcel |
Add a MacIO bus attachment. The Z8530 as present in the Mac needs a different register shift and is fed by a different clock than we use for UltraSPARC hardware. To deal with this, the regshft and rclk fields in the class structure are removed and bus frontends now pass the right regshft and rclk to the probe function where they're put in the BAS and passed in to subordinate drivers.
|
#
157299 |
|
30-Mar-2006 |
marcel |
Add scc(4), a driver for serial communications controllers. These controllers typically have multiple channels and support a number of serial communications protocols. The scc(4) driver is itself an umbrella driver that delegates the control over each channel and mode to a subordinate driver (like uart(4)). The scc(4) driver supports the Siemens SAB 82532 and the Zilog Z8530 and replaces puc(4) for these devices.
|