diff options
-rw-r--r-- | drivers/usb/gadget/fusb300_udc.c | 69 |
1 files changed, 1 insertions, 68 deletions
diff --git a/drivers/usb/gadget/fusb300_udc.c b/drivers/usb/gadget/fusb300_udc.c index 06353e7ba1fb..4739f5baa363 100644 --- a/drivers/usb/gadget/fusb300_udc.c +++ b/drivers/usb/gadget/fusb300_udc.c | |||
@@ -767,56 +767,6 @@ static void fusb300_rdfifo(struct fusb300_ep *ep, | |||
767 | } while (!reg); | 767 | } while (!reg); |
768 | } | 768 | } |
769 | 769 | ||
770 | /* write data to fifo */ | ||
771 | static void fusb300_wrfifo(struct fusb300_ep *ep, | ||
772 | struct fusb300_request *req) | ||
773 | { | ||
774 | int i = 0; | ||
775 | u8 *tmp; | ||
776 | u32 data, reg; | ||
777 | struct fusb300 *fusb300 = ep->fusb300; | ||
778 | |||
779 | tmp = req->req.buf; | ||
780 | req->req.actual = req->req.length; | ||
781 | |||
782 | for (i = (req->req.length >> 2); i > 0; i--) { | ||
783 | data = *tmp | *(tmp + 1) << 8 | | ||
784 | *(tmp + 2) << 16 | *(tmp + 3) << 24; | ||
785 | |||
786 | iowrite32(data, fusb300->reg + | ||
787 | FUSB300_OFFSET_EPPORT(ep->epnum)); | ||
788 | tmp += 4; | ||
789 | } | ||
790 | |||
791 | switch (req->req.length % 4) { | ||
792 | case 1: | ||
793 | data = *tmp; | ||
794 | iowrite32(data, fusb300->reg + | ||
795 | FUSB300_OFFSET_EPPORT(ep->epnum)); | ||
796 | break; | ||
797 | case 2: | ||
798 | data = *tmp | *(tmp + 1) << 8; | ||
799 | iowrite32(data, fusb300->reg + | ||
800 | FUSB300_OFFSET_EPPORT(ep->epnum)); | ||
801 | break; | ||
802 | case 3: | ||
803 | data = *tmp | *(tmp + 1) << 8 | *(tmp + 2) << 16; | ||
804 | iowrite32(data, fusb300->reg + | ||
805 | FUSB300_OFFSET_EPPORT(ep->epnum)); | ||
806 | break; | ||
807 | default: | ||
808 | break; | ||
809 | } | ||
810 | |||
811 | do { | ||
812 | reg = ioread32(fusb300->reg + FUSB300_OFFSET_IGR1); | ||
813 | reg &= FUSB300_IGR1_SYNF0_EMPTY_INT; | ||
814 | if (i) | ||
815 | printk(KERN_INFO"sync fifo is not empty!\n"); | ||
816 | i++; | ||
817 | } while (!reg); | ||
818 | } | ||
819 | |||
820 | static u8 fusb300_get_epnstall(struct fusb300 *fusb300, u8 ep) | 770 | static u8 fusb300_get_epnstall(struct fusb300 *fusb300, u8 ep) |
821 | { | 771 | { |
822 | u8 value; | 772 | u8 value; |
@@ -1024,17 +974,6 @@ static int setup_packet(struct fusb300 *fusb300, struct usb_ctrlrequest *ctrl) | |||
1024 | return ret; | 974 | return ret; |
1025 | } | 975 | } |
1026 | 976 | ||
1027 | static void fusb300_set_ep_bycnt(struct fusb300_ep *ep, u32 bycnt) | ||
1028 | { | ||
1029 | struct fusb300 *fusb300 = ep->fusb300; | ||
1030 | u32 reg = ioread32(fusb300->reg + FUSB300_OFFSET_EPFFR(ep->epnum)); | ||
1031 | |||
1032 | reg &= ~FUSB300_FFR_BYCNT; | ||
1033 | reg |= bycnt & FUSB300_FFR_BYCNT; | ||
1034 | |||
1035 | iowrite32(reg, fusb300->reg + FUSB300_OFFSET_EPFFR(ep->epnum)); | ||
1036 | } | ||
1037 | |||
1038 | static void done(struct fusb300_ep *ep, struct fusb300_request *req, | 977 | static void done(struct fusb300_ep *ep, struct fusb300_request *req, |
1039 | int status) | 978 | int status) |
1040 | { | 979 | { |
@@ -1143,14 +1082,8 @@ static void in_ep_fifo_handler(struct fusb300_ep *ep) | |||
1143 | struct fusb300_request *req = list_entry(ep->queue.next, | 1082 | struct fusb300_request *req = list_entry(ep->queue.next, |
1144 | struct fusb300_request, queue); | 1083 | struct fusb300_request, queue); |
1145 | 1084 | ||
1146 | if (req->req.length) { | 1085 | if (req->req.length) |
1147 | #if 0 | ||
1148 | fusb300_set_ep_bycnt(ep, req->req.length); | ||
1149 | fusb300_wrfifo(ep, req); | ||
1150 | #else | ||
1151 | fusb300_set_idma(ep, req); | 1086 | fusb300_set_idma(ep, req); |
1152 | #endif | ||
1153 | } | ||
1154 | done(ep, req, 0); | 1087 | done(ep, req, 0); |
1155 | } | 1088 | } |
1156 | 1089 | ||