From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Vinod Koul <vinod.koul@intel.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Stephen Warren <swarren@wwwdotorg.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Richard Zhao <rizhao@nvidia.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
Richard Zhao <linuxzsc@gmail.com>
Subject: Re: [PATCH] DMA: let filter functions of of_dma_simple_xlate possible check of_node
Date: Mon, 26 Aug 2013 20:15:17 +0200 [thread overview]
Message-ID: <3565907.5flGSRLgMJ@wuerfel> (raw)
In-Reply-To: <20130826141057.GQ2748@intel.com>
On Monday 26 August 2013 19:40:57 Vinod Koul wrote:
> Why does DT need the fliter function in the first place. The DT enabled drivers
> should not even have a filter function...
>
> The dmaengine core calls the optional filter function. This needs to be
> implemented in driver in order for driver to check if the channel is what it
> needs or not.
You only just merged the dma_get_slave_channel() patch, which allows having
no filter function. Up to Linux-3.11, the filter was always needed but
could be 'static' and only called by the xlate function. Now the xlate
function can pick a channel itself.
> And the selection should be done for the cases where you dont have programmable
> mux in dmac. For programmable ones passing slave_id in dma_slave_config should
> be fine.
I think passing a slave_id from the slave driver is never correct with DT,
since the ID is a property of the system rather than the slave device, so
the driver has no access to it. Drivers have to always take the settings
from DT and ignore what dma_slave_config() sets later.
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] DMA: let filter functions of of_dma_simple_xlate possible check of_node
Date: Mon, 26 Aug 2013 20:15:17 +0200 [thread overview]
Message-ID: <3565907.5flGSRLgMJ@wuerfel> (raw)
In-Reply-To: <20130826141057.GQ2748@intel.com>
On Monday 26 August 2013 19:40:57 Vinod Koul wrote:
> Why does DT need the fliter function in the first place. The DT enabled drivers
> should not even have a filter function...
>
> The dmaengine core calls the optional filter function. This needs to be
> implemented in driver in order for driver to check if the channel is what it
> needs or not.
You only just merged the dma_get_slave_channel() patch, which allows having
no filter function. Up to Linux-3.11, the filter was always needed but
could be 'static' and only called by the xlate function. Now the xlate
function can pick a channel itself.
> And the selection should be done for the cases where you dont have programmable
> mux in dmac. For programmable ones passing slave_id in dma_slave_config should
> be fine.
I think passing a slave_id from the slave driver is never correct with DT,
since the ID is a property of the system rather than the slave device, so
the driver has no access to it. Drivers have to always take the settings
from DT and ignore what dma_slave_config() sets later.
Arnd
next prev parent reply other threads:[~2013-08-26 18:15 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-02 2:00 [PATCH] DMA: let filter functions of of_dma_simple_xlate possible check of_node Richard Zhao
2013-08-02 2:00 ` Richard Zhao
2013-08-02 2:00 ` Richard Zhao
2013-08-02 12:06 ` Santosh Shilimkar
2013-08-02 12:06 ` Santosh Shilimkar
2013-08-02 12:06 ` Santosh Shilimkar
2013-08-02 20:52 ` Stephen Warren
2013-08-02 20:52 ` Stephen Warren
2013-08-22 5:19 ` Richard Zhao
2013-08-22 5:19 ` Richard Zhao
2013-08-22 20:18 ` Stephen Warren
2013-08-22 20:18 ` Stephen Warren
2013-08-23 1:29 ` Richard Zhao
2013-08-23 1:29 ` Richard Zhao
2013-08-23 15:57 ` Stephen Warren
2013-08-23 15:57 ` Stephen Warren
2013-08-26 12:17 ` Laurent Pinchart
2013-08-26 12:17 ` Laurent Pinchart
2013-08-26 12:55 ` Richard Zhao
2013-08-26 12:55 ` Richard Zhao
2013-08-26 13:18 ` Laurent Pinchart
2013-08-26 13:18 ` Laurent Pinchart
2013-08-26 14:10 ` Vinod Koul
2013-08-26 14:10 ` Vinod Koul
2013-08-26 18:15 ` Arnd Bergmann [this message]
2013-08-26 18:15 ` Arnd Bergmann
2013-08-28 5:37 ` Vinod Koul
2013-08-28 5:37 ` Vinod Koul
2013-08-26 14:49 ` Richard Zhao
2013-08-26 14:49 ` Richard Zhao
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=3565907.5flGSRLgMJ@wuerfel \
--to=arnd@arndb.de \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linuxzsc@gmail.com \
--cc=rizhao@nvidia.com \
--cc=swarren@wwwdotorg.org \
--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.