diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch b/target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch new file mode 100644 index 0000000000..831928ca32 --- /dev/null +++ b/target/linux/brcm2708/patches-4.4/0395-dmaengine-bcm2835-move-cyclic-member-from-bcm2835_ch.patch @@ -0,0 +1,53 @@ +From 45a5aa455ea243c3daf0d1bdbfdb83787ae95249 Mon Sep 17 00:00:00 2001 +From: Martin Sperl <kernel@martin.sperl.org> +Date: Wed, 16 Mar 2016 12:24:58 -0700 +Subject: [PATCH] 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> +--- + drivers/dma/bcm2835-dma.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- 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(st + 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 *b + 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) { |