All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Chen <peter.chen@freescale.com>
To: Arnd Bergmann <arnd@arndb.de>
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: Tue, 30 Sep 2014 20:39:34 +0800	[thread overview]
Message-ID: <20140930123933.GA25395@peterchendt> (raw)
In-Reply-To: <3366285.QN2R3CQNzG@wuerfel>

On Tue, Sep 30, 2014 at 12:03:42PM +0200, Arnd Bergmann wrote:
> On Tuesday 30 September 2014 08:12:07 Peter Chen wrote:
> > > +
> > > +     if (dev->of_node) {
> > > +             ret = ci_hdrc_usb2_dt_probe(dev, ci_pdata);
> > > +             if (ret)
> > > +                     goto clk_err;
> > > +     } else {
> > > +             ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
> > > +             if (ret)
> > > +                     goto clk_err;
> > > +     }
> > 
> > My suggestion:
> > 
> > - call dma_coerce_mask_and_coherent(&dev->dev, DMA_BIT_MASK(32)) for both 
> > dt and non-dt
> 
> No, as I explained before, hardcoding the dma mask is always wrong, don't
> do that. Call dma_set_mask_and_coherent and check the return value.
> It's not wrong to do that for both DT and ATAGS.
> 

Thanks, Arnd. I had not thought setting dma mask is so complicated, yes, it
should check the return value, two things to confirm:

- dma_coerce_mask_and_coherent or dma_set_mask_and_coherent, the only difference
of these two API is the first one do "dev->dma_mask = &dev->coherent_dma_mask;"
The reason you suggest choosing dma_set_mask_and_coherent is you do not want
assign dev->dma_mask?
- The second parameter for dma_set_mask_and_coherent is DMA_BIT_MASK(32), is it
ok?

I just a little confused of what's the operation is "hardcoding the dma mask"?

-- 
Best Regards,
Peter Chen

WARNING: multiple messages have this Message-ID (diff)
From: Peter Chen <peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Antoine Tenart
	<antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
	zmxu-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	balbi-l0cyMroinI0@public.gmane.org,
	alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
	p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	jszhang-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org,
	sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: Re: [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx
Date: Tue, 30 Sep 2014 20:39:34 +0800	[thread overview]
Message-ID: <20140930123933.GA25395@peterchendt> (raw)
In-Reply-To: <3366285.QN2R3CQNzG@wuerfel>

On Tue, Sep 30, 2014 at 12:03:42PM +0200, Arnd Bergmann wrote:
> On Tuesday 30 September 2014 08:12:07 Peter Chen wrote:
> > > +
> > > +     if (dev->of_node) {
> > > +             ret = ci_hdrc_usb2_dt_probe(dev, ci_pdata);
> > > +             if (ret)
> > > +                     goto clk_err;
> > > +     } else {
> > > +             ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
> > > +             if (ret)
> > > +                     goto clk_err;
> > > +     }
> > 
> > My suggestion:
> > 
> > - call dma_coerce_mask_and_coherent(&dev->dev, DMA_BIT_MASK(32)) for both 
> > dt and non-dt
> 
> No, as I explained before, hardcoding the dma mask is always wrong, don't
> do that. Call dma_set_mask_and_coherent and check the return value.
> It's not wrong to do that for both DT and ATAGS.
> 

Thanks, Arnd. I had not thought setting dma mask is so complicated, yes, it
should check the return value, two things to confirm:

- dma_coerce_mask_and_coherent or dma_set_mask_and_coherent, the only difference
of these two API is the first one do "dev->dma_mask = &dev->coherent_dma_mask;"
The reason you suggest choosing dma_set_mask_and_coherent is you do not want
assign dev->dma_mask?
- The second parameter for dma_set_mask_and_coherent is DMA_BIT_MASK(32), is it
ok?

I just a little confused of what's the operation is "hardcoding the dma mask"?

-- 
Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: peter.chen@freescale.com (Peter Chen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx
Date: Tue, 30 Sep 2014 20:39:34 +0800	[thread overview]
Message-ID: <20140930123933.GA25395@peterchendt> (raw)
In-Reply-To: <3366285.QN2R3CQNzG@wuerfel>

On Tue, Sep 30, 2014 at 12:03:42PM +0200, Arnd Bergmann wrote:
> On Tuesday 30 September 2014 08:12:07 Peter Chen wrote:
> > > +
> > > +     if (dev->of_node) {
> > > +             ret = ci_hdrc_usb2_dt_probe(dev, ci_pdata);
> > > +             if (ret)
> > > +                     goto clk_err;
> > > +     } else {
> > > +             ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
> > > +             if (ret)
> > > +                     goto clk_err;
> > > +     }
> > 
> > My suggestion:
> > 
> > - call dma_coerce_mask_and_coherent(&dev->dev, DMA_BIT_MASK(32)) for both 
> > dt and non-dt
> 
> No, as I explained before, hardcoding the dma mask is always wrong, don't
> do that. Call dma_set_mask_and_coherent and check the return value.
> It's not wrong to do that for both DT and ATAGS.
> 

Thanks, Arnd. I had not thought setting dma mask is so complicated, yes, it
should check the return value, two things to confirm:

- dma_coerce_mask_and_coherent or dma_set_mask_and_coherent, the only difference
of these two API is the first one do "dev->dma_mask = &dev->coherent_dma_mask;"
The reason you suggest choosing dma_set_mask_and_coherent is you do not want
assign dev->dma_mask?
- The second parameter for dma_set_mask_and_coherent is DMA_BIT_MASK(32), is it
ok?

I just a little confused of what's the operation is "hardcoding the dma mask"?

-- 
Best Regards,
Peter Chen

  reply	other threads:[~2014-09-30 12:39 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
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 [this message]
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=20140930123933.GA25395@peterchendt \
    --to=peter.chen@freescale.com \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=antoine.tenart@free-electrons.com \
    --cc=arnd@arndb.de \
    --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=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.