]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/usb/renesas_usbhs/fifo.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph...
[karo-tx-linux.git] / drivers / usb / renesas_usbhs / fifo.h
index a168a1760fce87ca6e8747491a609e9ed2445b6f..f07037c1185fd91683da6f8d83b7928324e50881 100644 (file)
@@ -38,11 +38,16 @@ struct usbhs_fifo {
        struct sh_dmae_slave    rx_slave;
 };
 
+#define USBHS_MAX_NUM_DFIFO    4
 struct usbhs_fifo_info {
        struct usbhs_fifo cfifo;
-       struct usbhs_fifo d0fifo;
-       struct usbhs_fifo d1fifo;
+       struct usbhs_fifo dfifo[USBHS_MAX_NUM_DFIFO];
 };
+#define usbhsf_get_dnfifo(p, n)        (&((p)->fifo_info.dfifo[n]))
+#define usbhs_for_each_dfifo(priv, dfifo, i)                           \
+       for ((i) = 0, dfifo = usbhsf_get_dnfifo(priv, (i));             \
+            ((i) < USBHS_MAX_NUM_DFIFO);                               \
+            (i)++, dfifo = usbhsf_get_dnfifo(priv, (i)))
 
 struct usbhs_pkt_handle;
 struct usbhs_pkt {
@@ -74,6 +79,7 @@ int usbhs_fifo_probe(struct usbhs_priv *priv);
 void usbhs_fifo_remove(struct usbhs_priv *priv);
 void usbhs_fifo_init(struct usbhs_priv *priv);
 void usbhs_fifo_quit(struct usbhs_priv *priv);
+void usbhs_fifo_clear_dcp(struct usbhs_pipe *pipe);
 
 /*
  * packet info