diff options
Diffstat (limited to 'firmware/usbstack/usb_storage.c')
-rw-r--r-- | firmware/usbstack/usb_storage.c | 18 |
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); |