diff options
| author | Frank Gevaerts <frank@gevaerts.be> | 2008-03-13 19:56:52 +0000 |
|---|---|---|
| committer | Frank Gevaerts <frank@gevaerts.be> | 2008-03-13 19:56:52 +0000 |
| commit | 7fcd26e479afddfb94bd99082e1535d896165876 (patch) | |
| tree | c326153ef74056341ee8e7a751e456235a806ee4 /firmware/usbstack | |
| parent | 3c561f2cf999b2d805084aabeb4d5feac6fa3893 (diff) | |
| download | rockbox-7fcd26e479afddfb94bd99082e1535d896165876.zip rockbox-7fcd26e479afddfb94bd99082e1535d896165876.tar.gz rockbox-7fcd26e479afddfb94bd99082e1535d896165876.tar.bz2 rockbox-7fcd26e479afddfb94bd99082e1535d896165876.tar.xz | |
Only boost the CPU for large transactions. It would be nice to get rid of boosting for USB altogehter, but it doesn't seem to work then.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16656 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack')
| -rw-r--r-- | firmware/usbstack/usb_storage.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index 59339eb..9488f8a 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c @@ -879,6 +879,7 @@ static void handle_scsi(struct command_block_wrapper* cbw) cur_sense_data.ascq=0; } else { + trigger_cpu_boost(); cur_cmd.last_result = ata_read_sectors(IF_MV2(cur_cmd.lun,) cur_cmd.sector, MIN(BUFFER_SIZE/SECTOR_SIZE, @@ -916,6 +917,7 @@ static void handle_scsi(struct command_block_wrapper* cbw) cur_sense_data.ascq=0; } else { + trigger_cpu_boost(); receive_block_data(cur_cmd.data[0], MIN(BUFFER_SIZE, cur_cmd.count*SECTOR_SIZE)); @@ -951,6 +953,7 @@ static void receive_block_data(void *data,int size) static void send_csw(int status) { + cancel_cpu_boost(); tb.csw->signature = htole32(CSW_SIGNATURE); tb.csw->tag = cur_cmd.tag; tb.csw->data_residue = 0; |