summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/psp/0012-usb-musb-cppi41-use-dsb-to-make-sure-PDs-are-updated.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/psp/0012-usb-musb-cppi41-use-dsb-to-make-sure-PDs-are-updated.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/psp/0012-usb-musb-cppi41-use-dsb-to-make-sure-PDs-are-updated.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/psp/0012-usb-musb-cppi41-use-dsb-to-make-sure-PDs-are-updated.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/psp/0012-usb-musb-cppi41-use-dsb-to-make-sure-PDs-are-updated.patch
new file mode 100644
index 00000000..0edb2557
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/psp/0012-usb-musb-cppi41-use-dsb-to-make-sure-PDs-are-updated.patch
@@ -0,0 +1,43 @@
1From 946a82d6042097a0b3c5e072df75da9ffcbbc44c Mon Sep 17 00:00:00 2001
2From: Ajay Kumar Gupta <ajay.gupta@ti.com>
3Date: Thu, 24 May 2012 15:45:45 +0530
4Subject: [PATCH 12/18] usb: musb: cppi41: use dsb() to make sure PDs are
5 updated to memory
6
7Before pushing the tx/rx cppi packet descriptors to respective input queues
8of TX/RX DMA channels, use memory barrier dsb() to make sure the descriptors
9contents are written to memory
10
11Signed-off-by: Ravi B <ravibabu@ti.com>
12---
13 drivers/usb/musb/cppi41_dma.c | 7 +++++++
14 1 files changed, 7 insertions(+), 0 deletions(-)
15
16diff --git a/drivers/usb/musb/cppi41_dma.c b/drivers/usb/musb/cppi41_dma.c
17index 3665d0f..bf74cf3 100644
18--- a/drivers/usb/musb/cppi41_dma.c
19+++ b/drivers/usb/musb/cppi41_dma.c
20@@ -653,6 +653,9 @@ static unsigned cppi41_next_tx_segment(struct cppi41_channel *tx_ch)
21 dev_dbg(musb->controller, "TX PD %p: buf %08x, len %08x, pkt info %08x\n", curr_pd,
22 hw_desc->buf_ptr, hw_desc->buf_len, hw_desc->pkt_info);
23
24+ /* make sure descriptor details are updated to memory*/
25+ dsb();
26+
27 /* enable tx fifo empty interrupt */
28 if (tx_ch->txfifo_intr_enable) {
29 dev_dbg(musb->controller, "txs(%p %d) enable txFintr\n",
30@@ -869,6 +872,10 @@ static unsigned cppi41_next_rx_segment(struct cppi41_channel *rx_ch)
31
32 if (en_bd_intr)
33 hw_desc->orig_buf_len |= CPPI41_PKT_INTR_FLAG;
34+
35+ /* make sure descriptor details are updated to memory*/
36+ dsb();
37+
38 /*
39 * Push the free Rx packet descriptor
40 * to the free descriptor/buffer queue.
41--
421.7.7.6
43