From: "Måns Rullgård" <mans@mansr.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>,
Viresh Kumar <vireshk@kernel.org>,
Vinod Koul <vinod.koul@intel.com>,
"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"dmaengine\@vger.kernel.org" <dmaengine@vger.kernel.org>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Russell King <linux@arm.linux.org.uk>,
Dan Williams <dan.j.williams@intel.com>,
"devicetree\@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-snps-arc\@lists.infradead.org"
<linux-snps-arc@lists.infradead.org>,
"linux-arm-kernel\@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 07/15] dmaengine: dw: revisit data_width property
Date: Mon, 25 Jan 2016 10:31:30 +0000 [thread overview]
Message-ID: <yw1xfuxmkl19.fsf@unicorn.mansr.com> (raw)
In-Reply-To: <1453711547.2521.209.camel@linux.intel.com> (Andy Shevchenko's message of "Mon, 25 Jan 2016 10:45:47 +0200")
Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes:
> On Mon, 2016-01-25 at 07:32 +0000, Vineet Gupta wrote:
>> On Monday 25 January 2016 12:55 AM, Mans Rullgard wrote:
>> > From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>> >
>> > There are several changes are done here:
>> >
>> > - Convert the property to be in bytes
>> >
>> > Much more convenient than keeping encoded value.
>> >
>> > - Use one value for all AHB masters for now
>> >
>> > It seems in practice we have no controllers where masters have
>> > different
>> > data bus width, we still might return to distinct values when
>> > there is a use
>> > case.
>> >
>> > - Rename data_width to data-width in the device tree bindings.
>> >
>> > - While here, replace dwc_fast_ffs() by __ffs().
>> >
>> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>> > Signed-off-by: Mans Rullgard <mans@mansr.com>
>> > ---
>> > This patch changes the DT binding, so it should probably be amended
>> > for
>> > compatibility with old device trees. I've included it as is since
>> > I think
>> > the change as such is good.
>> > ---
>> > Documentation/devicetree/bindings/dma/snps-dma.txt | 5 ++-
>> > arch/arc/boot/dts/abilis_tb10x.dtsi | 2 +-
>> > arch/arm/boot/dts/spear13xx.dtsi | 4 +--
>> > drivers/dma/dw/core.c | 40 +++-------
>> > ------------
>> > drivers/dma/dw/platform.c | 8 ++---
>> > drivers/dma/dw/regs.h | 2 +-
>> > include/linux/platform_data/dma-dw.h | 5 ++-
>> > 7 files changed, 16 insertions(+), 50 deletions(-)
>> >
>> > diff --git a/Documentation/devicetree/bindings/dma/snps-dma.txt
>> > b/Documentation/devicetree/bindings/dma/snps-dma.txt
>> > index c99c1ffac199..fe7f7710a6b4 100644
>> > --- a/Documentation/devicetree/bindings/dma/snps-dma.txt
>> > +++ b/Documentation/devicetree/bindings/dma/snps-dma.txt
>> > @@ -13,8 +13,7 @@ Required properties:
>> > - chan_priority: priority of channels. 0 (default): increase from
>> > chan 0->n, 1:
>> > increase from chan n->0
>> > - block_size: Maximum block size supported by the controller
>> > -- data_width: Maximum data width supported by hardware per AHB
>> > master
>> > - (0 - 8bits, 1 - 16bits, ..., 5 - 256bits)
>> > +- data-width: Maximum data width supported by hardware (in bytes)
>>
>> To the reader this suggests a value truely byte granular, but code
>> uses ffs
>> implying that it is still power of 2.
>> Can you mention this here (....in bytes, always power of 2).
>
> While this comment is good, I have still note that using non-power of 2
> values will not break anything. Least power of two number will be used
> in that case. So, means I would suggest to replace 'always' by 'better
> to be' or something like that.
Although the code rounds down, the hardware actually works in powers of
two, and it's better to document this.
--
Måns Rullgård
next prev parent reply other threads:[~2016-01-25 10:31 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-24 19:21 [PATCH 00/15] dmaengine: dw: various fixes and cleanups Mans Rullgard
2016-01-24 19:21 ` [PATCH 01/15] dmaengine: dw: fix byte order of hw descriptor fields Mans Rullgard
2016-01-24 19:21 ` [PATCH 02/15] dmaengine: dw: clear LLP_[SD]_EN bits in last descriptor of a chain Mans Rullgard
2016-01-24 19:21 ` [PATCH 03/15] dmaengine: dw: rename masters to reflect actual topology Mans Rullgard
2016-01-24 20:09 ` Hans-Christian Noren Egtvedt
2016-01-24 20:19 ` Måns Rullgård
2016-01-24 20:37 ` Hans-Christian Noren Egtvedt
2016-01-24 20:57 ` Måns Rullgård
2016-01-24 22:36 ` Mark Brown
2016-01-24 22:38 ` Måns Rullgård
2016-01-25 6:03 ` Viresh Kumar
2016-01-25 12:05 ` Vinod Koul
2016-01-25 12:23 ` Mark Brown
2016-01-25 8:35 ` Andy Shevchenko
2016-01-25 12:24 ` Mark Brown
2016-01-25 14:01 ` Andy Shevchenko
2016-01-27 12:47 ` Mark Brown
2016-01-24 19:21 ` [PATCH 04/15] dmaengine: dw: set src and dst master select according to xfer direction Mans Rullgard
2016-01-24 19:21 ` [PATCH 05/15] dmaengine: dw: set LMS field in descriptors Mans Rullgard
2016-01-24 19:21 ` [PATCH 06/15] dmaengine: dw: substitute dma_read_byaddr by dma_readl_native Mans Rullgard
2016-01-24 19:21 ` [PATCH 07/15] dmaengine: dw: revisit data_width property Mans Rullgard
2016-01-25 7:32 ` Vineet Gupta
2016-01-25 8:45 ` Andy Shevchenko
2016-01-25 10:31 ` Måns Rullgård [this message]
2016-01-25 10:36 ` Andy Shevchenko
2016-01-25 8:42 ` Andy Shevchenko
2016-01-26 21:07 ` Rob Herring
2016-01-27 12:26 ` Andy Shevchenko
2016-01-24 19:21 ` [PATCH 08/15] dmaengine: dw: define counter variables as unsigned int Mans Rullgard
2016-01-24 19:21 ` [PATCH 09/15] dmaengine: dw: keep entire platform data in struct dw_dma Mans Rullgard
2016-01-24 19:21 ` [PATCH 10/15] dmaengine: dw: pass platform data via struct dw_dma_chip Mans Rullgard
2016-01-24 19:21 ` [PATCH 11/15] dmaengine: dw: platform: use field-by-field initialization Mans Rullgard
2016-01-25 8:48 ` Andy Shevchenko
2016-01-24 19:21 ` [PATCH 12/15] dmaengine: dw: move dwc->paused to dwc->flags Mans Rullgard
2016-01-24 19:22 ` [PATCH 13/15] dmaengine: dw: move dwc->initialized " Mans Rullgard
2016-01-24 19:22 ` [PATCH 14/15] dmaengine: dw: move residue to a descriptor Mans Rullgard
2016-01-24 19:22 ` [PATCH 15/15] dmaengine: dw: set cdesc to NULL when free cyclic transfers Mans Rullgard
2016-01-25 10:37 ` [PATCH 00/15] dmaengine: dw: various fixes and cleanups Andy Shevchenko
2016-01-25 12:07 ` Vinod Koul
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=yw1xfuxmkl19.fsf@unicorn.mansr.com \
--to=mans@mansr.com \
--cc=Vineet.Gupta1@synopsys.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=dan.j.williams@intel.com \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=vinod.koul@intel.com \
--cc=vireshk@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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®