On Fri, 27 Mar 2020 at 20:15, Robin Murphy <robin.murphy@xxxxxxx> wrote: > > On 2020-03-27 3:34 pm, Ulf Hansson wrote: > > On Fri, 27 Mar 2020 at 04:02, BOUGH CHEN <haibo.chen@xxxxxxx> wrote: > >> > >> > >>> -----Original Message----- > >>> From: BOUGH CHEN > >>> Sent: 2020年3月26日 12:41 > >>> To: Ulf Hansson <ulf.hansson@xxxxxxxxxx>; 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>; Ludovic Barre <ludovic.barre@xxxxxx>; > >>> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; dmaengine@xxxxxxxxxxxxxxx > >>> Subject: RE: [PATCH 0/2] amba/platform: Initialize dma_parms at the bus level > >>> > >>>> -----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. > >>> > >>> > >> > >> Hi Ulf, > >> > >> On the latest Linux-next branch, the top commit 89295c59c1f063b533d071ca49d0fa0c0783ca6f (tag: next-20200326), after add your two patches, I just add the simple debug code as following in the /driver/mmc/core/queue.c, but seems still not work as our expect, logically, it should work, so can you or anyone test on other platform? This seems weird. > > > > You are right, this doesn't work for platform devices being added > > through the OF path. > > > > In other words, of_platform_device_create_pdata() manually allocates > > the platform device and assigns it the &platform_bus_type, but without > > calling platform_device_add(). > > > > For amba, it works fine, as in that OF path, amba_device_add() is called. Hmm. > > > > I re-spin this, to address the problem. Perhaps we simply need to use > > the ->probe() path. > > FWIW we already have setup_pdev_dma_masks(), so it might be logical to > include dma_parms in there too. Yep, thanks for the suggestion. This work fine. [...] Kind regards Uffe