From: vinod.koul@intel.com (Vinod Koul)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv4 3/6] dmaengine: mv_xor: remove support for dmacap,* DT properties
Date: Wed, 22 Jul 2015 10:46:53 +0530 [thread overview]
Message-ID: <20150722051653.GR23525@localhost> (raw)
In-Reply-To: <1436365699-6862-4-git-send-email-thomas.petazzoni@free-electrons.com>
On Wed, Jul 08, 2015 at 04:28:16PM +0200, Thomas Petazzoni wrote:
> The only reason why we had dmacap,* properties is because back when
> DMA_MEMSET was supported, only one out of the two channels per engine
> could do a memset operation. But this is something that the driver
> already knows anyway, and since then, the DMA_MEMSET support has been
> removed.
>
> The driver is already well aware of what each channel supports and the
> one to one mapping between Linux specific implementation details (such
> as dmacap,interrupt enabling DMA_INTERRUPT) and DT properties is a
> good indication that these DT properties are wrong.
>
> Therefore, this commit simply gets rid of these dmacap,* properties,
> they are now ignored, and the driver is responsible for knowing the
> capabilities of the hardware with regard to the dmaengine subsystem
> expectations.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
> Documentation/devicetree/bindings/dma/mv-xor.txt | 10 ++++------
> drivers/dma/mv_xor.c | 9 +++------
> 2 files changed, 7 insertions(+), 12 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/dma/mv-xor.txt b/Documentation/devicetree/bindings/dma/mv-xor.txt
> index cc29c35..276ef81 100644
> --- a/Documentation/devicetree/bindings/dma/mv-xor.txt
> +++ b/Documentation/devicetree/bindings/dma/mv-xor.txt
> @@ -12,10 +12,13 @@ XOR engine has. Those sub-nodes have the following required
> properties:
> - interrupts: interrupt of the XOR channel
>
> -And the following optional properties:
> +The sub-nodes used to contain one or several of the following
> +properties, but they are now deprecated:
> - dmacap,memcpy to indicate that the XOR channel is capable of memcpy operations
> - dmacap,memset to indicate that the XOR channel is capable of memset operations
> - dmacap,xor to indicate that the XOR channel is capable of xor operations
> +- dmacap,interrupt to indicate that the XOR channel is capable of
> + generating interrupts
>
> Example:
>
> @@ -28,13 +31,8 @@ xor at d0060900 {
>
> xor00 {
> interrupts = <51>;
> - dmacap,memcpy;
> - dmacap,xor;
> };
> xor01 {
> interrupts = <52>;
> - dmacap,memcpy;
> - dmacap,xor;
> - dmacap,memset;
I maybe wrong but there was an assumption that DT properties, even if bad
are always there as they need to be treated as kernel ABI.
How will it work if someone has older DT implementation or older driver?
Arnd, what are the rules here and are they documented anywhere?
--
~Vinod
> };
> };
> diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c
> index 0a3ddc2..6aedc36 100644
> --- a/drivers/dma/mv_xor.c
> +++ b/drivers/dma/mv_xor.c
> @@ -1236,12 +1236,9 @@ static int mv_xor_probe(struct platform_device *pdev)
> op_in_desc = (int)of_id->data;
>
> dma_cap_zero(cap_mask);
> - if (of_property_read_bool(np, "dmacap,memcpy"))
> - dma_cap_set(DMA_MEMCPY, cap_mask);
> - if (of_property_read_bool(np, "dmacap,xor"))
> - dma_cap_set(DMA_XOR, cap_mask);
> - if (of_property_read_bool(np, "dmacap,interrupt"))
> - dma_cap_set(DMA_INTERRUPT, cap_mask);
> + dma_cap_set(DMA_MEMCPY, cap_mask);
> + dma_cap_set(DMA_XOR, cap_mask);
> + dma_cap_set(DMA_INTERRUPT, cap_mask);
>
> irq = irq_of_parse_and_map(np, 0);
> if (!irq) {
> --
> 2.4.5
>
--
next prev parent reply other threads:[~2015-07-22 5:16 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-08 14:28 [PATCHv4 0/6] dmaengine: mv_xor fixes and improvements Thomas Petazzoni
2015-07-08 14:28 ` [PATCHv4 1/6] dmaengine: mv_xor: fix big endian operation in register mode Thomas Petazzoni
2015-07-22 5:22 ` Vinod Koul
2015-07-08 14:28 ` [PATCHv4 2/6] dmaengine: mv_xor: add suspend/resume support Thomas Petazzoni
2015-07-22 5:10 ` Vinod Koul
2015-07-29 9:34 ` Thomas Petazzoni
2015-08-19 16:53 ` Vinod Koul
2015-07-08 14:28 ` [PATCHv4 3/6] dmaengine: mv_xor: remove support for dmacap, * DT properties Thomas Petazzoni
2015-07-22 5:16 ` Vinod Koul [this message]
2015-07-22 5:18 ` [PATCHv4 3/6] dmaengine: mv_xor: remove support for dmacap,* " Vinod Koul
2015-07-27 10:44 ` Thomas Petazzoni
2015-08-19 17:00 ` Vinod Koul
2015-08-19 17:02 ` Vinod Koul
2015-07-08 14:28 ` [PATCHv4 4/6] dmaengine: mv_xor: remove mv_xor_chan->current_type field Thomas Petazzoni
2015-08-19 17:04 ` Vinod Koul
2015-07-08 14:28 ` [PATCHv4 5/6] dmaengine: mv_xor: de-duplicate mv_chan_set_mode*() Thomas Petazzoni
2015-08-19 17:05 ` Vinod Koul
2015-07-08 14:28 ` [PATCHv4 6/6] dmaengine: mv_xor: optimize performance by using a subset of the XOR channels Thomas Petazzoni
2015-08-19 17:05 ` Vinod Koul
2015-07-08 15:37 ` [PATCHv4 0/6] dmaengine: mv_xor fixes and improvements Andrew Lunn
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=20150722051653.GR23525@localhost \
--to=vinod.koul@intel.com \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).