kent
cd7d9faeaf
Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it.
2003-01-28 01:07:51 +00:00
martin
87a073002c
Make the *_stream_* methods always use the *_real accessors.
...
Define __BUS_SPACE_HAS_STREAM_METHODS.
2003-01-03 13:23:39 +00:00
mrg
7bd617d237
part one of bus_space(9) fixes to enable bus spaces to override the
...
bus_space_{read,write}_[1248]() functions, which will allow 16-bit
PCMCIA support to work without additional hacks in MI drivers.
this option is not enabled yet.
2003-01-03 11:57:45 +00:00
pk
725a6aebf7
Remove the `flags' argument from bus_intr_establish().
2002-12-10 13:44:47 +00:00
pk
5446e96bac
bus_intr_establish() now takes an optional `fast trap' handler argument.
...
BUS_INTR_ESTABLISH_FASTTRAP and BUS_INTR_ESTABLISH_SOFTINTR are no longer used.
2002-12-10 12:16:25 +00:00
thorpej
a9f285b0ac
Put a bus's ranges in the bus space tag, and make sparc_bus_map()
...
perform the translation and recursion if t->ranges != NULL. Make
sbus, cpuunit, and bootbus inherit the parent's map/mmap routines,
and delete the now-unused mapping functions. Update all places where
bus space tags are statically allocated.
2002-08-25 17:54:57 +00:00
uwe
440409e641
Delint a bit.
2002-05-07 06:45:22 +00:00
uwe
8107633e20
bus space methods should be "static __inline__", not "extern __inline__".
...
Otherwise an unoptimized kernel cannot be linked. Reviewed by pk.
2002-05-07 00:37:47 +00:00
pk
ebe575d3ca
BUS_ADDR(): avoid signed conversions.
2002-04-23 07:17:29 +00:00
eeh
0cb6a3a2a5
Add bus_space_vaddr().
2002-03-21 00:30:41 +00:00
pk
221d0f52da
`bus_type_t' is gone. Retain bus_space_map2() for MD drivers that need
...
to map registers to a fixed virtual address.
2002-03-11 16:06:42 +00:00
soren
6a76b36417
Use regular read/writes for stream variant calls.
2001-12-15 12:39:55 +00:00
eeh
766a9b8c9c
Change bus_space_mmap() signature to the official one.
2001-09-24 23:49:31 +00:00
thorpej
babefc5331
Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
...
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
thorpej
2c4c690f14
Add the BUS_DMA_STREAMING flag.
2001-03-07 22:42:16 +00:00
pk
406e0f779f
Add a `device class' interrupt level argument (from machine/intr.h)
...
to bus_interrupt_establish().
It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt
level to devices in PCI slots.
2000-07-09 20:57:41 +00:00
simonb
889c658b5b
Change the kernel mmap interface so that the offset to map is an
...
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".
Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
pk
0790f00e68
Maintain the DVMA map extent subregion boundaries in the bus_dma map
...
structure.
2000-06-24 22:47:45 +00:00
pk
5c1633af0d
Fix pastos in bus_space_read_region_*() functions.
2000-06-21 13:41:23 +00:00
pk
1273031c4d
Simplify the bus_dma(9) implementation:
...
- the `alignment' and `boundary' arguments in bus_dmamem_alloc() only
serve as hints on how to break up a DMA transaction into chunks
when necessary; it is not necessary on sparc DVMA hardware.
- exclusively use the VM page size (i.e. PAGE_SIZE et.al.) when computing
resource allocations.
- remember the size of DVMA resource allocations in the private `_ds_sgsize'
field in a dma segment descriptor.
2000-05-23 11:39:57 +00:00
pk
2d12c9e33b
The bus_dma(9) implementation now allocates DVMA addresses in
...
bus_dmamap_load_*() routines only. Note that DMA memory buffers
allocated with bus_dmamem_alloc() _must_ be loaded by bus_dmamap_load_raw().
2000-05-09 22:39:35 +00:00
drochner
8eb798e603
define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
...
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
drochner
76fa1751fe
Add a macro to check for sufficient pointer alignment in bus.h context,
...
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
drochner
cc66380116
fix address incrementing in the read_region_N, write_region_N,
...
set_region_N and copy_region_N methods
1999-01-29 16:30:51 +00:00
pk
2e89e9144b
Turn a bunch of bus_space_*() macros into in-line functions mostly to avoid
...
variable aliasing.
1998-11-26 23:50:52 +00:00
pk
bc98f448b8
Turn the passed tag into "used" arguments.
1998-11-22 21:52:24 +00:00
pk
b8a1caac4a
Convert to [pv]addr_t & [pv]size_t.
1998-08-21 14:12:18 +00:00
pk
862c0bafcc
Define a BUS_DMA flag for devices that have a 24-bit address space.
...
Update _bus_dma* prototypes.
1998-07-30 22:20:31 +00:00
pk
286472fe4d
* Pass the bus tag instead of just the cookie to all bus space methods.
...
* In the bus tag structure, keep a reference to the parent bus.
* Express all bus space methods as inline functions in stead of macros
and use the parent bus tag reference to find the nearest "upstream"
bus that implements the method.
1998-04-07 20:07:23 +00:00
pk
11928be0ff
`sparc_bus_mmap()' declaration moved to machdep.c
1998-03-29 22:00:33 +00:00
pk
2a65520c69
bus_space_probe() prototype.
1998-03-28 19:45:29 +00:00
pk
9e69994eaa
Add `interrupt establish' and ` device mmap' methods and macros to
...
match to the bus tag structure.
1998-03-21 19:31:27 +00:00
thorpej
8abe76d2f0
Add offset and length parameters to bus_dmamap_sync(), used for specifiying
...
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej
99cc8482d1
Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
...
and allow more than one synchronization operation to be specified in
a single call. Dissallow mixing of PRE and POST operations.
1998-02-04 01:57:27 +00:00
thorpej
a7c5c1ef3c
Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
...
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
pk
1842a317c3
Fix parenthesis inbalance.
1998-01-13 20:53:38 +00:00
pk
4759b4c5ff
Re-do the `busdma' interface.
1997-11-23 16:31:28 +00:00
pk
b74bcd140c
The sparc's bus.h.
1997-11-02 21:28:33 +00:00