dmaengine Archive on lore.kernel.org
 help / color / Atom feed
From: Ulf Hansson <ulf.hansson@linaro.org>
To: Robin Murphy <robin.murphy@arm.com>
Cc: BOUGH CHEN <haibo.chen@nxp.com>, Arnd Bergmann <arnd@arndb.de>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Russell King <linux@armlinux.org.uk>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Vinod Koul <vkoul@kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>,
	Ludovic Barre <ludovic.barre@st.com>
Subject: Re: [PATCH 0/2] amba/platform: Initialize dma_parms at the bus level
Date: Tue, 31 Mar 2020 20:08:39 +0200
Message-ID: <CAPDyKFoSeXsNOW4Defc_nLzfd5G8UvsTWUNMJNW6tAZ0gMV4Kg@mail.gmail.com> (raw)
In-Reply-To: <2b2f1b1e-d186-e60f-baa9-3223ad4101f0@arm.com>

On Fri, 27 Mar 2020 at 20:15, Robin Murphy <robin.murphy@arm.com> wrote:
>
> On 2020-03-27 3:34 pm, Ulf Hansson wrote:
> > On Fri, 27 Mar 2020 at 04:02, BOUGH CHEN <haibo.chen@nxp.com> wrote:
> >>
> >>
> >>> -----Original Message-----
> >>> From: BOUGH CHEN
> >>> Sent: 2020年3月26日 12:41
> >>> To: Ulf Hansson <ulf.hansson@linaro.org>; Greg Kroah-Hartman
> >>> <gregkh@linuxfoundation.org>; Rafael J . Wysocki <rafael@kernel.org>;
> >>> linux-kernel@vger.kernel.org
> >>> Cc: Arnd Bergmann <arnd@arndb.de>; Christoph Hellwig <hch@lst.de>;
> >>> Russell King <linux@armlinux.org.uk>; Linus Walleij <linus.walleij@linaro.org>;
> >>> Vinod Koul <vkoul@kernel.org>; Ludovic Barre <ludovic.barre@st.com>;
> >>> linux-arm-kernel@lists.infradead.org; dmaengine@vger.kernel.org
> >>> Subject: RE: [PATCH 0/2] amba/platform: Initialize dma_parms at the bus level
> >>>
> >>>> -----Original Message-----
> >>>> From: Ulf Hansson <ulf.hansson@linaro.org>
> >>>> Sent: 2020年3月25日 19:34
> >>>> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rafael J .
> >>>> Wysocki <rafael@kernel.org>; linux-kernel@vger.kernel.org
> >>>> Cc: Arnd Bergmann <arnd@arndb.de>; Christoph Hellwig <hch@lst.de>;
> >>>> Russell King <linux@armlinux.org.uk>; Linus Walleij
> >>>> <linus.walleij@linaro.org>; Vinod Koul <vkoul@kernel.org>; BOUGH CHEN
> >>>> <haibo.chen@nxp.com>; Ludovic Barre <ludovic.barre@st.com>;
> >>>> linux-arm-kernel@lists.infradead.org; dmaengine@vger.kernel.org; Ulf
> >>>> Hansson <ulf.hansson@linaro.org>
> >>>> 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

      reply index

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-25 11:34 Ulf Hansson
2020-03-25 11:34 ` [PATCH 1/2] driver core: platform: Initialize dma_parms for platform devices Ulf Hansson
2020-03-25 15:23   ` Ludovic BARRE
2020-03-26 11:01   ` Linus Walleij
2020-03-26 11:06   ` Arnd Bergmann
2020-03-25 11:34 ` [PATCH 2/2] amba: Initialize dma_parms for amba devices Ulf Hansson
2020-03-25 15:24   ` Ludovic BARRE
2020-03-26 11:02   ` Linus Walleij
2020-03-26 11:07   ` Arnd Bergmann
2020-03-26  4:41 ` [PATCH 0/2] amba/platform: Initialize dma_parms at the bus level BOUGH CHEN
2020-03-27  3:02   ` BOUGH CHEN
2020-03-27 15:34     ` Ulf Hansson
2020-03-27 19:15       ` Robin Murphy
2020-03-31 18:08         ` Ulf Hansson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPDyKFoSeXsNOW4Defc_nLzfd5G8UvsTWUNMJNW6tAZ0gMV4Kg@mail.gmail.com \
    --to=ulf.hansson@linaro.org \
    --cc=arnd@arndb.de \
    --cc=dmaengine@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=haibo.chen@nxp.com \
    --cc=hch@lst.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=ludovic.barre@st.com \
    --cc=rafael@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

dmaengine Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dmaengine/0 dmaengine/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dmaengine dmaengine/ https://lore.kernel.org/dmaengine \
		dmaengine@vger.kernel.org
	public-inbox-index dmaengine

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.dmaengine


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git