aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/bcm2835-dma.c
diff options
context:
space:
mode:
authorMartin Sperl <kernel@martin.sperl.org>2016-03-16 12:24:58 -0700
committerVinod Koul <vinod.koul@intel.com>2016-04-15 09:57:21 +0530
commita4dcdd849ef8dbd0811ca8436aecf1c87e09686c (patch)
tree67d5e4892d17b6734bdbfcb418c83943d4ad8d0d /drivers/dma/bcm2835-dma.c
parentdmaengine: bcm2835: add additional defines for DMA-registers (diff)
downloadlinux-dev-a4dcdd849ef8dbd0811ca8436aecf1c87e09686c.tar.xz
linux-dev-a4dcdd849ef8dbd0811ca8436aecf1c87e09686c.zip
dmaengine: bcm2835: move cyclic member from bcm2835_chan into bcm2835_desc
In preparation to consolidating code we move the cyclic member into the bcm_2835_desc structure. Signed-off-by: Martin Sperl <kernel@martin.sperl.org> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/bcm2835-dma.c')
-rw-r--r--drivers/dma/bcm2835-dma.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c
index a1d851aa5b18..b3bc382fd199 100644
--- a/drivers/dma/bcm2835-dma.c
+++ b/drivers/dma/bcm2835-dma.c
@@ -73,7 +73,6 @@ struct bcm2835_chan {
struct list_head node;
struct dma_slave_config cfg;
- bool cyclic;
unsigned int dreq;
int ch;
@@ -93,6 +92,8 @@ struct bcm2835_desc {
unsigned int frames;
size_t size;
+
+ bool cyclic;
};
#define BCM2835_DMA_CS 0x00
@@ -377,8 +378,6 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan)
struct bcm2835_chan *c = to_bcm2835_dma_chan(chan);
unsigned long flags;
- c->cyclic = true; /* Nothing else is implemented */
-
spin_lock_irqsave(&c->vc.lock, flags);
if (vchan_issue_pending(&c->vc) && !c->desc)
bcm2835_dma_start_desc(c);
@@ -432,6 +431,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic(
d->c = c;
d->dir = direction;
d->frames = buf_len / period_len;
+ d->cyclic = true;
d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL);
if (!d->cb_list) {