summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_jz47xx/usb-jz4760.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/usb-jz4760.c')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/usb-jz4760.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/usb-jz4760.c b/firmware/target/mips/ingenic_jz47xx/usb-jz4760.c
index 3c7bb80f2c..275fd3fd2b 100644
--- a/firmware/target/mips/ingenic_jz47xx/usb-jz4760.c
+++ b/firmware/target/mips/ingenic_jz47xx/usb-jz4760.c
@@ -360,7 +360,7 @@ static void EPIN_handler(unsigned int endpoint)
360 } 360 }
361 361
362 logf("EP%d: %d -> %d", endpoint, ep->sent, ep->length); 362 logf("EP%d: %d -> %d", endpoint, ep->sent, ep->length);
363 363
364 if(ep->sent == 0) 364 if(ep->sent == 0)
365 length = MIN(ep->length, ep->fifo_size); 365 length = MIN(ep->length, ep->fifo_size);
366 else 366 else
@@ -456,7 +456,7 @@ static void EPDMA_handler(int number)
456 /* Disable DMA */ 456 /* Disable DMA */
457 REG_USB_CNTL(1) = 0; 457 REG_USB_CNTL(1) = 0;
458 458
459 __dcache_invalidate_all(); 459 commit_discard_dcache(); // XXX range?
460 460
461 select_endpoint(endpoint); 461 select_endpoint(endpoint);
462 /* Read out last packet manually */ 462 /* Read out last packet manually */
@@ -846,8 +846,7 @@ static void usb_drv_send_internal(struct usb_endpoint* ep, void* ptr, int length
846 { 846 {
847 if(ep->use_dma) 847 if(ep->use_dma)
848 { 848 {
849 //dma_cache_wback_inv((unsigned long)ptr, length); 849 commit_discard_dcache_range(ptr, length);
850 __dcache_writeback_all();
851 REG_USB_ADDR(0) = PHYSADDR((unsigned long)ptr); 850 REG_USB_ADDR(0) = PHYSADDR((unsigned long)ptr);
852 REG_USB_COUNT(0) = length; 851 REG_USB_COUNT(0) = length;
853 REG_USB_CNTL(0) = (USB_CNTL_INTR_EN | USB_CNTL_MODE_1 | 852 REG_USB_CNTL(0) = (USB_CNTL_INTR_EN | USB_CNTL_MODE_1 |
@@ -921,8 +920,7 @@ int usb_drv_recv(int endpoint, void* ptr, int length)
921 ep->busy = true; 920 ep->busy = true;
922 if(ep->use_dma) 921 if(ep->use_dma)
923 { 922 {
924 //dma_cache_wback_inv((unsigned long)ptr, length); 923 discard_dcache_range(ptr, length);
925 __dcache_writeback_all();
926 REG_USB_ADDR(1) = PHYSADDR((unsigned long)ptr); 924 REG_USB_ADDR(1) = PHYSADDR((unsigned long)ptr);
927 REG_USB_COUNT(1) = length; 925 REG_USB_COUNT(1) = length;
928 REG_USB_CNTL(1) = (USB_CNTL_INTR_EN | USB_CNTL_MODE_1 | 926 REG_USB_CNTL(1) = (USB_CNTL_INTR_EN | USB_CNTL_MODE_1 |