Re: [PATCH v2] PCI: endpoint: functions: Use kmemdup instead of duplicating its function

From: Kishon Vijay Abraham I
Date: Mon Feb 11 2019 - 07:38:13 EST


Hi Gustavo,

On 11/02/19 2:45 PM, Gustavo Pimentel wrote:
> On 11/02/2019 05:48, Kishon Vijay Abraham I wrote:
>> Hi Lorenzo,
>>
>> On 08/02/19 5:50 PM, Lorenzo Pieralisi wrote:
>>> On Thu, Dec 06, 2018 at 08:52:25PM +0800, Wen Yang wrote:
>>>> kmemdup has implemented the function that kmalloc() + memcpy().
>>>> We prefer to kmemdup rather than code opened implementation.
>>>>
>>>> This issue was detected with the help of coccinelle.
>>>>
>>>> Signed-off-by: Wen Yang <wen.yang99@xxxxxxxxxx>
>>>> CC: Kishon Vijay Abraham I <kishon@xxxxxx>
>>>> CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
>>>> CC: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>>>> CC: Gustavo Pimentel <gustavo.pimentel@xxxxxxxxxxxx>
>>>> CC: Niklas Cassel <niklas.cassel@xxxxxxxx>
>>>> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>>>> CC: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxxxxxxxxxxx>
>>>> CC: linux-pci@xxxxxxxxxxxxxxx (open list:PCI ENDPOINT SUBSYSTEM)
>>>> CC: linux-kernel@xxxxxxxxxxxxxxx (open list)
>>>> ---
>>>> drivers/pci/endpoint/functions/pci-epf-test.c | 4 +---
>>>> 1 file changed, 1 insertion(+), 3 deletions(-)
>>>
>>> Kishon,
>>>
>>> this looks OK to me, anything I am missing ?
>>
>> For the existing code this might seem the right thing to do but ideally the
>> memcpy here should be changed to memcpy_fromio/memcpy_toio.
>>
>> Also later when we plan to use DMA (on the endpoint) for data transfer, we have
>> to use kzalloc and dma_map_single APIs.
>
> Are you considering to use the eDMA driver that I'm developing?

I used system DMA for my testing. But in the DesignWare driver, we should be
able to choose between system DMA or any other DMA based on the platforms
capabilities.

Thanks
Kishon