| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
memory in bus_dmamem_alloc(). This is possible now that
contigmalloc() supports the M_ZERO flag.
- Remove the locking of Giant around calls to contigmalloc() since
contigmalloc() now grabs Giant itself.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
BUS_DMASYNC_ definitions remain as before. The does not change the ABI,
and reverts the API to be a bit more compatible and flexible. This has
survived a full 'make universe'.
Approved by: re (bmah)
|
|
|
|
|
|
| |
type-checking and future debug code.
- Remove sparse addressing hack, since the only consumer, the macio ATA
driver, doesn't require it anymore.
|
|
|
|
| |
to bus_dmasync_op_t in my last commit.
|
|
|
|
|
| |
It was bogusly set to 64 * 1024 or 128 * 1024 because it was
bogusly reused in the BUS_DMAMAP_NSEGS definition.
|
|
|
|
|
|
|
|
|
| |
- Store the OpenFirmware "reg" property in the macio ivars.
- Use a struct to define the structure of a "reg" property entry.
- Discover all memory ranges, not just the first.
- In ata_macio, manage our own range and hand out our own allocations using
bus_space_subregion.
- Fix bus_space_subregion to handle subregions of sparse maps.
|
|
|
|
|
|
| |
- dmamap_load_mbuf/load_uio prototypes
Submitted partly by: Hiten Pandya <hiten@unixdaemons.com>
|
|
|
|
| |
Approved by: benno
|
|
|
|
|
|
| |
2) Add bus_pio.h and bus_memio.h (which do nothing).
Submitted by: Peter Grehan <peterg@ptree32.com.au> (1)
|
|
|
|
| |
Reveiwed by: benno
|
|
Reviewed by: obrien, dfr
Obtained from: NetBSD
|