All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Peter Chen <peter.chen@freescale.com>
Cc: linux-arm-kernel@lists.infradead.org,
	Antoine Tenart <antoine.tenart@free-electrons.com>,
	thomas.petazzoni@free-electrons.com, zmxu@marvell.com,
	devicetree@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org, balbi@ti.com,
	alexandre.belloni@free-electrons.com, p.zabel@pengutronix.de,
	jszhang@marvell.com, sebastian.hesselbarth@gmail.com
Subject: Re: [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx
Date: Fri, 26 Sep 2014 09:01:49 +0200	[thread overview]
Message-ID: <202048167.dt5r3yRThs@wuerfel> (raw)
In-Reply-To: <20140926002339.GB3026@peterchendt>

On Friday 26 September 2014 08:23:40 Peter Chen wrote:
> In current chipidea structure, the parent (glue layer) driver will not be
> used for dma, udc/host driver uses dma mask from child (core layer), at core
> layer we will do:
> 
> 
>         pdev->dev.dma_mask = dev->dma_mask; /* this device is parent */
>         dma_set_coherent_mask(&pdev->dev, dev->coherent_dma_mask);
> 
> Would you suggestion us a suitable way? Or it is ok we use just Antoine's way that
> call dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)) at parent
> driver no matter dt or non-dt? Thanks.

dma_coerce_mask_and_coherent is not ok, it will force a dma mask that is
unrelated to the actual requirements of the hardware.

I think the best way would be to never use the child device pointer for
DMA operations, just use a pointer to the parent device and make the
child dev->dma_mask pointer NULL to ensure all DMA operations fail.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx
Date: Fri, 26 Sep 2014 09:01:49 +0200	[thread overview]
Message-ID: <202048167.dt5r3yRThs@wuerfel> (raw)
In-Reply-To: <20140926002339.GB3026@peterchendt>

On Friday 26 September 2014 08:23:40 Peter Chen wrote:
> In current chipidea structure, the parent (glue layer) driver will not be
> used for dma, udc/host driver uses dma mask from child (core layer), at core
> layer we will do:
> 
> 
>         pdev->dev.dma_mask = dev->dma_mask; /* this device is parent */
>         dma_set_coherent_mask(&pdev->dev, dev->coherent_dma_mask);
> 
> Would you suggestion us a suitable way? Or it is ok we use just Antoine's way that
> call dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)) at parent
> driver no matter dt or non-dt? Thanks.

dma_coerce_mask_and_coherent is not ok, it will force a dma mask that is
unrelated to the actual requirements of the hardware.

I think the best way would be to never use the child device pointer for
DMA operations, just use a pointer to the parent device and make the
child dev->dma_mask pointer NULL to ensure all DMA operations fail.

	Arnd

  reply	other threads:[~2014-09-26  7:02 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-23 10:27 [PATCH v6 00/12] ARM: berlin: USB support Antoine Tenart
2014-09-23 10:27 ` Antoine Tenart
2014-09-23 10:27 ` Antoine Tenart
2014-09-23 10:27 ` [PATCH v6 01/12] reset: add the Berlin reset controller driver Antoine Tenart
2014-09-23 10:27   ` Antoine Tenart
2014-09-23 10:27   ` Antoine Tenart
2014-09-23 10:27 ` [PATCH v6 02/12] Documentation: bindings: add reset bindings docs for Marvell Berlin SoCs Antoine Tenart
2014-09-23 10:27   ` Antoine Tenart
2014-09-23 10:27   ` Antoine Tenart
2014-09-23 10:27 ` [PATCH v6 03/12] ARM: Berlin: select the reset controller Antoine Tenart
2014-09-23 10:27   ` Antoine Tenart
2014-09-23 10:27   ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 04/12] ARM: dts: berlin: add a required reset property in the chip controller node Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 05/12] phy: add the Berlin USB PHY driver Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 06/12] Documentation: bindings: add doc for the Berlin USB PHY Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:39   ` Arnd Bergmann
2014-09-23 10:39     ` Arnd Bergmann
2014-09-23 10:39     ` Arnd Bergmann
2014-09-23 13:36     ` Antoine Tenart
2014-09-23 13:36       ` Antoine Tenart
2014-09-23 13:36       ` Antoine Tenart
2014-09-23 16:44       ` Arnd Bergmann
2014-09-23 16:44         ` Arnd Bergmann
2014-09-23 16:55         ` Felipe Balbi
2014-09-23 16:55           ` Felipe Balbi
2014-09-23 16:55           ` Felipe Balbi
2014-09-23 17:37           ` Arnd Bergmann
2014-09-23 17:37             ` Arnd Bergmann
2014-09-23 17:37             ` Arnd Bergmann
2014-09-23 17:43             ` Felipe Balbi
2014-09-23 17:43               ` Felipe Balbi
2014-09-23 17:43               ` Felipe Balbi
2014-09-24  2:27             ` Peter Chen
2014-09-24  2:27               ` Peter Chen
2014-09-24  2:27               ` Peter Chen
2014-09-24  7:44               ` Arnd Bergmann
2014-09-24  7:44                 ` Arnd Bergmann
2014-09-24  7:44                 ` Arnd Bergmann
2014-09-24  8:30                 ` Arnd Bergmann
2014-09-24  8:30                   ` Arnd Bergmann
2014-09-24 11:29                   ` Peter Chen
2014-09-24 11:29                     ` Peter Chen
2014-09-24 11:29                     ` Peter Chen
2014-09-24 12:23                     ` Arnd Bergmann
2014-09-24 12:23                       ` Arnd Bergmann
2014-09-25  0:56                       ` Peter Chen
2014-09-25  0:56                         ` Peter Chen
2014-09-25  0:56                         ` Peter Chen
2014-09-25 14:15                       ` Felipe Balbi
2014-09-25 14:15                         ` Felipe Balbi
2014-09-25 14:15                         ` Felipe Balbi
2014-09-25 23:39                         ` Peter Chen
2014-09-25 23:39                           ` Peter Chen
2014-09-25 23:39                           ` Peter Chen
2014-09-26  0:37                           ` Felipe Balbi
2014-09-26  0:37                             ` Felipe Balbi
2014-09-26  0:37                             ` Felipe Balbi
2014-09-26  0:39                             ` Felipe Balbi
2014-09-26  0:39                               ` Felipe Balbi
2014-09-26  0:39                               ` Felipe Balbi
2014-09-26  7:20                               ` Arnd Bergmann
2014-09-26  7:20                                 ` Arnd Bergmann
2014-09-26 15:43                                 ` Felipe Balbi
2014-09-26 15:43                                   ` Felipe Balbi
2014-09-26 15:43                                   ` Felipe Balbi
2014-09-28  0:40                             ` Peter Chen
2014-09-28  0:40                               ` Peter Chen
2014-09-28  0:40                               ` Peter Chen
2014-10-13  8:47                             ` Peter Chen
2014-10-13  8:47                               ` Peter Chen
2014-10-13  8:47                               ` Peter Chen
2014-09-25 14:09                 ` Felipe Balbi
2014-09-25 14:09                   ` Felipe Balbi
2014-09-25 14:09                   ` Felipe Balbi
2014-09-24 23:58   ` Sören Brinkmann
2014-09-24 23:58     ` Sören Brinkmann
2014-09-24 23:58     ` Sören Brinkmann
2014-09-29 14:57     ` Antoine Tenart
2014-09-29 14:57       ` Antoine Tenart
2014-09-29 14:57       ` Antoine Tenart
2014-09-25  1:16   ` Peter Chen
2014-09-25  1:16     ` Peter Chen
2014-09-25  1:16     ` Peter Chen
2014-09-25  7:11     ` Arnd Bergmann
2014-09-25  7:11       ` Arnd Bergmann
2014-09-25  7:11       ` Arnd Bergmann
2014-09-26  0:23       ` Peter Chen
2014-09-26  0:23         ` Peter Chen
2014-09-26  0:23         ` Peter Chen
2014-09-26  7:01         ` Arnd Bergmann [this message]
2014-09-26  7:01           ` Arnd Bergmann
2014-09-25 19:12   ` Arnd Bergmann
2014-09-25 19:12     ` Arnd Bergmann
2014-09-25 19:54     ` Antoine Tenart
2014-09-25 19:54       ` Antoine Tenart
2014-09-25 19:54       ` Antoine Tenart
2014-09-29 15:08   ` Antoine Tenart
2014-09-29 15:08     ` Antoine Tenart
2014-09-29 15:08     ` Antoine Tenart
2014-10-01 12:39     ` Antoine Tenart
2014-10-01 12:39       ` Antoine Tenart
2014-09-30  0:12   ` Peter Chen
2014-09-30  0:12     ` Peter Chen
2014-09-30  0:12     ` Peter Chen
2014-09-30 10:03     ` Arnd Bergmann
2014-09-30 10:03       ` Arnd Bergmann
2014-09-30 10:03       ` Arnd Bergmann
2014-09-30 12:39       ` Peter Chen
2014-09-30 12:39         ` Peter Chen
2014-09-30 12:39         ` Peter Chen
2014-09-30 13:43         ` Arnd Bergmann
2014-09-30 13:43           ` Arnd Bergmann
2014-09-30 13:43           ` Arnd Bergmann
2014-10-01  6:35           ` Peter Chen
2014-10-01  6:35             ` Peter Chen
2014-10-01  6:35             ` Peter Chen
2014-10-01  8:41             ` Arnd Bergmann
2014-10-01  8:41               ` Arnd Bergmann
2014-10-01  8:41               ` Arnd Bergmann
2014-10-01 12:25               ` Peter Chen
2014-10-01 12:25                 ` Peter Chen
2014-10-01 12:25                 ` Peter Chen
2014-10-01 23:40     ` Peter Chen
2014-10-01 23:40       ` Peter Chen
2014-10-01 23:40       ` Peter Chen
2014-09-23 10:28 ` [PATCH v6 08/12] Documentation: bindings: add doc for the USB2 ChipIdea USB driver Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 09/12] ARM: dts: berlin: add BG2Q nodes for USB support Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 10/12] ARM: dts: Berlin: enable USB on the BG2Q DMP Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 11/12] ARM: dts: berlin: add BG2CD nodes for USB support Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 12/12] ARM: dts: berlin: enable USB on the Google Chromecast Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart
2014-09-23 10:28   ` Antoine Tenart

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=202048167.dt5r3yRThs@wuerfel \
    --to=arnd@arndb.de \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=antoine.tenart@free-electrons.com \
    --cc=balbi@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jszhang@marvell.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=peter.chen@freescale.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=zmxu@marvell.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.