From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: <vinod.koul@intel.com>, <nsekhar@ti.com>
Cc: <linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <linux-omap@vger.kernel.org>,
<dmaengine@vger.kernel.org>, <devicetree@vger.kernel.org>,
<tony@atomide.com>, <r.schwebel@pengutronix.de>
Subject: [PATCH v2 05/14] dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq
Date: Fri, 16 Oct 2015 10:18:03 +0300 [thread overview]
Message-ID: <1444979892-31626-6-git-send-email-peter.ujfalusi@ti.com> (raw)
In-Reply-To: <1444979892-31626-1-git-send-email-peter.ujfalusi@ti.com>
edma_assign_channel_eventq() is a wrapper around edma_map_dmach_to_queue()
We can merge the content of the later so we will have only one function
to be used for mapping channels to given eventq
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
drivers/dma/edma.c | 56 +++++++++++++++++++++---------------------------------
1 file changed, 22 insertions(+), 34 deletions(-)
diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
index 051a7c4593d4..eaf1f9e4bde0 100644
--- a/drivers/dma/edma.c
+++ b/drivers/dma/edma.c
@@ -391,22 +391,6 @@ static inline void clear_bits(int offset, int len, unsigned long *p)
clear_bit(offset + (len - 1), p);
}
-static void edma_map_dmach_to_queue(struct edma_chan *echan,
- enum dma_event_q queue_no)
-{
- struct edma_cc *ecc = echan->ecc;
- int channel = EDMA_CHAN_SLOT(echan->ch_num);
- int bit = (channel & 0x7) * 4;
-
- /* default to low priority queue */
- if (queue_no == EVENTQ_DEFAULT)
- queue_no = ecc->default_queue;
-
- queue_no &= 7;
- edma_modify_array(ecc, EDMA_DMAQNUM, (channel >> 3), ~(0x7 << bit),
- queue_no << bit);
-}
-
static void edma_assign_priority_to_queue(struct edma_cc *ecc, int queue_no,
int priority)
{
@@ -723,6 +707,25 @@ static void edma_clean_channel(struct edma_chan *echan)
edma_write(ecc, EDMA_CCERRCLR, BIT(16) | BIT(1) | BIT(0));
}
+/* Move channel to a specific event queue */
+static void edma_assign_channel_eventq(struct edma_chan *echan,
+ enum dma_event_q eventq_no)
+{
+ struct edma_cc *ecc = echan->ecc;
+ int channel = EDMA_CHAN_SLOT(echan->ch_num);
+ int bit = (channel & 0x7) * 4;
+
+ /* default to low priority queue */
+ if (eventq_no == EVENTQ_DEFAULT)
+ eventq_no = ecc->default_queue;
+ if (eventq_no >= ecc->num_tc)
+ return;
+
+ eventq_no &= 7;
+ edma_modify_array(ecc, EDMA_DMAQNUM, (channel >> 3), ~(0x7 << bit),
+ eventq_no << bit);
+}
+
static int edma_alloc_channel(struct edma_chan *echan,
enum dma_event_q eventq_no)
{
@@ -751,7 +754,7 @@ static int edma_alloc_channel(struct edma_chan *echan,
edma_setup_interrupt(echan, true);
- edma_map_dmach_to_queue(echan, eventq_no);
+ edma_assign_channel_eventq(echan, eventq_no);
return 0;
}
@@ -764,21 +767,6 @@ static void edma_free_channel(struct edma_chan *echan)
edma_setup_interrupt(echan, false);
}
-/* Move channel to a specific event queue */
-static void edma_assign_channel_eventq(struct edma_chan *echan,
- enum dma_event_q eventq_no)
-{
- struct edma_cc *ecc = echan->ecc;
-
- /* default to low priority queue */
- if (eventq_no == EVENTQ_DEFAULT)
- eventq_no = ecc->default_queue;
- if (eventq_no >= ecc->num_tc)
- return;
-
- edma_map_dmach_to_queue(echan, eventq_no);
-}
-
static inline struct edma_cc *to_edma_cc(struct dma_device *d)
{
return container_of(d, struct edma_cc, dma_slave);
@@ -2154,8 +2142,8 @@ static int edma_probe(struct platform_device *pdev)
for (i = 0; i < ecc->num_channels; i++) {
/* Assign all channels to the default queue */
- edma_map_dmach_to_queue(&ecc->slave_chans[i],
- info->default_queue);
+ edma_assign_channel_eventq(&ecc->slave_chans[i],
+ info->default_queue);
/* Set entry slot to the dummy slot */
edma_set_chmap(&ecc->slave_chans[i], ecc->dummy_slot);
}
--
2.6.1
next prev parent reply other threads:[~2015-10-16 7:24 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-16 7:17 [PATCH v2 00/14] dmaenigne: edma/ti-crossbar: fixes, new bindings Peter Ujfalusi
2015-10-16 7:17 ` [PATCH v2 01/14] dmaengine: edma: Remove alignment constraint for memcpy Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 02/14] dmaengine: edma: Optimize memcpy operation Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 03/14] dmaengine: edma: Simplify function parameter list for channel operations Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 04/14] dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_) Peter Ujfalusi
2015-10-16 7:18 ` Peter Ujfalusi [this message]
2015-10-16 7:18 ` [PATCH v2 06/14] dmaengine: edma: Get qDMA channel information from HW also Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 07/14] dmaengine: edma: Refactor the dma device and channel struct initialization Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 08/14] dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 09/14] dmaengine: edma: Merge the of parsing functions Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 10/14] dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 11/14] dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 12/14] dmaengine: edma: New device tree binding Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 13/14] ARM: DTS: am33xx: Use the new DT bindings for the eDMA3 Peter Ujfalusi
2015-11-02 9:21 ` Olof Johansson
2015-11-02 10:04 ` Vinod Koul
2015-11-02 12:13 ` Peter Ujfalusi
2015-11-02 15:40 ` Vinod Koul
2015-11-02 15:46 ` Peter Ujfalusi
2015-11-04 8:37 ` Vinod Koul
2015-11-04 8:49 ` Peter Ujfalusi
2015-11-02 10:19 ` Peter Ujfalusi
2015-12-04 0:54 ` Tony Lindgren
2015-12-04 8:32 ` Peter Ujfalusi
2015-10-16 7:18 ` [PATCH v2 14/14] ARM: DTS: am437x: " Peter Ujfalusi
2015-10-27 1:24 ` [PATCH v2 00/14] dmaenigne: edma/ti-crossbar: fixes, new bindings 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=1444979892-31626-6-git-send-email-peter.ujfalusi@ti.com \
--to=peter.ujfalusi@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=nsekhar@ti.com \
--cc=r.schwebel@pengutronix.de \
--cc=tony@atomide.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 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®