Patch [1/2] DaVinci CPPI TX DMA tasklet

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



    Signed-off-by: Swaminathan S <swami.iyer@xxxxxx>
    
    This patch adds tasklet structures to musb to enable
    polling for FIFO empty status on the Mentor TX FIFO.
    This is requried to enable proper functioning of
    DaVinci CPPI TX DMA when performing Tx transfers.

diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index 2096469..804caaf 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -273,6 +273,9 @@ struct musb_hw_ep {
 
 	u8			rx_reinit;
 	u8			tx_reinit;
+#ifdef CONFIG_ARCH_DAVINCI
+	u8			fifo_flush_check;	/* Check FIFO empty */
+#endif
 #endif
 
 #ifdef CONFIG_USB_GADGET_MUSB_HDRC
@@ -331,6 +334,9 @@ struct musb {
 	struct list_head	in_bulk;	/* of musb_qh */
 	struct list_head	out_bulk;	/* of musb_qh */
 	struct musb_qh		*periodic[32];	/* tree of interrupt+iso */
+#ifdef CONFIG_ARCH_DAVINCI
+	struct tasklet_struct	fifo_check;	/* FIFO empty check tasklet */
+#endif
 #endif
 
 	/* called with IRQs blocked; ON/nonzero implies starting a session,
diff --git a/drivers/usb/musb/musb_host.h b/drivers/usb/musb/musb_host.h
index 77bcdb9..29e1863 100644
--- a/drivers/usb/musb/musb_host.h
+++ b/drivers/usb/musb/musb_host.h
@@ -69,6 +69,7 @@ struct musb_qh {
 	u16			maxpacket;
 	u16			frame;		/* for periodic schedule */
 	unsigned		iso_idx;	/* in urb->iso_frame_desc[] */
+	u8			num_req;	/* Number of active requests */
 };
 
 /* map from control or bulk queue head to the first qh on that ring */
@@ -89,6 +90,10 @@ extern int musb_hub_control(struct usb_hcd *hcd,
 			u16 typeReq, u16 wValue, u16 wIndex,
 			char *buf, u16 wLength);
 
+#ifdef CONFIG_ARCH_DAVINCI
+extern void musb_fifo_check_tasklet(unsigned long data);
+#endif
+
 extern const struct hc_driver musb_hc_driver;
 
 static inline struct urb *next_urb(struct musb_qh *qh)
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux