RE: [PATCH 0/2] amba/platform: Initialize dma_parms at the bus level

From: BOUGH CHEN
Date: Thu Mar 26 2020 - 00:41:14 EST


> -----Original Message-----
> From: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> Sent: 2020年3月25日 19:34
> To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; Rafael J . Wysocki
> <rafael@xxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx
> Cc: Arnd Bergmann <arnd@xxxxxxxx>; Christoph Hellwig <hch@xxxxxx>;
> Russell King <linux@xxxxxxxxxxxxxxx>; Linus Walleij
> <linus.walleij@xxxxxxxxxx>; Vinod Koul <vkoul@xxxxxxxxxx>; BOUGH CHEN
> <haibo.chen@xxxxxxx>; Ludovic Barre <ludovic.barre@xxxxxx>;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; dmaengine@xxxxxxxxxxxxxxx; Ulf
> Hansson <ulf.hansson@xxxxxxxxxx>
> Subject: [PATCH 0/2] amba/platform: Initialize dma_parms at the bus level
>
> It's currently the amba/platform driver's responsibility to initialize the pointer,
> dma_parms, for its corresponding struct device. The benefit with this
> approach allows us to avoid the initialization and to not waste memory for
> the struct device_dma_parameters, as this can be decided on a case by case
> basis.
>
> However, it has turned out that this approach is not very practical. Not only
> does it lead to open coding, but also to real errors. In principle callers of
> dma_set_max_seg_size() doesn't check the error code, but just assumes it
> succeeds.
>
> For these reasons, this series initializes the dma_parms from the
> amba/platform bus at the device registration point. This also follows the
> way the PCI devices are being managed, see pci_device_add().
>
> If it turns out that this is an acceptable solution, we probably also want the
> changes for stable, but I am not sure if it applies without conflicts.
>
> The series is based on v5.6-rc7.
>

Hi Ulf,

Since i.MXQM SMMU related code still not upstream yet, so I apply your patches on our internal Linux branch based on v5.4.24, and find it do not work on my side. Maybe for platform core drivers, there is a gap between v5.4.24 and v5.6-rc7 which has the impact.
I will try to put our SMMU related code into v5.6-rc7, then do the test again.


Best Regards
Haibo Chen

> Kind regards
> Ulf Hansson
>
> Ulf Hansson (2):
> driver core: platform: Initialize dma_parms for platform devices
> amba: Initialize dma_parms for amba devices
>
> drivers/amba/bus.c | 2 ++
> drivers/base/platform.c | 1 +
> include/linux/amba/bus.h | 1 +
> include/linux/platform_device.h | 1 +
> 4 files changed, 5 insertions(+)
>
> --
> 2.20.1