Searched hist:"189 a6956ebbd7820afe5fa45a64ca495e6cefd9c" (Results 1 – 1 of 1) sorted by relevance
| /rk3399_rockchip-uboot/drivers/usb/host/ |
| H A D | ehci-hcd.c | 189a6956ebbd7820afe5fa45a64ca495e6cefd9c Sun Jul 15 04:43:49 UTC 2012 Ilya Yanok <ilya.yanok@cogentembedded.com> ehci-hcd: fix external buffer cache handling
Buffer coming from upper layers should be cacheline aligned/padded to perform safe cache operations. For now we don't do bounce buffering so getting unaligned buffer is an upper layer error. We can't check if the buffer is properly padded with current interface so just assume it is (consider changing with in the future). The following changes are done:
1. Remove useless length alignment check. We get actual transfer length not the size of the underlying buffer so it's perfectly valid for it to be unaligned. 2. Move flush_dcache_range() out of while loop or it will flush too much. 3. Don't try to fix buffer address before calling invalidate: if it's unaligned it's an error anyway so let cache subsystem cry about that. 4. Fix end buffer address to be cacheline aligned assuming upper layer reserved enough space. This is potentially dangerous operation so upper layers should be careful about that.
Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
|