+Fredrik, Juergen On 14/05/2019 15:38, laurentiu.tudor@xxxxxxx wrote:
From: Laurentiu Tudor <laurentiu.tudor@xxxxxxx> For HCs that have local memory, replace the current DMA API usage with a genalloc generic allocator to manage the mappings for these devices. This is in preparation for dropping the existing "coherent" dma mem declaration APIs. Current implementation was relying on a short circuit in the DMA API that in the end, was acting as an allocator for these type of devices. Only compiled tested, so any volunteers willing to test are most welcome.
I recall an out-of-tree PlayStation 2 OHCI driver being another HCD_LOCAL_MEM user - if Fredrik and Juergen are still active on that, hopefully they might be able to comment on whether this approach can work for them too. Patchwork link just in case: https://patchwork.kernel.org/project/linux-usb/list/?series=117433
Robin.
Thank you! For context, see thread here: https://lkml.org/lkml/2019/4/22/357 Changes in v2: - use genalloc also in core usb (based on comment from Robin) - moved genpool decl to usb_hcd to be accesible from core usb Laurentiu Tudor (3): USB: use genalloc for USB HCs with local memory usb: host: ohci-sm501: init genalloc for local memory usb: host: ohci-tmio: init genalloc for local memory drivers/usb/core/buffer.c | 12 ++++++- drivers/usb/host/ohci-hcd.c | 23 +++++++++++--- drivers/usb/host/ohci-sm501.c | 60 +++++++++++++++++++---------------- drivers/usb/host/ohci-tmio.c | 23 +++++++++----- include/linux/usb/hcd.h | 3 ++ 5 files changed, 80 insertions(+), 41 deletions(-)