diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-02-14 03:00:31 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-02-14 03:00:31 +0100 |
commit | 995379e388e4cd202f683a00e99749c7f21a225d (patch) | |
tree | 046f2efc671554b5b6c5bfa9b8a38a95340a247f /sys/src/9/pc64 | |
parent | 6b2d1f0186f2e38a3b0cd6a19b5980dccb045c3c (diff) |
usbehci: initial support for usb on zynq, remove uncached.h
the following hooks have been added to the ehci Ctlr
structore to handle cache coherency (on arm):
void* (*tdalloc)(ulong,int,ulong);
void* (*dmaalloc)(ulong);
void (*dmafree)(void*);
void (*dmaflush)(int,void*,ulong);
tdalloc() is used to allocate descriptors and the periodic
frame schedule array. on arm, this needs to return uncached
memory. tdalloc()ed memory is never freed.
dmaalloc()/dmafree() is used for io buffers. this can return
cached memory when when hardware maintains cache coherency (pc)
or dmaflush() is provided to flush/invalidate the cache (zynq),
otherwise needs to return uncached memory.
dmaflush() is used to flush/invalidate the cache. the first
argument tells us if we need to flush (non zero) or
invalidate (zero).
uncached.h is gone now. this change makes the handling explicit.
Diffstat (limited to 'sys/src/9/pc64')
-rw-r--r-- | sys/src/9/pc64/mkfile | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/9/pc64/mkfile b/sys/src/9/pc64/mkfile index 9dd5f4c78..fc052d291 100644 --- a/sys/src/9/pc64/mkfile +++ b/sys/src/9/pc64/mkfile @@ -83,7 +83,7 @@ install:V: $p$CONF # copies generated by the rule below -PCHEADERS=wifi.h uncached.h usbehci.h screen.h etherif.h ethermii.h mp.h io.h ahci.h +PCHEADERS=wifi.h usbehci.h screen.h etherif.h ethermii.h mp.h io.h ahci.h REPCH=`{echo $PCHEADERS | sed 's/\.h//g; s/ /|/g'} ^($REPCH)\.h:R: '../pc/\1.h' @@ -117,7 +117,7 @@ devaoe.$O sdaoe.$O: ../port/aoe.h main.$O: init.h reboot.h devusb.$O usbuhci.$O usbohci.$O usbehci.$O: ../port/usb.h -usbehci.$O: usbehci.h uncached.h +usbehci.$O: usbehci.h trap.$O: /sys/include/tos.h ethermii.$O: ethermii.h etheriwl.$O: wifi.h |