| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Glanced over by: imp, gibbs
Tested by: i386 LINT
|
|
|
|
| |
Also some minor style cleanups.
|
|
|
|
|
| |
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg.
Lockfunc allows a driver to provide a function for managing its locking
semantics while using busdma. At the moment, this is used for the
asynchronous busdma_swi and callback mechanism. Two lockfunc implementations
are provided: busdma_lock_mutex() performs standard mutex operations on the
mutex that is specified from lockfuncarg. dftl_lock() is a panic
implementation and is defaulted to when NULL, NULL are passed to
bus_dma_tag_create(). The only time that NULL, NULL should ever be used is
when the driver ensures that bus_dmamap_load() will not be deferred.
Drivers that do not provide their own locking can pass
busdma_lock_mutex,&Giant args in order to preserve the former behaviour.
sparc64 and powerpc do not provide real busdma_swi functions, so this is
largely a noop on those platforms. The busdma_swi on is64 is not properly
locked yet, so warnings will be emitted on this platform when busdma
callback deferrals happen.
If anyone gets panics or warnings from dflt_lock() being called, please
let me know right away.
Reviewed by: tmm, gibbs
|
| |
|
|
|
|
|
| |
'int nsegments' argument to bus_dma_tag_create(). ~0ul does not fit in
an int.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
adw_pci.c:
Update comments describing supported chips/cards.
adwcam.c:
adwlib.c:
adwlib.h:
Handle more error return codes from the firmware.
Break out the bus reset code into its own function.
Usa a constant for the bus reset hold delay.
Fix an interrupt race problem in adw_idle_cmd_send by
incorporating the poll loop for command completion.
Approved by: jkh@FreeBSDorg
|
|
|
|
| |
Overlooked by: n_himba@FreeBSD.org but not bde@FreeBSD.org
|
|
|
|
| |
Broken by: gibbs
|
|
|
|
|
|
|
| |
support is also included for the ASC38C1600 Ultra160 chipset, but
as firmware is not yet available for this chip, it is disabled.
Approved by: jkh@FreeBSD.org
|
| |
|
|
|
|
| |
don't care about the alignment, set it to 1, meaning single byte alignment.
|
|
|
|
| |
files. config will leave the whole file out if configured to do so.
|
|
|
|
|
|
|
|
| |
#define COMPAT_PCI_DRIVER(name,data) DATA_SET(pcidevice_set,data)
.. to 2.2.x and 3.x if people think it's worth it. Driver writers can do
this if it's not defined. (The reason for this is that I'm trying to
progressively eliminate use of linker_sets where it hurts modularity and
runtime load capability, and these DATA_SET's keep getting in the way.)
|
|
|
|
| |
hurt the driver portability to 3.x too much for where drivers are shared.
|
| |
|
|
|
|
| |
and local variables, goto labels, and functions declared but not defined.
|
|
|