Tian, Feng
f1bc233ae1
MdeModulePkg/AtaAtapiPassThru: Correct the algo of calculating PRDT number to avoid beyond the boundary of 32 bit.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tian, Feng <feng.tian@intel.com>
Reviewed-by: Zeng, Star <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15667 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-22 03:06:43 +00:00
Tian, Feng
ab82122dfe
MdeModulePkg/AtaAtapiPassThru: Handle timeout 0 as indefinitely wait to strictly comply with UEFI spec
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tian, Feng <feng.tian@intel.com>
Reviewed-by: Li, Elvin <elvin.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15534 6f19259b-4bc3-4df7-8a09-765794883524
2014-05-15 07:09:14 +00:00
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, Hot
4b738c76f5
Fix CRLF format
...
Signed-off-by: Tian, Hot <hot.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15155 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:38:50 +00:00
Feng Tian
32e817c995
MdeModulePkg/AtaAtapiPassThru: Error handling enhancement for uninstalling protocol interface failure case
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14928 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-03 07:10:56 +00:00
Tian, Feng
59b1b9d20a
MdeModulePkg/AtaAtapiPassThru: Add parameter check to ResetDevice() to follow UEFI spec.
...
Signed-off-by: Tian, Feng <feng.tian@intel.com>
reviewed-by: Jin, Eric <eric.jin@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14764 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-11 07:37:30 +00:00
Tian, Feng
71fd9fae8b
MdeModulePkg/AtaBus&AtaAtapiPassThru: Update ATA drivers to follow UEFI2.4 new request in which it requests ResetEx() to terminate any in-flight non-blocking IO request with EFI_ABORTED transaction status.
...
Signed-off-by: Tian, Feng <feng.tian@intel.com>
reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14761 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-10 05:57:50 +00:00
Feng Tian
df202d72eb
MdeModulePkg/AtaAtapiPassThru: To follow UEFI 2.4, updating the implementation of ATA_PASS_THRU.PassThru() to allow sending ATA cmds to ATAPI devices.
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Eric Jin <eric.jin@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14681 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-18 02:13:34 +00:00
Elvin Li
cffd21712f
Add new adding ATA related status code in PI 1.3 to definition and ATA modules.
...
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14535 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-09 03:39:37 +00:00
Feng Tian
8e1f06124c
MdeModulePkg/AtaBus: wait up to 30s for ATA cmd response in Standby/Idle mode to follow ATA spec
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14428 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-18 03:36:11 +00:00
erictian
8908e764fe
MdeModulePkg/AtaBus: AtaBusDxe module would ignore ATA Pass Thru Protocol instances that do not have the LOGICAL attribute set
...
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14284 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-18 02:08:51 +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
e8a50d1b44
MdeModulePkg/AtaAtapiPassThru: Not set AhciCmdC bit of CommandList when doing transaction as AHCI spec say this bit is only used to do soft reset
...
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@14027 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-04 05:58:24 +00:00
erictian
467cacbf77
MdeModulePkg/AtaAtapiPassThru: fix buffer overflow issue introduced by previous patch(r13932).
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13941 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-14 05:12:40 +00:00
erictian
6b13aa602a
MdeModulePkg/AtaAtapiPassThru: valid ports transverse algo of AHCI controller is updated to handle inconsecutive case
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13932 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-09 06:39:56 +00:00
erictian
a326830d70
MdeModulePkg: eliminate all implicit library dependencies for all modules in MdeModulePkg on PcdLib
...
Signed-off-by: Tian Feng <feng.tian@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13909 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-01 06:59:25 +00:00
erictian
0d5df2aba7
MdeModulePkg/AtaBusDxe: remove a redundant error check
...
Signed-off-by: Tian Feng <feng.tian@intel.com>
Reviewed-by: Li Elvin <elvin.li@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13902 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-31 09:33:40 +00:00
li-elvin
37623a5c02
Add missing status code in several modules.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com>
Reviewed-by: Gao Liming <liming.gao@intel.com>
Reviewed-by: Tian Feng <feng.tian@intel.com>
Reviewed-by: Fan Jeff <jeff.fan@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13890 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-30 04:23:40 +00:00
ydong10
3d267c70b2
Fix code potential errors.
...
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Tian, Feng <feng.tian@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13852 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-16 09:27:49 +00:00
lzeng14
ce68d3bc68
Add missing braces around initializer.
...
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Qian Ouyang <qian.ouyang@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13817 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-11 02:15:23 +00:00
qianouyang
2ca8548911
Add TperReset Logic By using MOR bit - Remove the unnecessary parameter.
...
Signed-off-by: Ouyang, Qian <Qian.Ouyang@intel.com>
Reviewed-by: Yao, Jiewen <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13734 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-19 02:14:51 +00:00
qianouyang
90398d5558
Add Tper Reset Logic by using MOR bit.
...
Signed-off-by: Ouyang, Qian <Qian.Ouyang@intel.com>
Reviewed-by: Tian, Feng <feng.tian@intel.com>
Dong, Guo <Guo.dong@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13727 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-12 10:19:50 +00:00
erictian
7fb60a98ca
MdeModulePkg/AtaAtapiPassThru: Move error check behind the place that SetupFIS frame is received.
...
This way is used to avoid that the subsequent operations are treated as failure if the last operation is wrong.
Signed-off-by: Tian Feng <feng.tian@intel.com>
Reviewed-by: Sun Rui <rui.sun@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13663 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-22 07:12:10 +00:00
erictian
2721fabc53
MdeModulePkg/Ata: Clear PxCmd.SUD bit when the port has no device presented at AHCI mode.
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Sun Rui <rui.sun@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13370 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-29 07:05:33 +00:00
erictian
fc80ee69cb
MdeModulePkg/Ata: Use a new Pcd named "PcdAtaSmartEnable" to control if enabling S.M.A.R.T feature by default.
...
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Sun Rui <rui.sun@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13369 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-29 06:59:26 +00:00
qianouyang
58727f29ea
Introduce tow non-blocking task lists to AtaBus. One maintains the sub-task which is related to running Ata Task and the other is for waiting Ata Task. And it will not pass any task to AtaAtapiPassThru until the previous Ata task has been finished or met error.
...
Signed-off-by: qianouyang
Reviewed-by: czhang46 erictian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13105 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-16 03:31:47 +00:00
erictian
d8982b0303
MdeModulePkg: Fix a bug in GetNextTargetLun()/GetNextTarget() when two cdroms attached
...
Signed-off-by: erictian
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12890 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-21 06:04:56 +00:00
erictian
7f070be5c9
MdeModulePkg: Fix a bug that UnregisterAtaDev() will return error when SSP protocol is not installed
...
Signed-off-by: erictian
Reviewed-by: li-elvin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12835 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-12 09:51:55 +00:00
lgao4
e0e7f80cc3
Update code to pass build on VS2008 with /Od compiler option.
...
Signed-off-by: lgao4
Reviewed-by: rsun3
Reviewed-by: ftian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12792 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-28 06:19:36 +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
qianouyang
1aff716ac7
In AtaAtapiPassThru driver
...
1. move the non-blocking task related setting ahead to store the MapTable and PageCount in case there is a IO operation error happened then the error handler code could use those information to release the resource.
2. Enlarge the TPL protective area to make sure the simulative delay time is accurate when there is mixing usage of Non blocking and blocking I/O.
Signed-off-by: qianouyang
Reviewed-by: erictian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12712 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-15 13:44:06 +00:00
erictian
9cc86267ce
Correct AtaAtapiPassThru module packaging info.
...
Signed-off-by: erictian
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12706 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-15 09:47:32 +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
jljusten
7538d53684
MdeModulePkg: Remove variables that are set, but not used
...
GCC 4.6 generates a warning when a variable is set,
but never used.
Signed-off-by: jljusten
Reviewed-by: lgao4
Reviewed-by: erictian
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12617 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-31 15:58:05 +00:00
erictian
9e70c18b1f
If the data buffer described by InDataBuffer/OutDataBuffer and InTransferLength/OutTransferLength is too big to be transferred, EFI_BAD_BUFFER_SIZE should be returned
...
Signed-off-by:erictian
Reviewed-by:li-elvin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12549 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-19 05:15:23 +00:00
lzeng14
25dd150b58
Remove, correct and refine some debug messages.
...
Signed-off-by: lzeng14
Reviewed-by: erictian
Reviewed-by: qianouyang
Reviewed-by: niruiyu
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12248 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-01 06:37:55 +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
li-elvin
5d0066d872
Return the correct status at the last of UnregisterAtaDevice.
...
Signed-off-by: li-elvin
Reviewed-by: erictian, hhuan13
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11973 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-05 04:34:03 +00:00
erictian
2525e22198
Fix a potential memory free failure bug in AtaAtapiPassThru
...
Signed-off-by: erictian
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11932 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-30 03:32:00 +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
lzeng14
d490265ca6
Update code to pass packaging tool.
...
Signed-off-by: lzeng14
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11712 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-30 09:56:57 +00:00
li-elvin
3d0a23854e
Add more status code in drivers.
...
Signed-off-by: li-elvin
Reviewed-by: jyao1
Reviewed-by: lgao4
Reviewed-by: erictian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11706 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-26 06:29:30 +00:00
erictian
3c063fedc4
fix memory leak at AccessAtaDevice() of AtaBus.
...
Signed-off-by: ftian
Reviewed-by: qouyang
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11679 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-19 09:40:42 +00:00
qianouyang
86d8e19942
Update the function's descriptions (which is in AtaBus, AtaAtapiPassThru, Partition drivers) to make them be consistent with the code.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11678 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-19 06:12:58 +00:00
qianouyang
d0844d133b
Add Pointer check for NULL before referring it and remove unnecessary pointer check in AtaAtapiPassThru and Partition Drivers.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11627 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-06 07:15:41 +00:00
hhuan13
c24097a59f
1. Enabled SSP(StorageSecurityCommandProtocol) for ATA devices.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11614 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-04 02:38:43 +00:00
qianouyang
490b5ea10b
Add BlockIO2 Protocol.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11606 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-03 10:31:41 +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
e70ae46c00
fix null DevicePath issue.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11360 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-10 05:01:15 +00:00
erictian
ed365e934d
fix a invalid pointer conversion when builing 32bit image.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11352 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-08 01:32:34 +00:00