]> code.ossystems Code Review - openembedded-core.git/blob
08e08a85388dbe53b5d926d612d865291799451f
[openembedded-core.git] /
1 From 7766f2ea909b73f56d21746485069e02839b75f1 Mon Sep 17 00:00:00 2001
2 From: Sergei Shtylyov <sshtylyov-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
3 Date: Fri, 27 Mar 2009 12:53:32 -0700
4 Subject: [PATCH] musb_gadget: suppress "parasitic" TX interrupts with CPPI
5
6 Suppress "parasitic" endpoint interrupts in the DMA mode
7 when using CPPI DMA driver; they're caused by the MUSB gadget
8 driver using the DMA request mode 0 instead of the mode 1.
9
10 Signed-off-by: Sergei Shtylyov <sshtylyov-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
11 Signed-off-by: David Brownell <dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
12 ---
13  drivers/usb/musb/musb_gadget.c |    3 ++-
14  1 files changed, 2 insertions(+), 1 deletions(-)
15
16 diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
17 index f79440c..bc197b2 100644
18 --- a/drivers/usb/musb/musb_gadget.c
19 +++ b/drivers/usb/musb/musb_gadget.c
20 @@ -349,7 +349,8 @@ static void txstate(struct musb *musb, struct musb_request *req)
21  #elif defined(CONFIG_USB_TI_CPPI_DMA)
22                 /* program endpoint CSR first, then setup DMA */
23                 csr &= ~(MUSB_TXCSR_P_UNDERRUN | MUSB_TXCSR_TXPKTRDY);
24 -               csr |= MUSB_TXCSR_MODE | MUSB_TXCSR_DMAENAB;
25 +               csr |= MUSB_TXCSR_DMAENAB | MUSB_TXCSR_DMAMODE |
26 +                      MUSB_TXCSR_MODE;
27                 musb_writew(epio, MUSB_TXCSR,
28                         (MUSB_TXCSR_P_WZC_BITS & ~MUSB_TXCSR_P_UNDERRUN)
29                                 | csr);
30 -- 
31 1.6.0.4
32