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
This commit is contained in:
parent
3c561f2cf9
commit
7fcd26e479
2 changed files with 3 additions and 1 deletions
|
@ -353,7 +353,6 @@ bool usb_drv_powered(void)
|
|||
/* manual: 32.14.1 Device Controller Initialization */
|
||||
void usb_drv_init(void)
|
||||
{
|
||||
trigger_cpu_boost();
|
||||
REG_USBCMD &= ~USBCMD_RUN;
|
||||
udelay(50000);
|
||||
REG_USBCMD |= USBCMD_CTRL_RESET;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue