Tian, Feng
73a9e82214
MdeModulePkg/ScsiDisk: Using back-off algorithm to dynamically adjust transfer length in a single SCSI/ATAPI transfer to reach best device compatibility.
...
Besides this, the patch also fixed:
1) Wrong return value in SenseDataLength field of packet field of EFI_EXT_SCSI_PASS_THRU protocol, it should reflect real sense data length we got.
2) Wrong logic in ScsiDiskRequestSenseKeys that the logic makes SenseData pointer unaligned compared with BlockIo.Media.IoAlign field.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tian, Feng <feng.tian@intel.com>
Reviewed-by: Zeng, Star <star.zeng@intel.com>
Reviewed-by: Fu, Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15491 6f19259b-4bc3-4df7-8a09-765794883524
2014-04-30 03:36:14 +00:00
Tian, Feng
52f8e370ac
MdeModulePkg/ScsiDisk:If the SCSI device target status is in CHECK_CONDITION, then parse sense data to decide which actions need to be done.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tian, Feng <feng.tian@intel.com>
Reviewed-by: Fu, Siyuan <siyuan.fu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15215 6f19259b-4bc3-4df7-8a09-765794883524
2014-02-11 00:10:18 +00:00
Feng Tian
3cc033c51f
MdeMdeModulePkg/Scsi: Enlarge SCSI cmd timeout to a more reasonable experience value to cover more devices
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14521 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-05 01:50:11 +00:00
erictian
9690325d1e
MdeModulePkg/AtaBus&ScsiBus: Dynamically calculate how long shall we wait for the finish of a read/write operation according to the actual transfer length
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14028 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-04 06:03:52 +00:00
erictian
9c9225255d
MdeModulePkg: When media_change happens at Partition.Start(), the lower driver (ScsiDisk) should immediately return EFI_MEDIA_CHANGE but not EFI_SUCCESS. This way is used to avoid the interrupted Partition.Start() closes those opened protocols(DiskIo and DevicePath protocol) who are using by the re-entered partition driver at the same handle.
...
Signed-off-by: erictian
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13082 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-06 09:34:14 +00:00
lzeng14
957fe09353
Allocate aligned buffer to satisfy the IoAlign requirement of high level protocol.
...
Signed-off-by: lzeng14
Reviewed-by: erictian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12788 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-25 09:52:12 +00:00
erictian
8536cc4b37
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
2011-11-03 12:38:21 +00:00
erictian
ae5dc79532
Media detection logic is enhanced to be more robust.
...
Signed-off-by: erictian
Reviewed-by: hhuan13
Reviewed-by: mdkinney
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12289 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-07 08:11:42 +00:00
niruiyu
284ee2e829
Fix the comments to follow UEFI Spec regarding how to check an EFI_HANDLE is valid/invalid.
...
Signed-off-by: niruiyu
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11987 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 03:55:36 +00:00
erictian
cbd2a4b362
ScsiBus/ScsiDisk enhancement for no_media state.
...
Ahci enumeration logic tuning for boot performance.
Signed-off-by:erictian
Reviewed-by:qianouyang, hhuan13
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11820 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-14 02:11:34 +00:00
niruiyu
0e87144ee0
Change Partition/ScsiDxe driver to produce Block IO revision 3.
...
Signed-off-by: niruiyu
Reviewed-by: erictian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11692 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-23 07:47:19 +00:00
niruiyu
fcf5e49dc9
Change BlockIo drivers to return EFI_NO_MEDIA or EFI_MEDIA_CHANGED even the Buffer/BufferSize/Lba is invalid so that caller can probe the media status easier.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11584 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-25 09:31:57 +00:00
erictian
c6e797aeda
return EFI_DEVICE_ERROR if the Status value is not EFI_SUCCESS.
...
it's because BlockIo.Reset() only has two possible values: EFI_SUCCESS and EFI_DEVICE_ERROR according to UEFI2.3 spec
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10956 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-19 02:55:16 +00:00
ydong10
c9325700d0
Refine soma code to make code run safely.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10877 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-15 07:48:11 +00:00
li-elvin
f95bc04893
Change the check condition for 16 byte command, when HDD size is > 2TB, use 16 byte command instead.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10817 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-23 10:05:44 +00:00
li-elvin
379f83dff0
According to SCSI spec, ANSI version is 3 bits, so 0x7 should be used to get correct ANSI version.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10773 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-04 08:39:55 +00:00
li-elvin
5bf5fb30b4
Change MaxBlock to HEX value to avoid GCC build failure.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10566 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-04 05:27:03 +00:00
li-elvin
a108933ea8
If SCSI version support Read/Write (16) command, use both commands to access disk especially for above 2TB.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10550 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-28 06:58:59 +00:00
hhtian
cd5ebaa06d
Update the copyright notice format
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:49:11 +00:00
lgao4
6bfbb5f0e0
1. Correct File header to ## @file
...
2. Remove unnecessary .common] postfix on section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
rsun3
4140a6635b
Coding style fix and minor improvements.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9977 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:33:16 +00:00
rsun3
aa75dfeccd
Fix some coding style issues in MdeModulePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9774 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 08:03:23 +00:00
qhuang8
d716651f8c
Enhance SCSI disk module to produce Disk Info protocol on the same Block IO handle:
...
SCSI Interface GUID: Physical SCSI disk
IDE Interface GUID: ATAPI device run in legacy IDE mode
AHCI Interface GUID: ATAPI device run in AHCI mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9584 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-22 07:31:18 +00:00
gikidy
d14faa5275
Update the SCSI Disk Driver to not mount drives on physical only SCSI channels
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8677 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-29 05:58:14 +00:00
gikidy
0254efc01e
Replace references to RFC 3066 with RFC 4646.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8212 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-30 05:32:11 +00:00
jji4
b96cd3133d
Read-Capacity16 command added for SCSI drivers
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8000 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-01 08:25:36 +00:00
xli24
fbfa4a1da7
Minor update on capitalization for ECC check.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7561 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 02:47:51 +00:00
jji4
a676b86b67
Coding style checked
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7454 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 05:12:48 +00:00
jji4
3ed0238a62
INF extension reviewed
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7201 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-07 09:01:05 +00:00
jji4
f7a56b6eac
Library class of MemoryAllocationLib has been added.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7074 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-18 05:39:10 +00:00
jji4
94e0fd072b
Library class of MemoryAllocationLib has been added.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7073 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-18 05:30:57 +00:00
jji4
9b38ff3499
Some codes have been altered and replaced by functions of memory allocation library.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7072 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-18 05:28:26 +00:00
gikidy
dfe687cad5
Fix some typo.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7067 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-17 09:35:12 +00:00
qhuang8
f3f2e05db8
Clean up to update the reference of the these macros:
...
EFI_SIGNATURE_16 -> SIGNATURE_16
EFI_SIGNATURE_32 -> SIGNATURE_32
EFI_SIGNATURE_64 -> SIGNATURE_64
EFI_FIELD_OFFSET -> OFFSET_OF
EFI_MAX_BIT -> MAX_BIT
EFI_MAX_ADDRESS -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7056 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:34:21 +00:00
jji4
2c6d600e1c
INF module description added
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6973 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-10 08:20:01 +00:00
gikidy
cfc8865f17
Remove some useless EDK_RELEASE_VERSION, EFI_SPECIFICATION_VERSION ,and review VALID_ARCHITECTURES in inf files with DSC file.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6818 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 09:08:05 +00:00
qhuang8
e72a3b3ea8
Update SCSI modules to use new macros defined in UefiLib.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6564 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-17 14:22:23 +00:00
qhuang8
ae50ee26b5
Rename the reference library class of ScsiLib to UefiScsiLib.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6523 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-13 09:18:40 +00:00
jji4
9beb888e7c
Code Scrub:
...
MdeModulePkg\Bus\ScsiBusDxe\
MdeModulePkg\Bus\ScsiDisk\
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6465 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-12 01:30:58 +00:00
qwang12
d51cf796da
Rename EfiScsiStallSeconds to EFI_SCSI_STALL_SECONDS to follow the naming convention for MACRO.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6444 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-10 12:57:21 +00:00
lgao4
60c93673b3
The driver and library in MdePkg, MdeModulePkg and Nt32Pkg that don't depend on PI spec should include Uefi.h not PiDxe.h.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5758 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-30 14:09:38 +00:00
lgao4
e872988180
remove the unused msa files in MdeModulePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5726 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-25 05:03:29 +00:00
qhuang8
d3f1611730
Update some module INF files in MdeModulePkg to "UEFI_DRIVER"
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5676 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-18 09:18:44 +00:00
qhuang8
3b2dbece7c
Update all files to follow doxygen style file header.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5017 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-09 05:34:50 +00:00
jljusten
9cb8724d68
edk2/MdeModulePkg/Universal/Network/IScsiDxe/IScsiTcp4Io.h:
...
edk2/MdeModulePkg/Universal/Network/IScsiDxe/IScsiProto.h:
edk2/MdeModulePkg/Universal/Network/IScsiDxe/IScsiExtScsiPassThru.h:
edk2/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDhcp.h:
edk2/MdeModulePkg/Universal/Network/IScsiDxe/IScsiIbft.h:
edk2/MdeModulePkg/Universal/Network/IScsiDxe/Md5.h:
edk2/MdeModulePkg/Universal/Network/IScsiDxe/IScsiDriver.h:
edk2/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.h:
edk2/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.h:
Fix filename case(sensitivity) issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4840 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-11 19:38:08 +00:00
qhuang8
d1aeb0bdc3
Add compiler hint of "GLOBAL_REMOVE_IF_UNREFERENCED" to prevent static unicode string table linked into final image if both PcdComponentNameDisabled and PcdComponentName2Disabled are set to TRUE.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4084 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-11 03:36:31 +00:00
qhuang8
1307dcd745
Add compiler hint of "GLOBAL_REMOVE_IF_UNREFERENCED" to prevent component name structures linked into final image if PcdComponentNameDisabled or PcdComponentName2Disabled is set to TRUE.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4057 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-09 07:08:08 +00:00
qhuang8
70da5bc2cf
Update to support to produce Component Name and & Component Name 2 protocol based on Feature flag PcdComponentNameDisable & PcdComponentName2Disable.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4001 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-30 02:45:18 +00:00
qhuang8
f36d6e669c
1. Set the Target array to zero before fill the target id.
...
2. Get the command/control register base address for each channel through IDE common registers.
3. Correctify some return status to sync with newest Uefi Spec 2.1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3901 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-20 10:06:50 +00:00
lgao4
d35be2a434
Sync code with MdePkg spec for Scsi library class and CustomDecompress library class.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3636 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-14 07:58:32 +00:00