diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-09-26 17:28:03 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-10-16 21:14:42 +0100 |
commit | d085d01f5e009766fe720236249597c7c9a3fd3c (patch) | |
tree | 11084fe1d9bbb7efcb8d0fbf3d32640686b73139 | |
parent | 4fc37eb47f0dd92fadd42aec31a5c8f5d5363eaf (diff) | |
download | rockbox-d085d01f5e009766fe720236249597c7c9a3fd3c.tar.gz rockbox-d085d01f5e009766fe720236249597c7c9a3fd3c.zip |
x1000: enable DMA for USB driver
This boosts USB transfer performance a bit, ~10% for reads and
~25% for writes, for large-ish file transfers. Rockbox is still
around 33-50% slower than the OF.
Change-Id: I236a1e5c69a290c47ed27b70cb2631111fc157ed
-rw-r--r-- | firmware/export/config/erosqnative.h | 5 | ||||
-rw-r--r-- | firmware/export/config/fiiom3k.h | 5 | ||||
-rw-r--r-- | firmware/export/config/shanlingq1.h | 5 |
3 files changed, 12 insertions, 3 deletions
diff --git a/firmware/export/config/erosqnative.h b/firmware/export/config/erosqnative.h index e326f29b98..f68830e211 100644 --- a/firmware/export/config/erosqnative.h +++ b/firmware/export/config/erosqnative.h @@ -106,7 +106,6 @@ /* USB support */ #ifndef SIMULATOR #define CONFIG_USBOTG USBOTG_DESIGNWARE -#define USB_DW_ARCH_SLAVE #define USB_DW_TURNAROUND 5 #define HAVE_USBSTACK #define USB_VENDOR_ID 0xc502 @@ -117,6 +116,10 @@ #define HAVE_USB_CHARGING_IN_THREAD #define TARGET_USB_CHARGING_DEFAULT USB_CHARGING_FORCE #define HAVE_BOOTLOADER_USB_MODE +/* This appears to improve transfer performance (the default is 64 KiB). + * Going any higher doesn't help but we're still slower than the OF. */ +#define USB_READ_BUFFER_SIZE (128 * 1024) +#define USB_WRITE_BUFFER_SIZE (128 * 1024) #endif /* Rockbox capabilities */ diff --git a/firmware/export/config/fiiom3k.h b/firmware/export/config/fiiom3k.h index 5a2fa6c025..29395bd433 100644 --- a/firmware/export/config/fiiom3k.h +++ b/firmware/export/config/fiiom3k.h @@ -106,7 +106,6 @@ /* USB support */ #ifndef SIMULATOR #define CONFIG_USBOTG USBOTG_DESIGNWARE -#define USB_DW_ARCH_SLAVE #define USB_DW_TURNAROUND 5 #define HAVE_USBSTACK #define USB_VENDOR_ID 0x2972 @@ -117,6 +116,10 @@ #define HAVE_USB_CHARGING_IN_THREAD #define TARGET_USB_CHARGING_DEFAULT USB_CHARGING_FORCE #define HAVE_BOOTLOADER_USB_MODE +/* This appears to improve transfer performance (the default is 64 KiB). + * Going any higher doesn't help but we're still slower than the OF. */ +#define USB_READ_BUFFER_SIZE (128 * 1024) +#define USB_WRITE_BUFFER_SIZE (128 * 1024) #endif /* Rockbox capabilities */ diff --git a/firmware/export/config/shanlingq1.h b/firmware/export/config/shanlingq1.h index c7ad1dfa6e..1f1ee79ca7 100644 --- a/firmware/export/config/shanlingq1.h +++ b/firmware/export/config/shanlingq1.h @@ -96,7 +96,6 @@ /* USB support */ #ifndef SIMULATOR #define CONFIG_USBOTG USBOTG_DESIGNWARE -#define USB_DW_ARCH_SLAVE #define USB_DW_TURNAROUND 5 #define HAVE_USBSTACK #define USB_VENDOR_ID 0x0525 /* Same as the xDuuo X3, for some reason. */ @@ -107,6 +106,10 @@ #define HAVE_USB_CHARGING_IN_THREAD #define TARGET_USB_CHARGING_DEFAULT USB_CHARGING_FORCE #define HAVE_BOOTLOADER_USB_MODE +/* This appears to improve transfer performance (the default is 64 KiB). + * Going any higher doesn't help but we're still slower than the OF. */ +#define USB_READ_BUFFER_SIZE (128 * 1024) +#define USB_WRITE_BUFFER_SIZE (128 * 1024) #endif /* Rockbox capabilities */ |