Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1359976

Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT

From Arnd Bergmann <arnd@arndb.de>
Newsgroups linux.kernel
Subject Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT
Date 2016-03-17 17:00 +0100
Message-ID <rdIv7-Qo-13@gated-at.bofh.it> (permalink)
References <r4RnX-Sn-7@gated-at.bofh.it> <raW1B-716-43@gated-at.bofh.it> <rcyo9-2Ex-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Monday 14 March 2016 18:51:08 Peter Chen wrote:
> On Wed, Mar 09, 2016 at 05:16:50PM -0600, Li Yang wrote:
> > On Tue, Mar 8, 2016 at 9:40 PM, Bjorn Andersson
> > <bjorn.andersson@linaro.org> wrote:
> > > On Tue, Mar 8, 2016 at 11:52 AM, Li Yang <leoli@freescale.com> wrote:
> > >> On Wed, Mar 2, 2016 at 4:59 PM, Li Yang <leoli@freescale.com> wrote:
> > >>> On Mon, Feb 22, 2016 at 4:07 PM, Bjorn Andersson
> > >>> <bjorn.andersson@linaro.org> wrote:
> > >>>> On Mon 22 Feb 02:03 PST 2016, Srinivas Kandagatla wrote:
> > >
> > > I had the chance to go through this with Arnd and the verdict is that
> > > devices not described in DT should not do DMA (or allocate buffers for
> > > doing DMA).
> > >
> > > So I believe the solution is to fall back on Peter's description; the
> > > chipidea driver is the core driver and the Qualcomm code should just
> > > be a platform layer.
> > >
> > > My suggestion is that we turn the chipidea core into a set of APIs
> > > that can called by the platform specific pieces. That way we will have
> > > the chipidea core be the device described in the DT.
> > 
> > But like I said, this problem is not just existing for chipidea
> > driver.  We already found that the dwc3 driver is also suffering from
> > the same issue.  I don't know how many other drivers are impacted by
> > this change, but I suspect there will be some. A grep of
> > platform_device_add() in driver/ directory returns many possible
> > drivers to be impacted.  As far as I know, the
> > drivers/net/ethernet/freescale/fman/mac.c is registering child
> > ethernet devices that definitely will do dma.   If you want to do this
> > kind of rework to all these drivers, it will be a really big effort.
> > 
> 
> +1
> 
> Yes, I think this DMA things should be covered by driver core too.
> 

I don't think it's a very widespread problem, there are only very few
developers that intentionally use this method, and some use the
platform_device_register_full() call to create a device with a known
mask, which is generally ok for the limited case where the driver
is only ever going to run on a single platform, but not in the
more general case that of_dma_configure is designed to handle.

I think we should fix the drivers to consistently use the device
that was created by the platform (DT or ACPI or board file)
to pass that into the DMA API, anything else will just cause
more subtle bugs.

	Arnd

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Li Yang <leoli@freescale.com> - 2016-03-08 21:00 +0100
  Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-03-09 04:50 +0100
    Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Li Yang <leoli@freescale.com> - 2016-03-10 00:50 +0100
      Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Peter Chen <hzpeterchen@gmail.com> - 2016-03-14 12:00 +0100
        Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Arnd Bergmann <arnd@arndb.de> - 2016-03-17 17:00 +0100
          Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Peter Chen <hzpeterchen@gmail.com> - 2016-03-18 03:10 +0100
            RE: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Rajesh Bhagat <rajesh.bhagat@nxp.com> - 2016-03-18 04:50 +0100
            Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Arnd Bergmann <arnd@arndb.de> - 2016-03-18 08:30 +0100
            Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Russell King - ARM Linux <linux@arm.linux.org.uk> - 2016-03-18 12:00 +0100
    Re: [PATCH] usb: chipidea: Configure DMA properties and ops from DT Peter Chen <hzpeterchen@gmail.com> - 2016-03-25 05:10 +0100
      Re: [PATCH 1/1] usb: chipidea: add DMA mask configuration API kbuild test robot <lkp@intel.com> - 2016-03-25 05:50 +0100

csiph-web