summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-09-19 10:54:26 +0100
committerAidan MacDonald <amachronic@protonmail.com>2021-09-20 22:41:29 +0100
commit672bbe434b12d4730cf270f7245753fb98cf162d (patch)
tree3fdaa08ddc41f942336c968bb169e8806c7c3fa8 /firmware/target/arm
parent99f333c64f13c3f9a62b9f5e184ae87f053bf65a (diff)
downloadrockbox-672bbe434b12d4730cf270f7245753fb98cf162d.tar.gz
rockbox-672bbe434b12d4730cf270f7245753fb98cf162d.zip
usb: rename usb_drv_recv() to usb_recv_recv_nonblocking()
IMHO the current name is somewhat misleading: - usb_drv_send() is blocking and we have usb_drv_send_nonblocking() for the non-blocking case. This inconsistent naming can only promote confusion. (And what would we call a blocking receive?) - Other hardware abstraction APIs in Rockbox are usually blocking: storage, LCD, backlight, audio... in other words, blocking is the default expected behavior, with non-blocking calls being a rarity. Change-Id: I05b41088d09eab582697674f4f06fdca0c8950af
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/as3525/usb-drv-as3525.c7
-rw-r--r--firmware/target/arm/rk27xx/usb-drv-rk27xx.c2
-rw-r--r--firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c8
-rw-r--r--firmware/target/arm/usb-drv-arc.c2
-rw-r--r--firmware/target/arm/usb-s3c6400x.c2
-rw-r--r--firmware/target/arm/usb-tcc.c2
6 files changed, 11 insertions, 12 deletions
diff --git a/firmware/target/arm/as3525/usb-drv-as3525.c b/firmware/target/arm/as3525/usb-drv-as3525.c
index 01fae5f0ab..8369edc400 100644
--- a/firmware/target/arm/as3525/usb-drv-as3525.c
+++ b/firmware/target/arm/as3525/usb-drv-as3525.c
@@ -412,12 +412,12 @@ void usb_drv_cancel_all_transfers(void)
412 restore_irq(flags); 412 restore_irq(flags);
413} 413}
414 414
415int usb_drv_recv(int ep, void *ptr, int len) 415int usb_drv_recv_nonblocking(int ep, void *ptr, int len)
416{ 416{
417 struct usb_dev_dma_desc *uc_desc = endpoints[ep][1].uc_desc; 417 struct usb_dev_dma_desc *uc_desc = endpoints[ep][1].uc_desc;
418 418
419 ep &= 0x7f; 419 ep &= 0x7f;
420 logf("usb_drv_recv(%d,%x,%d)\n", ep, (int)ptr, len); 420 logf("usb_drv_recv_nonblocking(%d,%x,%d)\n", ep, (int)ptr, len);
421 421
422 if (len > USB_DMA_DESC_RXTX_BYTES) 422 if (len > USB_DMA_DESC_RXTX_BYTES)
423 panicf("usb_recv: len=%d > %d", len, USB_DMA_DESC_RXTX_BYTES); 423 panicf("usb_recv: len=%d > %d", len, USB_DMA_DESC_RXTX_BYTES);
@@ -674,7 +674,8 @@ static void handle_out_ep(int ep)
674 * The usb_storage buffer is 63KB, but Linux sends 120KB. 674 * The usb_storage buffer is 63KB, but Linux sends 120KB.
675 * We get the first part, but upon re-enabling receive dma we 675 * We get the first part, but upon re-enabling receive dma we
676 * get a 'buffer not available' error from the hardware, since 676 * get a 'buffer not available' error from the hardware, since
677 * we haven't gotten the next usb_drv_recv() from the stack yet. 677 * we haven't gotten the next usb_drv_recv_nonblocking() from
678 * the stack yet.
678 * It seems the NAK bit is ignored here and the HW tries to dma 679 * It seems the NAK bit is ignored here and the HW tries to dma
679 * the incoming data anyway. 680 * the incoming data anyway.
680 * In theory I think the BNA error should be recoverable, but 681 * In theory I think the BNA error should be recoverable, but
diff --git a/firmware/target/arm/rk27xx/usb-drv-rk27xx.c b/firmware/target/arm/rk27xx/usb-drv-rk27xx.c
index 057ecf6ebc..aac271c47a 100644
--- a/firmware/target/arm/rk27xx/usb-drv-rk27xx.c
+++ b/firmware/target/arm/rk27xx/usb-drv-rk27xx.c
@@ -355,7 +355,7 @@ int usb_drv_send_nonblocking(int endpoint, void *ptr, int length)
355} 355}
356 356
357/* Setup a receive transfer. (non blocking) */ 357/* Setup a receive transfer. (non blocking) */
358int usb_drv_recv(int endpoint, void* ptr, int length) 358int usb_drv_recv_nonblocking(int endpoint, void* ptr, int length)
359{ 359{
360 logf("udc: recv(%x)", endpoint); 360 logf("udc: recv(%x)", endpoint);
361 struct endpoint_t *ep; 361 struct endpoint_t *ep;
diff --git a/firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c b/firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c
index 5563a40814..f1acc9c964 100644
--- a/firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c
+++ b/firmware/target/arm/tms320dm320/sansa-connect/tnetv105_usb_drv.c
@@ -1026,8 +1026,8 @@ static bool tnetv_handle_cppi(void)
1026 if (rx_intstatus || tx_intstatus || rcv_sched) 1026 if (rx_intstatus || tx_intstatus || rcv_sched)
1027 { 1027 {
1028 /* Request calling again after short delay 1028 /* Request calling again after short delay
1029 * Needed when for example when OUT endpoint has pending 1029 * Needed when for example when OUT endpoint has pending data
1030 * data but the USB task did not call usb_drv_recv() yet. 1030 * but the USB task did not call usb_drv_recv_nonblocking() yet.
1031 */ 1031 */
1032 return true; 1032 return true;
1033 } 1033 }
@@ -1371,7 +1371,7 @@ int usb_drv_send_nonblocking(int endpoint, void* ptr, int length)
1371 return _usb_drv_send(endpoint, ptr, length, false); 1371 return _usb_drv_send(endpoint, ptr, length, false);
1372} 1372}
1373 1373
1374int usb_drv_recv(int endpoint, void* ptr, int length) 1374int usb_drv_recv_nonblocking(int endpoint, void* ptr, int length)
1375{ 1375{
1376 int epn = EP_NUM(endpoint); 1376 int epn = EP_NUM(endpoint);
1377 struct ep_runtime_t *ep; 1377 struct ep_runtime_t *ep;
@@ -1388,8 +1388,6 @@ int usb_drv_recv(int endpoint, void* ptr, int length)
1388 return 0; 1388 return 0;
1389} 1389}
1390 1390
1391void usb_drv_ack(struct usb_ctrlrequest* req);
1392
1393void usb_drv_set_address(int address) 1391void usb_drv_set_address(int address)
1394{ 1392{
1395 UsbCtrlType usbCtrl; 1393 UsbCtrlType usbCtrl;
diff --git a/firmware/target/arm/usb-drv-arc.c b/firmware/target/arm/usb-drv-arc.c
index b19b635923..4c53108f12 100644
--- a/firmware/target/arm/usb-drv-arc.c
+++ b/firmware/target/arm/usb-drv-arc.c
@@ -593,7 +593,7 @@ int usb_drv_send(int endpoint, void* ptr, int length)
593 return prime_transfer(EP_NUM(endpoint), ptr, length, true, true); 593 return prime_transfer(EP_NUM(endpoint), ptr, length, true, true);
594} 594}
595 595
596int usb_drv_recv(int endpoint, void* ptr, int length) 596int usb_drv_recv_nonblocking(int endpoint, void* ptr, int length)
597{ 597{
598 //logf("usbrecv(%x, %d)", ptr, length); 598 //logf("usbrecv(%x, %d)", ptr, length);
599 return prime_transfer(EP_NUM(endpoint), ptr, length, false, false); 599 return prime_transfer(EP_NUM(endpoint), ptr, length, false, false);
diff --git a/firmware/target/arm/usb-s3c6400x.c b/firmware/target/arm/usb-s3c6400x.c
index 920d1a6286..71d04e6f2a 100644
--- a/firmware/target/arm/usb-s3c6400x.c
+++ b/firmware/target/arm/usb-s3c6400x.c
@@ -166,7 +166,7 @@ int usb_drv_send_nonblocking(int endpoint, void *ptr, int length)
166 return 0; 166 return 0;
167} 167}
168 168
169int usb_drv_recv(int endpoint, void* ptr, int length) 169int usb_drv_recv_nonblocking(int endpoint, void* ptr, int length)
170{ 170{
171 ep_transfer(EP_NUM(endpoint), ptr, length, true); 171 ep_transfer(EP_NUM(endpoint), ptr, length, true);
172 return 0; 172 return 0;
diff --git a/firmware/target/arm/usb-tcc.c b/firmware/target/arm/usb-tcc.c
index 1b5f16c223..8ce75b6764 100644
--- a/firmware/target/arm/usb-tcc.c
+++ b/firmware/target/arm/usb-tcc.c
@@ -609,7 +609,7 @@ int usb_drv_send_nonblocking(int endpoint, void *ptr, int length)
609 return rc; 609 return rc;
610} 610}
611 611
612int usb_drv_recv(int endpoint, void* ptr, int length) 612int usb_drv_recv_nonblocking(int endpoint, void* ptr, int length)
613{ 613{
614 volatile struct tcc_ep *tcc_ep = &tcc_endpoints[endpoint & 0x7f]; 614 volatile struct tcc_ep *tcc_ep = &tcc_endpoints[endpoint & 0x7f];
615 int flags; 615 int flags;