> -----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