summaryrefslogtreecommitdiff
path: root/firmware/usbstack
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2010-04-03 22:02:09 +0000
committerFrank Gevaerts <frank@gevaerts.be>2010-04-03 22:02:09 +0000
commit376d8d577fe94a8dc8742deff5a7524aa1595e1c (patch)
tree4d76e5232d8b513a40f11588d0f6899d47336b49 /firmware/usbstack
parentba7501513a87433043a217a813c9147d004314a5 (diff)
downloadrockbox-376d8d577fe94a8dc8742deff5a7524aa1595e1c.tar.gz
rockbox-376d8d577fe94a8dc8742deff5a7524aa1595e1c.zip
Add IO priority handling. Currently all IO has equal priority, except the dircache scanning thread which is lower. This fixes the slow boot problem for me, with the added benefit that actual audio playback also starts faster.
Lots of the changes are due to changing storage_(read|write)sectors() from macros to wrapper functions. This means that they have to be called with IF_MD2(drive,) again. Flyspray: FS#11167 Author: Frank Gevaerts git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25459 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack')
-rw-r--r--firmware/usbstack/usb_storage.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c
index 4a8f2dc397..647fbd8e5b 100644
--- a/firmware/usbstack/usb_storage.c
+++ b/firmware/usbstack/usb_storage.c
@@ -353,7 +353,7 @@ static bool check_disk_present(IF_MD_NONVOID(int volume))
353 return true; 353 return true;
354#else 354#else
355 unsigned char sector[SECTOR_SIZE]; 355 unsigned char sector[SECTOR_SIZE];
356 return storage_read_sectors(volume,0,1,sector) == 0; 356 return storage_read_sectors(IF_MD2(volume,)0,1,sector) == 0;
357#endif 357#endif
358} 358}
359 359
@@ -537,7 +537,7 @@ void usb_storage_transfer_complete(int ep,int dir,int status,int length)
537 cur_cmd.data[cur_cmd.data_select], 537 cur_cmd.data[cur_cmd.data_select],
538 MIN(WRITE_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count)*SECTOR_SIZE); 538 MIN(WRITE_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count)*SECTOR_SIZE);
539#else 539#else
540 int result = storage_write_sectors(cur_cmd.lun, 540 int result = storage_write_sectors(IF_MD2(cur_cmd.lun,)
541 cur_cmd.sector, 541 cur_cmd.sector,
542 MIN(WRITE_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count), 542 MIN(WRITE_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count),
543 cur_cmd.data[cur_cmd.data_select]); 543 cur_cmd.data[cur_cmd.data_select]);
@@ -726,7 +726,7 @@ static void send_and_read_next(void)
726 ramdisk_buffer + cur_cmd.sector*SECTOR_SIZE, 726 ramdisk_buffer + cur_cmd.sector*SECTOR_SIZE,
727 MIN(READ_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count)*SECTOR_SIZE); 727 MIN(READ_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count)*SECTOR_SIZE);
728#else 728#else
729 cur_cmd.last_result = storage_read_sectors(cur_cmd.lun, 729 cur_cmd.last_result = storage_read_sectors(IF_MD2(cur_cmd.lun,)
730 cur_cmd.sector, 730 cur_cmd.sector,
731 MIN(READ_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count), 731 MIN(READ_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count),
732 cur_cmd.data[cur_cmd.data_select]); 732 cur_cmd.data[cur_cmd.data_select]);
@@ -1070,7 +1070,7 @@ static void handle_scsi(struct command_block_wrapper* cbw)
1070 ramdisk_buffer + cur_cmd.sector*SECTOR_SIZE, 1070 ramdisk_buffer + cur_cmd.sector*SECTOR_SIZE,
1071 MIN(READ_BUFFER_SIZE/SECTOR_SIZE,cur_cmd.count)*SECTOR_SIZE); 1071 MIN(READ_BUFFER_SIZE/SECTOR_SIZE,cur_cmd.count)*SECTOR_SIZE);
1072#else 1072#else
1073 cur_cmd.last_result = storage_read_sectors(cur_cmd.lun, 1073 cur_cmd.last_result = storage_read_sectors(IF_MD2(cur_cmd.lun,)
1074 cur_cmd.sector, 1074 cur_cmd.sector,
1075 MIN(READ_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count), 1075 MIN(READ_BUFFER_SIZE/SECTOR_SIZE, cur_cmd.count),
1076 cur_cmd.data[cur_cmd.data_select]); 1076 cur_cmd.data[cur_cmd.data_select]);