Commit Graph

60 Commits

Author SHA1 Message Date
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
erictian e519983a6c 1. fix AtaPassThru.PassThru() sct failure
2. avoid reenumerate existing device to reduce boot time at AtaBus.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11232 6f19259b-4bc3-4df7-8a09-765794883524
2011-01-06 05:44:50 +00:00
erictian 12873d5766 S.M.A.R.T feature enable
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10985 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-28 07:44:11 +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
erictian 5dec0c688e fix 32bit build warning
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10935 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-14 01:33:04 +00:00
erictian aca84419c4 remove additional space from comments and pass ICC/GCC44 build
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10903 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-30 08:44:59 +00:00
erictian a41b5272cd add native ide/ahci driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10901 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-29 05:50:45 +00:00
qhuang8 034ffda8b2 Fill AtaDeviceHeader field in ATA command block
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10849 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-02 08:00:27 +00:00
qhuang8 09ba0c4660 Update AtaBus module to use Uefi.h as the master header file as it is a pure UEFI driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10693 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-26 07:43:29 +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