Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1638662

[PATCH v2 02/10] usb: musb: Add quirk to avoid skb reserve in gadget mode

From Peter Ujfalusi <peter.ujfalusi@ti.com>
Newsgroups linux.kernel
Subject [PATCH v2 02/10] usb: musb: Add quirk to avoid skb reserve in gadget mode
Date 2017-05-10 10:50 +0200
Message-ID <tFvtM-6TH-25@gated-at.bofh.it> (permalink)
References <tFvtL-6TH-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


For tusb6010 the DMA functionality only possible if the buffer is 32bit
aligned (SYNC access to FIFO) since with ASYNC access the TX/RX offset
registers will corrupt eventually.
The MUSB_G_NO_SKB_RESERVE will set the quirk_avoids_skb_reserve flag in
usb_gadget struct to provide correctly aligned buffer.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/usb/musb/musb_core.c | 3 +++
 drivers/usb/musb/musb_core.h | 1 +
 2 files changed, 4 insertions(+)

diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 870da18f5077..87cbd56cc761 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2224,6 +2224,9 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
 		musb->io.ep_select = musb_flat_ep_select;
 	}
 
+	if (musb->io.quirks & MUSB_G_NO_SKB_RESERVE)
+		musb->g.quirk_avoids_skb_reserve = 1;
+
 	/* At least tusb6010 has its own offsets */
 	if (musb->ops->ep_offset)
 		musb->io.ep_offset = musb->ops->ep_offset;
diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index 3e98d4268a64..9f22c5b8ce37 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -172,6 +172,7 @@ struct musb_io;
  */
 struct musb_platform_ops {
 
+#define MUSB_G_NO_SKB_RESERVE	BIT(9)
 #define MUSB_DA8XX		BIT(8)
 #define MUSB_PRESERVE_SESSION	BIT(7)
 #define MUSB_DMA_UX500		BIT(6)
-- 
2.12.2

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 00/10] usb: musb: tusb6010_omap: Convert to DMAengine Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 10:50 +0200
  [PATCH v2 02/10] usb: musb: Add quirk to avoid skb reserve in gadget mode Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 10:50 +0200
  [PATCH v2 06/10] usb: musb: tusb6010_omap: Create new struct for DMA data/parameters Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 10:50 +0200
  [PATCH v2 07/10] usb: musb: tusb6010_omap: Allocate DMA channels upfront Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 10:50 +0200
  [PATCH v2 04/10] usb: musb: tusb6010_omap: Use one musb_ep_select call in tusb_omap_dma_program Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 10:50 +0200
  [PATCH v2 08/10] usb: musb: tusb6010: Handle DMA TX completion in DMA callback as well Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 10:50 +0200
  [PATCH v2 09/10] ARM: OMAP2+: DMA: Add slave map entries for 24xx external request lines Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 10:50 +0200
    Re: [PATCH v2 09/10] ARM: OMAP2+: DMA: Add slave map entries for  24xx external request lines Tony Lindgren <tony@atomide.com> - 2017-05-10 18:40 +0200
  [PATCH v2 03/10] usb: musb: tusb6010: Add MUSB_G_NO_SKB_RESERVE to quirks Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 10:50 +0200
  [PATCH v2 10/10] usb: musb: tusb6010_omap: Convert to DMAengine API Peter Ujfalusi <peter.ujfalusi@ti.com> - 2017-05-10 11:00 +0200
  Re: [PATCH v2 00/10] usb: musb: tusb6010_omap: Convert to DMAengine Tony Lindgren <tony@atomide.com> - 2017-05-10 18:40 +0200

csiph-web