} while (!reg);
 }
 
-/* write data to fifo */
-static void fusb300_wrfifo(struct fusb300_ep *ep,
-                          struct fusb300_request *req)
-{
-       int i = 0;
-       u8 *tmp;
-       u32 data, reg;
-       struct fusb300 *fusb300 = ep->fusb300;
-
-       tmp = req->req.buf;
-       req->req.actual = req->req.length;
-
-       for (i = (req->req.length >> 2); i > 0; i--) {
-               data = *tmp | *(tmp + 1) << 8 |
-                       *(tmp + 2) << 16 | *(tmp + 3) << 24;
-
-               iowrite32(data, fusb300->reg +
-                       FUSB300_OFFSET_EPPORT(ep->epnum));
-               tmp += 4;
-       }
-
-       switch (req->req.length % 4) {
-       case 1:
-               data = *tmp;
-               iowrite32(data, fusb300->reg +
-                       FUSB300_OFFSET_EPPORT(ep->epnum));
-               break;
-       case 2:
-               data = *tmp | *(tmp + 1) << 8;
-               iowrite32(data, fusb300->reg +
-                       FUSB300_OFFSET_EPPORT(ep->epnum));
-               break;
-       case 3:
-               data = *tmp | *(tmp + 1) << 8 | *(tmp + 2) << 16;
-               iowrite32(data, fusb300->reg +
-                       FUSB300_OFFSET_EPPORT(ep->epnum));
-               break;
-       default:
-               break;
-       }
-
-       do {
-               reg = ioread32(fusb300->reg + FUSB300_OFFSET_IGR1);
-               reg &= FUSB300_IGR1_SYNF0_EMPTY_INT;
-               if (i)
-                       printk(KERN_INFO"sync fifo is not empty!\n");
-               i++;
-       } while (!reg);
-}
-
 static u8 fusb300_get_epnstall(struct fusb300 *fusb300, u8 ep)
 {
        u8 value;
        return ret;
 }
 
-static void fusb300_set_ep_bycnt(struct fusb300_ep *ep, u32 bycnt)
-{
-       struct fusb300 *fusb300 = ep->fusb300;
-       u32 reg = ioread32(fusb300->reg + FUSB300_OFFSET_EPFFR(ep->epnum));
-
-       reg &= ~FUSB300_FFR_BYCNT;
-       reg |= bycnt & FUSB300_FFR_BYCNT;
-
-       iowrite32(reg, fusb300->reg + FUSB300_OFFSET_EPFFR(ep->epnum));
-}
-
 static void done(struct fusb300_ep *ep, struct fusb300_request *req,
                 int status)
 {
        struct fusb300_request *req = list_entry(ep->queue.next,
                                        struct fusb300_request, queue);
 
-       if (req->req.length) {
-#if 0
-               fusb300_set_ep_bycnt(ep, req->req.length);
-               fusb300_wrfifo(ep, req);
-#else
+       if (req->req.length)
                fusb300_set_idma(ep, req);
-#endif
-       }
        done(ep, req, 0);
 }