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/kw/ucalloc.c | |
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/kw/ucalloc.c')
-rw-r--r-- | sys/src/9/kw/ucalloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/src/9/kw/ucalloc.c b/sys/src/9/kw/ucalloc.c index 37e8564c0..f7d142bad 100644 --- a/sys/src/9/kw/ucalloc.c +++ b/sys/src/9/kw/ucalloc.c @@ -127,7 +127,7 @@ ucalloc(usize size) } void* -ucallocalign(usize size, int align, int span) +ucallocalign(usize size, int align, usize span) { assert(size < ucpool.minarena-128); |