From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Lior Amsalem <alior@marvell.com>
Cc: Andrew Lunn <andrew@lunn.ch>, Vinod Koul <vinod.koul@intel.com>,
Dan Williams <dan.j.williams@intel.com>,
Gregory Clement <gregory.clement@free-electrons.com>,
Jason Cooper <jason@lakedaemon.net>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
"dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
Thomas Petazzoni <thomas@free-electrons.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH 8/8] ARM: mvebu: a38x: Enable A38x XOR engine features
Date: Wed, 13 May 2015 10:33:28 +0200 [thread overview]
Message-ID: <20150513083328.GU10961@lukather> (raw)
In-Reply-To: <14c9a6d3ba4c46f89880e4c1b4494dbb@IL-EXCH02.marvell.com>
[-- Attachment #1: Type: text/plain, Size: 2798 bytes --]
On Wed, May 13, 2015 at 07:16:34AM +0000, Lior Amsalem wrote:
> > From: Andrew Lunn [mailto:andrew@lunn.ch]
> > Sent: Tuesday, May 12, 2015 7:13 PM
> >
> > On Tue, May 12, 2015 at 05:37:43PM +0200, Maxime Ripard wrote:
> > > From: Lior Amsalem <alior@marvell.com>
> > >
> > > The new XOR engine has a new compatible of its own, together with new
> > > channel capabilities.
> > >
> > > Use that new compatible now that we have a driver that can handle it.
> > >
> > > Signed-off-by: Lior Amsalem <alior@marvell.com>
> > > Reviewed-by: Ofer Heifetz <oferh@marvell.com>
> > > Reviewed-by: Nadav Haklai <nadavh@marvell.com>
> > > Tested-by: Nadav Haklai <nadavh@marvell.com>
> > > ---
> > > arch/arm/boot/dts/armada-38x.dtsi | 20 ++++++--------------
> > > 1 file changed, 6 insertions(+), 14 deletions(-)
> > >
> > > diff --git a/arch/arm/boot/dts/armada-38x.dtsi
> > > b/arch/arm/boot/dts/armada-38x.dtsi
> > > index ed2dd8ba4080..6d07b7389415 100644
> > > --- a/arch/arm/boot/dts/armada-38x.dtsi
> > > +++ b/arch/arm/boot/dts/armada-38x.dtsi
> > > @@ -448,7 +448,7 @@
> > > };
> > >
> > > xor@60800 {
> > > - compatible = "marvell,orion-xor";
> > > + compatible = "marvell,a38x-xor";
> > > reg = <0x60800 0x100
> > > 0x60a00 0x100>;
> > > clocks = <&gateclk 22>;
> > > @@ -458,17 +458,13 @@
> > > interrupts = <GIC_SPI 22
> > IRQ_TYPE_LEVEL_HIGH>;
> > > dmacap,memcpy;
> > > dmacap,xor;
> > > - };
> > > - xor01 {
> > > - interrupts = <GIC_SPI 23
> > IRQ_TYPE_LEVEL_HIGH>;
> > > - dmacap,memcpy;
> > > - dmacap,xor;
> > > - dmacap,memset;
> > > + dmacap,pq;
> > > + dmacap,interrupt;
> >
> > Does this mean the hardware only has one channel?
> > And memset is no longer supported?
> >
>
> The hardware has two channels per engine and two engines.
> However, both on HW side (both channels are on the same "bus port")
> and SW (the dma subsystem will assign one channel per CPU).
> we found it's better (performance wise) to use only one channel on each engine
> and let the framework assign one per CPU.
> This way, descriptors chaining was better (cause of the depended descriptors
> problem) and overall interrupt number reduced.
>
> Yes, since memset is a problematic one. It can only be done via registers
> (and not on descriptors level) plus no one really needs it...
And memset support has been removed from dmaengine since 3.11, so it
doesn't look like anyone really needs it :)
We're talking about reintroducing it for some platforms that actually
need it, but it wasn't really used on marvell anyway...
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 8/8] ARM: mvebu: a38x: Enable A38x XOR engine features
Date: Wed, 13 May 2015 10:33:28 +0200 [thread overview]
Message-ID: <20150513083328.GU10961@lukather> (raw)
In-Reply-To: <14c9a6d3ba4c46f89880e4c1b4494dbb@IL-EXCH02.marvell.com>
On Wed, May 13, 2015 at 07:16:34AM +0000, Lior Amsalem wrote:
> > From: Andrew Lunn [mailto:andrew at lunn.ch]
> > Sent: Tuesday, May 12, 2015 7:13 PM
> >
> > On Tue, May 12, 2015 at 05:37:43PM +0200, Maxime Ripard wrote:
> > > From: Lior Amsalem <alior@marvell.com>
> > >
> > > The new XOR engine has a new compatible of its own, together with new
> > > channel capabilities.
> > >
> > > Use that new compatible now that we have a driver that can handle it.
> > >
> > > Signed-off-by: Lior Amsalem <alior@marvell.com>
> > > Reviewed-by: Ofer Heifetz <oferh@marvell.com>
> > > Reviewed-by: Nadav Haklai <nadavh@marvell.com>
> > > Tested-by: Nadav Haklai <nadavh@marvell.com>
> > > ---
> > > arch/arm/boot/dts/armada-38x.dtsi | 20 ++++++--------------
> > > 1 file changed, 6 insertions(+), 14 deletions(-)
> > >
> > > diff --git a/arch/arm/boot/dts/armada-38x.dtsi
> > > b/arch/arm/boot/dts/armada-38x.dtsi
> > > index ed2dd8ba4080..6d07b7389415 100644
> > > --- a/arch/arm/boot/dts/armada-38x.dtsi
> > > +++ b/arch/arm/boot/dts/armada-38x.dtsi
> > > @@ -448,7 +448,7 @@
> > > };
> > >
> > > xor at 60800 {
> > > - compatible = "marvell,orion-xor";
> > > + compatible = "marvell,a38x-xor";
> > > reg = <0x60800 0x100
> > > 0x60a00 0x100>;
> > > clocks = <&gateclk 22>;
> > > @@ -458,17 +458,13 @@
> > > interrupts = <GIC_SPI 22
> > IRQ_TYPE_LEVEL_HIGH>;
> > > dmacap,memcpy;
> > > dmacap,xor;
> > > - };
> > > - xor01 {
> > > - interrupts = <GIC_SPI 23
> > IRQ_TYPE_LEVEL_HIGH>;
> > > - dmacap,memcpy;
> > > - dmacap,xor;
> > > - dmacap,memset;
> > > + dmacap,pq;
> > > + dmacap,interrupt;
> >
> > Does this mean the hardware only has one channel?
> > And memset is no longer supported?
> >
>
> The hardware has two channels per engine and two engines.
> However, both on HW side (both channels are on the same "bus port")
> and SW (the dma subsystem will assign one channel per CPU).
> we found it's better (performance wise) to use only one channel on each engine
> and let the framework assign one per CPU.
> This way, descriptors chaining was better (cause of the depended descriptors
> problem) and overall interrupt number reduced.
>
> Yes, since memset is a problematic one. It can only be done via registers
> (and not on descriptors level) plus no one really needs it...
And memset support has been removed from dmaengine since 3.11, so it
doesn't look like anyone really needs it :)
We're talking about reintroducing it for some platforms that actually
need it, but it wasn't really used on marvell anyway...
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150513/d4fddb50/attachment-0001.sig>
next prev parent reply other threads:[~2015-05-13 8:33 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-12 15:37 [PATCH 0/8] ARM: mvebu: Add support for RAID6 PQ offloading Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:37 ` [PATCH 1/8] dmaengine: mv_xor: Rename function for consistent naming Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:37 ` [PATCH 2/8] dmaengine: mv_xor: add support for a38x command in descriptor mode Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:49 ` Arnd Bergmann
2015-05-12 15:49 ` Arnd Bergmann
2015-05-12 15:54 ` Thomas Petazzoni
2015-05-12 15:54 ` Thomas Petazzoni
2015-05-12 16:03 ` Arnd Bergmann
2015-05-12 16:03 ` Arnd Bergmann
2015-05-13 8:15 ` Maxime Ripard
2015-05-13 8:15 ` Maxime Ripard
2015-05-13 8:46 ` Arnd Bergmann
2015-05-13 8:46 ` Arnd Bergmann
2015-05-12 15:49 ` Thomas Petazzoni
2015-05-12 15:49 ` Thomas Petazzoni
2015-05-12 15:58 ` Andrew Lunn
2015-05-12 15:58 ` Andrew Lunn
2015-05-12 16:05 ` Thomas Petazzoni
2015-05-12 16:05 ` Thomas Petazzoni
2015-05-13 8:23 ` Maxime Ripard
2015-05-13 8:23 ` Maxime Ripard
2015-05-12 15:37 ` [PATCH 3/8] dmaengine: mv_xor: Enlarge descriptor pool size Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:37 ` [PATCH 4/8] dmaengine: mv_xor: improve descriptors list handling and reduce locking Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:37 ` [PATCH 5/8] dmaengine: mv_xor: bug fix for racing condition in descriptors cleanup Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:51 ` Thomas Petazzoni
2015-05-12 15:51 ` Thomas Petazzoni
2015-05-12 15:37 ` [PATCH 6/8] async_tx: adding mult and sum_product flags Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 16:05 ` Andrew Lunn
2015-05-12 16:05 ` Andrew Lunn
2015-05-13 8:45 ` Maxime Ripard
2015-05-13 8:45 ` Maxime Ripard
2015-05-12 15:37 ` [PATCH 7/8] dmaengine: mv_xor: add support for a38x RAID6 support Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 15:37 ` [PATCH 8/8] ARM: mvebu: a38x: Enable A38x XOR engine features Maxime Ripard
2015-05-12 15:37 ` Maxime Ripard
2015-05-12 16:13 ` Andrew Lunn
2015-05-12 16:13 ` Andrew Lunn
2015-05-13 7:16 ` Lior Amsalem
2015-05-13 7:16 ` Lior Amsalem
2015-05-13 8:33 ` Maxime Ripard [this message]
2015-05-13 8:33 ` Maxime Ripard
2015-05-12 16:05 ` [PATCH 0/8] ARM: mvebu: Add support for RAID6 PQ offloading Dan Williams
2015-05-12 16:05 ` Dan Williams
2015-05-13 9:17 ` Maxime Ripard
2015-05-13 9:17 ` Maxime Ripard
2015-05-13 16:00 ` Dan Williams
2015-05-13 16:00 ` Dan Williams
2015-05-18 9:14 ` Maxime Ripard
2015-05-18 9:14 ` Maxime Ripard
2015-05-18 17:06 ` Dan Williams
2015-05-18 17:06 ` Dan Williams
2015-05-26 9:45 ` Maxime Ripard
2015-05-26 9:45 ` Maxime Ripard
2015-05-26 9:45 ` Maxime Ripard
2015-05-26 16:31 ` Dan Williams
2015-05-26 16:31 ` Dan Williams
2015-05-27 11:52 ` Boaz Harrosh
2015-05-27 11:52 ` Boaz Harrosh
2015-06-02 14:41 ` Maxime Ripard
2015-06-02 14:41 ` Maxime Ripard
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=20150513083328.GU10961@lukather \
--to=maxime.ripard@free-electrons.com \
--cc=alior@marvell.com \
--cc=andrew@lunn.ch \
--cc=dan.j.williams@intel.com \
--cc=davem@davemloft.net \
--cc=dmaengine@vger.kernel.org \
--cc=gregory.clement@free-electrons.com \
--cc=herbert@gondor.apana.org.au \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sebastian.hesselbarth@gmail.com \
--cc=thomas@free-electrons.com \
--cc=vinod.koul@intel.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.