summaryrefslogtreecommitdiff
path: root/firmware/usbstack/usb_storage.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/usbstack/usb_storage.c')
-rw-r--r--firmware/usbstack/usb_storage.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c
index 1d47772362..fa723c07b0 100644
--- a/firmware/usbstack/usb_storage.c
+++ b/firmware/usbstack/usb_storage.c
@@ -59,8 +59,13 @@
59#ifdef USB_READ_BUFFER_SIZE 59#ifdef USB_READ_BUFFER_SIZE
60#define READ_BUFFER_SIZE USB_READ_BUFFER_SIZE 60#define READ_BUFFER_SIZE USB_READ_BUFFER_SIZE
61#else 61#else
62#if CONFIG_CPU == AS3525
63/* We'd need to implement multidescriptor dma for sizes >65535 */
64#define READ_BUFFER_SIZE (1024*63)
65#else
62#define READ_BUFFER_SIZE (1024*64) 66#define READ_BUFFER_SIZE (1024*64)
63#endif 67#endif /* CONFIG_CPU == AS3525 */
68#endif /* USB_READ_BUFFER_SIZE */
64 69
65#define MAX_CBW_SIZE 1024 70#define MAX_CBW_SIZE 1024
66 71
@@ -68,11 +73,16 @@
68#define WRITE_BUFFER_SIZE USB_WRITE_BUFFER_SIZE 73#define WRITE_BUFFER_SIZE USB_WRITE_BUFFER_SIZE
69#else 74#else
70#if (CONFIG_STORAGE & STORAGE_SD) 75#if (CONFIG_STORAGE & STORAGE_SD)
76#if CONFIG_CPU == AS3525
77/* We'd need to implement multidescriptor dma for sizes >65535 */
78#define WRITE_BUFFER_SIZE (1024*63)
79#else
71#define WRITE_BUFFER_SIZE (1024*64) 80#define WRITE_BUFFER_SIZE (1024*64)
81#endif /* CONFIG_CPU == AS3525 */
72#else 82#else
73#define WRITE_BUFFER_SIZE (1024*24) 83#define WRITE_BUFFER_SIZE (1024*24)
74#endif 84#endif /* (CONFIG_STORAGE & STORAGE_SD) */
75#endif 85#endif /* USB_WRITE_BUFFER_SIZE */
76 86
77#define ALLOCATE_BUFFER_SIZE (2*MAX(READ_BUFFER_SIZE,WRITE_BUFFER_SIZE)) 87#define ALLOCATE_BUFFER_SIZE (2*MAX(READ_BUFFER_SIZE,WRITE_BUFFER_SIZE))
78 88
@@ -466,7 +476,7 @@ void usb_storage_init_connection(void)
466 unsigned char * audio_buffer; 476 unsigned char * audio_buffer;
467 477
468 audio_buffer = audio_get_buffer(false,&bufsize); 478 audio_buffer = audio_get_buffer(false,&bufsize);
469#ifdef UNCACHED_ADDR 479#if defined(UNCACHED_ADDR) && CONFIG_CPU != AS3525
470 cbw_buffer = (void *)UNCACHED_ADDR((unsigned int)(audio_buffer+31) & 0xffffffe0); 480 cbw_buffer = (void *)UNCACHED_ADDR((unsigned int)(audio_buffer+31) & 0xffffffe0);
471#else 481#else
472 cbw_buffer = (void *)((unsigned int)(audio_buffer+31) & 0xffffffe0); 482 cbw_buffer = (void *)((unsigned int)(audio_buffer+31) & 0xffffffe0);