summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Bus/Scsi
diff options
context:
space:
mode:
authorerictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-03 12:38:21 +0000
committererictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-03 12:38:21 +0000
commit8536cc4b37e12d11af9432d6e73e3c8c84c68b79 (patch)
tree2a30d6dfea09289b15c28ee27da43abc8c3bbd0c /MdeModulePkg/Bus/Scsi
parent9c9f5859374775af768bc4a12c67619ae1a37eb3 (diff)
downloadedk2-8536cc4b37e12d11af9432d6e73e3c8c84c68b79.zip
edk2-8536cc4b37e12d11af9432d6e73e3c8c84c68b79.tar.gz
edk2-8536cc4b37e12d11af9432d6e73e3c8c84c68b79.tar.bz2
MdeModulePkg: ATA performance tuning.
1. Boost IDE mode boot when slave device is absent. 2. Use D2H FIS to check if the PIO OUT/DMA IN/DMA OUT transfer is finished or error happened. ATA PIO IN has special check as it may just receive PIO SETUP FIS for success case. 3. Add command status register check for IDE DMA transfer. 4. ScsiDiskReadCapacity() in ScsiDisk should return EFI_SUCCESS if SENSE Data request is success. Signed-off-by: erictian Reviewed-by: rsun3 Reviewed-by: xdu2 Reviewed-by: mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12658 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Bus/Scsi')
-rw-r--r--MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c
index e8c8ee7..0e8aa34 100644
--- a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c
+++ b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c
@@ -1265,7 +1265,7 @@ DetectMediaParsingSenseKeys (
@param NumberOfSenseKeys The number of sense key
@retval EFI_DEVICE_ERROR Indicates that error occurs
- @retval EFI_SUCCESS Successfully to read capacity
+ @retval EFI_SUCCESS Successfully to read capacity or sense data is received.
**/
EFI_STATUS
@@ -1402,8 +1402,7 @@ ScsiDiskReadCapacity (
TRUE
);
if (!EFI_ERROR (Status)) {
- *NeedRetry = TRUE;
- return EFI_DEVICE_ERROR;
+ return EFI_SUCCESS;
}
if (!*NeedRetry) {