2019-05-10 15:06:49

by Robin Murphy

[permalink] [raw]
Subject: Re: [RFC PATCH 0/3] prerequisites for device reserved local mem rework

Hi Laurentiu,

On 10/05/2019 15:56, wrote:
> From: Laurentiu Tudor <[email protected]>
>
> 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.

Based on my diggings into this in the past, I would expect that you need
to do something about hcd_alloc_coherent() as well.

Robin.

>
> Thank you!
>
> For context, see thread here: https://lkml.org/lkml/2019/4/22/357
>
> Laurentiu Tudor (3):
> ohci-hcd: 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/host/ohci-hcd.c | 21 +++++++++---
> drivers/usb/host/ohci-sm501.c | 63 +++++++++++++++++++----------------
> drivers/usb/host/ohci-tmio.c | 23 ++++++++-----
> drivers/usb/host/ohci.h | 3 ++
> 4 files changed, 69 insertions(+), 41 deletions(-)
>


2019-05-10 15:13:50

by Laurentiu Tudor

[permalink] [raw]
Subject: RE: [RFC PATCH 0/3] prerequisites for device reserved local mem rework

Hi Robin,

> -----Original Message-----
> From: Robin Murphy <[email protected]>
> Sent: Friday, May 10, 2019 6:04 PM
>
> Hi Laurentiu,
>
> On 10/05/2019 15:56, wrote:
> > From: Laurentiu Tudor <[email protected]>
> >
> > 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.
>
> Based on my diggings into this in the past, I would expect that you need
> to do something about hcd_alloc_coherent() as well.

Indeed looks like it. Thanks a lot for the pointer, I'll dig into it.

---
Best Regards, Laurentiu

>
> >
> > Thank you!
> >
> > For context, see thread here:
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flkml.org
> %2Flkml%2F2019%2F4%2F22%2F357&amp;data=02%7C01%7Claurentiu.tudor%40nxp.com
> %7C1ad4c377d109419121b808d6d558b0b0%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0
> %7C0%7C636930974257581614&amp;sdata=pNRPPIoBmZ7UBfip%2FjRBYiMgGT3pf1riWLn2
> DS%2Fotl4%3D&amp;reserved=0
> >
> > Laurentiu Tudor (3):
> > ohci-hcd: 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/host/ohci-hcd.c | 21 +++++++++---
> > drivers/usb/host/ohci-sm501.c | 63 +++++++++++++++++++----------------
> > drivers/usb/host/ohci-tmio.c | 23 ++++++++-----
> > drivers/usb/host/ohci.h | 3 ++
> > 4 files changed, 69 insertions(+), 41 deletions(-)
> >

2019-05-10 16:03:46

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [RFC PATCH 0/3] prerequisites for device reserved local mem rework

On Fri, May 10, 2019 at 04:03:37PM +0100, Robin Murphy wrote:
> Hi Laurentiu,
>
> On 10/05/2019 15:56, wrote:
>> From: Laurentiu Tudor <[email protected]>
>>
>> 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.
>
> Based on my diggings into this in the past, I would expect that you need to
> do something about hcd_alloc_coherent() as well.

Yep. And it might make sense to share the code for that and the
ohci internal allocations with a helper.