From: viresh.kumar@st.com (viresh kumar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 7/8 resend] dw_dmac.c: Pass Channel Allocation Order from platform_data
Date: Thu, 3 Mar 2011 09:18:49 +0530 [thread overview]
Message-ID: <4D6F0FA1.6060505@st.com> (raw)
In-Reply-To: <1299091074.6974.96.camel@vkoul-udesk3>
On 03/03/2011 12:07 AM, Koul, Vinod wrote:
> On Mon, 2011-02-28 at 16:11 +0530, Viresh Kumar wrote:
>> In SPEAr Platform channels 4-7 have more Fifo depth. So we must get better
>> channel first. This patch introduces concept of channel allocation order in
>> dw_dmac. If user doesn't paas anything or 0, than normal (ascending) channel
> pass?
Oops!!
>> allocation will follow, else channels will be allocated in descending order.
>>
>> Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
>> ---
>> drivers/dma/dw_dmac.c | 6 +++++-
>> include/linux/dw_dmac.h | 3 +++
>> 2 files changed, 8 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
>> index 01f783d..37ffd2c 100644
>> --- a/drivers/dma/dw_dmac.c
>> +++ b/drivers/dma/dw_dmac.c
>> @@ -1314,7 +1314,11 @@ static int __init dw_probe(struct platform_device *pdev)
>> dwc->chan.device = &dw->dma;
>> dwc->chan.cookie = dwc->completed = 1;
>> dwc->chan.chan_id = i;
>> - list_add_tail(&dwc->chan.device_node, &dw->dma.channels);
>> + if (pdata->chan_allocation_order == CHAN_ALLOCATION_ASCENDING)
>> + list_add_tail(&dwc->chan.device_node,
>> + &dw->dma.channels);
>> + else
>> + list_add(&dwc->chan.device_node, &dw->dma.channels);
>>
>> dwc->ch_regs = &__dw_regs(dw)->CHAN[i];
>> spin_lock_init(&dwc->lock);
>> diff --git a/include/linux/dw_dmac.h b/include/linux/dw_dmac.h
>> index c8aad71..057e883 100644
>> --- a/include/linux/dw_dmac.h
>> +++ b/include/linux/dw_dmac.h
>> @@ -19,6 +19,9 @@
>> */
>> struct dw_dma_platform_data {
>> unsigned int nr_channels;
>> +#define CHAN_ALLOCATION_ASCENDING 0 /* zero to seven */
>> +#define CHAN_ALLOCATION_DESCENDING 1 /* seven to zero */
> Can you add these defines outside of this struct?
I did this deliberately. I feel this is probably the better way as it
tells us _clearly_ the place where this macro is going to be used.
So i would insist on keeping it as it is, if you agree??
>> + unsigned int chan_allocation_order;
--
viresh
WARNING: multiple messages have this Message-ID (diff)
From: viresh kumar <viresh.kumar@st.com>
To: "Koul, Vinod" <vinod.koul@intel.com>
Cc: "dan.j.williams@intel.com" <dan.j.williams@intel.com>,
Linus WALLEIJ <linus.walleij@stericsson.com>,
amitgoel <amit.goel@st.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Armando VISCONTI <armando.visconti@st.com>,
Shiraz HASHIM <shiraz.hashim@st.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 7/8 resend] dw_dmac.c: Pass Channel Allocation Order from platform_data
Date: Thu, 3 Mar 2011 09:18:49 +0530 [thread overview]
Message-ID: <4D6F0FA1.6060505@st.com> (raw)
In-Reply-To: <1299091074.6974.96.camel@vkoul-udesk3>
On 03/03/2011 12:07 AM, Koul, Vinod wrote:
> On Mon, 2011-02-28 at 16:11 +0530, Viresh Kumar wrote:
>> In SPEAr Platform channels 4-7 have more Fifo depth. So we must get better
>> channel first. This patch introduces concept of channel allocation order in
>> dw_dmac. If user doesn't paas anything or 0, than normal (ascending) channel
> pass?
Oops!!
>> allocation will follow, else channels will be allocated in descending order.
>>
>> Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
>> ---
>> drivers/dma/dw_dmac.c | 6 +++++-
>> include/linux/dw_dmac.h | 3 +++
>> 2 files changed, 8 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c
>> index 01f783d..37ffd2c 100644
>> --- a/drivers/dma/dw_dmac.c
>> +++ b/drivers/dma/dw_dmac.c
>> @@ -1314,7 +1314,11 @@ static int __init dw_probe(struct platform_device *pdev)
>> dwc->chan.device = &dw->dma;
>> dwc->chan.cookie = dwc->completed = 1;
>> dwc->chan.chan_id = i;
>> - list_add_tail(&dwc->chan.device_node, &dw->dma.channels);
>> + if (pdata->chan_allocation_order == CHAN_ALLOCATION_ASCENDING)
>> + list_add_tail(&dwc->chan.device_node,
>> + &dw->dma.channels);
>> + else
>> + list_add(&dwc->chan.device_node, &dw->dma.channels);
>>
>> dwc->ch_regs = &__dw_regs(dw)->CHAN[i];
>> spin_lock_init(&dwc->lock);
>> diff --git a/include/linux/dw_dmac.h b/include/linux/dw_dmac.h
>> index c8aad71..057e883 100644
>> --- a/include/linux/dw_dmac.h
>> +++ b/include/linux/dw_dmac.h
>> @@ -19,6 +19,9 @@
>> */
>> struct dw_dma_platform_data {
>> unsigned int nr_channels;
>> +#define CHAN_ALLOCATION_ASCENDING 0 /* zero to seven */
>> +#define CHAN_ALLOCATION_DESCENDING 1 /* seven to zero */
> Can you add these defines outside of this struct?
I did this deliberately. I feel this is probably the better way as it
tells us _clearly_ the place where this macro is going to be used.
So i would insist on keeping it as it is, if you agree??
>> + unsigned int chan_allocation_order;
--
viresh
next prev parent reply other threads:[~2011-03-03 3:48 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-28 10:41 [PATCH 0/8 resend] dw_dmac: Extending support & minor fixes Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-02-28 10:41 ` [PATCH 1/8 resend] dw_dmac: Remove compilation dependency from AVR32 Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-03-02 16:46 ` Koul, Vinod
2011-03-02 16:46 ` Koul, Vinod
2011-03-03 3:42 ` viresh kumar
2011-03-03 3:42 ` viresh kumar
2011-03-03 4:19 ` Shiraz Hashim
2011-03-03 4:19 ` Shiraz Hashim
2011-03-05 11:38 ` Russell King - ARM Linux
2011-03-05 11:38 ` Russell King - ARM Linux
2011-03-07 4:15 ` viresh kumar
2011-03-07 4:15 ` viresh kumar
2011-02-28 10:41 ` [PATCH 2/8 resend] dw_dmac: Move single descriptor from dwc->queue to dwc->active_list in dwc_complete_all Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-02-28 10:41 ` [PATCH 3/8 resend] dw_dmac: call dwc_scan_descriptor from dwc_issue_pending only if active list is empty Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-02-28 10:46 ` Jamie Iles
2011-02-28 10:46 ` Jamie Iles
2011-02-28 10:58 ` viresh kumar
2011-02-28 10:58 ` viresh kumar
2011-02-28 10:41 ` [PATCH 4/8 resend] dw_dmac: calling dwc_scan_descriptors from dwc_tx_status() after taking lock Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-03-02 18:13 ` Koul, Vinod
2011-03-02 18:13 ` Koul, Vinod
2011-03-03 3:44 ` viresh kumar
2011-03-03 3:44 ` viresh kumar
2011-02-28 10:41 ` [PATCH 5/8 resend] dw_dmac: adding support for 64 bit access width for memcpy xfers Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-02-28 10:41 ` [PATCH 6/8 resend] dw_dmac: Mark all tx_descriptors with DMA_CRTL_ACK after xfer finish Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-02-28 12:05 ` Sergei Shtylyov
2011-02-28 12:05 ` Sergei Shtylyov
2011-02-28 15:04 ` viresh kumar
2011-02-28 15:04 ` viresh kumar
2011-03-02 18:34 ` Koul, Vinod
2011-03-02 18:34 ` Koul, Vinod
2011-03-03 3:45 ` viresh kumar
2011-03-03 3:45 ` viresh kumar
2011-02-28 10:41 ` [PATCH 7/8 resend] dw_dmac.c: Pass Channel Allocation Order from platform_data Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-03-02 18:37 ` Koul, Vinod
2011-03-02 18:37 ` Koul, Vinod
2011-03-03 3:48 ` viresh kumar [this message]
2011-03-03 3:48 ` viresh kumar
2011-02-28 10:41 ` [PATCH 8/8 resend] dw_dmac.c: Pass Channel Priority " Viresh Kumar
2011-02-28 10:41 ` Viresh Kumar
2011-03-02 18:46 ` Koul, Vinod
2011-03-02 18:46 ` Koul, Vinod
2011-03-03 3:51 ` viresh kumar
2011-03-03 3:51 ` viresh kumar
2011-03-02 16:39 ` [PATCH 0/8 resend] dw_dmac: Extending support & minor fixes Koul, Vinod
2011-03-02 16:39 ` Koul, Vinod
2011-03-03 3:40 ` viresh kumar
2011-03-03 3:40 ` viresh kumar
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=4D6F0FA1.6060505@st.com \
--to=viresh.kumar@st.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 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.