diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/usb-drv-pp502x.c | 1 | ||||
-rw-r--r-- | firmware/usb.c | 5 | ||||
-rw-r--r-- | firmware/usbstack/usb_storage.c | 3 |
3 files changed, 5 insertions, 4 deletions
diff --git a/firmware/target/arm/usb-drv-pp502x.c b/firmware/target/arm/usb-drv-pp502x.c index 7a88e2bbc2..62addc164e 100644 --- a/firmware/target/arm/usb-drv-pp502x.c +++ b/firmware/target/arm/usb-drv-pp502x.c | |||
@@ -353,7 +353,6 @@ bool usb_drv_powered(void) | |||
353 | /* manual: 32.14.1 Device Controller Initialization */ | 353 | /* manual: 32.14.1 Device Controller Initialization */ |
354 | void usb_drv_init(void) | 354 | void usb_drv_init(void) |
355 | { | 355 | { |
356 | trigger_cpu_boost(); | ||
357 | REG_USBCMD &= ~USBCMD_RUN; | 356 | REG_USBCMD &= ~USBCMD_RUN; |
358 | udelay(50000); | 357 | udelay(50000); |
359 | REG_USBCMD |= USBCMD_CTRL_RESET; | 358 | REG_USBCMD |= USBCMD_CTRL_RESET; |
diff --git a/firmware/usb.c b/firmware/usb.c index 3cd93d8be5..977a3fbccb 100644 --- a/firmware/usb.c +++ b/firmware/usb.c | |||
@@ -529,6 +529,10 @@ bool usb_inserted(void) | |||
529 | #ifdef HAVE_USBSTACK | 529 | #ifdef HAVE_USBSTACK |
530 | void usb_request_exclusive_ata(void) | 530 | void usb_request_exclusive_ata(void) |
531 | { | 531 | { |
532 | /* This is not really a clean place to start boosting the cpu. but it's | ||
533 | * currently the best one. We want to get rid of having to boost the cpu | ||
534 | * for usb anyway */ | ||
535 | trigger_cpu_boost(); | ||
532 | if(!exclusive_ata_access) { | 536 | if(!exclusive_ata_access) { |
533 | queue_post(&usb_queue, USB_REQUEST_DISK, 0); | 537 | queue_post(&usb_queue, USB_REQUEST_DISK, 0); |
534 | } | 538 | } |
@@ -536,6 +540,7 @@ void usb_request_exclusive_ata(void) | |||
536 | 540 | ||
537 | void usb_release_exclusive_ata(void) | 541 | void usb_release_exclusive_ata(void) |
538 | { | 542 | { |
543 | cancel_cpu_boost(); | ||
539 | if(exclusive_ata_access) { | 544 | if(exclusive_ata_access) { |
540 | queue_post(&usb_queue, USB_RELEASE_DISK, 0); | 545 | queue_post(&usb_queue, USB_RELEASE_DISK, 0); |
541 | exclusive_ata_access = false; | 546 | exclusive_ata_access = false; |
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index 8de0f418dc..c528a3a21d 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c | |||
@@ -879,7 +879,6 @@ static void handle_scsi(struct command_block_wrapper* cbw) | |||
879 | cur_sense_data.ascq=0; | 879 | cur_sense_data.ascq=0; |
880 | } | 880 | } |
881 | else { | 881 | else { |
882 | trigger_cpu_boost(); | ||
883 | cur_cmd.last_result = ata_read_sectors(IF_MV2(cur_cmd.lun,) | 882 | cur_cmd.last_result = ata_read_sectors(IF_MV2(cur_cmd.lun,) |
884 | cur_cmd.sector, | 883 | cur_cmd.sector, |
885 | MIN(BUFFER_SIZE/SECTOR_SIZE, | 884 | MIN(BUFFER_SIZE/SECTOR_SIZE, |
@@ -917,7 +916,6 @@ static void handle_scsi(struct command_block_wrapper* cbw) | |||
917 | cur_sense_data.ascq=0; | 916 | cur_sense_data.ascq=0; |
918 | } | 917 | } |
919 | else { | 918 | else { |
920 | trigger_cpu_boost(); | ||
921 | receive_block_data(cur_cmd.data[0], | 919 | receive_block_data(cur_cmd.data[0], |
922 | MIN(BUFFER_SIZE, | 920 | MIN(BUFFER_SIZE, |
923 | cur_cmd.count*SECTOR_SIZE)); | 921 | cur_cmd.count*SECTOR_SIZE)); |
@@ -953,7 +951,6 @@ static void receive_block_data(void *data,int size) | |||
953 | 951 | ||
954 | static void send_csw(int status) | 952 | static void send_csw(int status) |
955 | { | 953 | { |
956 | cancel_cpu_boost(); | ||
957 | tb.csw->signature = htole32(CSW_SIGNATURE); | 954 | tb.csw->signature = htole32(CSW_SIGNATURE); |
958 | tb.csw->tag = cur_cmd.tag; | 955 | tb.csw->tag = cur_cmd.tag; |
959 | tb.csw->data_residue = 0; | 956 | tb.csw->data_residue = 0; |