From 072c0a15cbf8a9114de681406a6ba1bdb55a27a3 Mon Sep 17 00:00:00 2001 From: Tobias Diedrich Date: Tue, 22 Jun 2010 05:46:54 +0000 Subject: usb_storage seems to be working now, enable USE_ROCKBOX_USB on C200v2, other AMSv1 untested. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27039 a1c6a512-1295-4272-9138-f99709370657 --- firmware/usbstack/usb_storage.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'firmware/usbstack') diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index 1d47772..fa723c0 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c @@ -59,8 +59,13 @@ #ifdef USB_READ_BUFFER_SIZE #define READ_BUFFER_SIZE USB_READ_BUFFER_SIZE #else +#if CONFIG_CPU == AS3525 +/* We'd need to implement multidescriptor dma for sizes >65535 */ +#define READ_BUFFER_SIZE (1024*63) +#else #define READ_BUFFER_SIZE (1024*64) -#endif +#endif /* CONFIG_CPU == AS3525 */ +#endif /* USB_READ_BUFFER_SIZE */ #define MAX_CBW_SIZE 1024 @@ -68,11 +73,16 @@ #define WRITE_BUFFER_SIZE USB_WRITE_BUFFER_SIZE #else #if (CONFIG_STORAGE & STORAGE_SD) +#if CONFIG_CPU == AS3525 +/* We'd need to implement multidescriptor dma for sizes >65535 */ +#define WRITE_BUFFER_SIZE (1024*63) +#else #define WRITE_BUFFER_SIZE (1024*64) +#endif /* CONFIG_CPU == AS3525 */ #else #define WRITE_BUFFER_SIZE (1024*24) -#endif -#endif +#endif /* (CONFIG_STORAGE & STORAGE_SD) */ +#endif /* USB_WRITE_BUFFER_SIZE */ #define ALLOCATE_BUFFER_SIZE (2*MAX(READ_BUFFER_SIZE,WRITE_BUFFER_SIZE)) @@ -466,7 +476,7 @@ void usb_storage_init_connection(void) unsigned char * audio_buffer; audio_buffer = audio_get_buffer(false,&bufsize); -#ifdef UNCACHED_ADDR +#if defined(UNCACHED_ADDR) && CONFIG_CPU != AS3525 cbw_buffer = (void *)UNCACHED_ADDR((unsigned int)(audio_buffer+31) & 0xffffffe0); #else cbw_buffer = (void *)((unsigned int)(audio_buffer+31) & 0xffffffe0); -- cgit v1.1