Commit Graph

27 Commits

Author SHA1 Message Date
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
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
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 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
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 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 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
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
erictian c61f936286 fix ia32 build error.
With IA32 tool chain, we can not use a 64bit data to divide a 32 bit data. MS tool chain may introduce an intrinsic function.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10267 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 11:06:21 +00:00
erictian fa03149c12 The ATA alignment_logic_in_phy_blocks field doesn’t directly report the lowest aligned LBA. Instead, there’s some modulo arithmetic involved.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10265 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 09:46:53 +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
qhuang8 6ea8e37bfa Clean up AtaBus driver to not depend on PI IdeControllerInit Protocol definitions
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9821 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-26 05:21:52 +00:00
qhuang8 05a44e91fe Fix minor coding style issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9655 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-31 06:46:49 +00:00
qhuang8 907c1a0039 Remove the hard-code IoAlign in BlockIo.Media; instead, this value should inherit from lower Ata Pass Thru protocol instance.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9654 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-31 05:28:14 +00:00
qhuang8 3bfa77f0f6 Fix bug that that the template does not match fields in structure EFI_BLOCK_IO_MEDIA
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9645 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-30 06:26:54 +00:00
qhuang8 61d4f8f92a Add assertion to ensure the boolean value must be 0 or 1 before the use of array index
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9602 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-25 04:28:31 +00:00
qhuang8 423401f9ea 1. Fix bug in some boundary cases to calculate SectorCountExp.
2. Add assertion to ensure the boolean value must be 0 or 1 before the use of array index

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9597 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-24 08:31:31 +00:00
qhuang8 ad86a50ae7 Add new UEFI driver AtaBusDxe:
1. Layer on UEFI 2.2 ATA pass through protocol to perform ATA transaction.
2. Produce Block IO and DiskInfo protocol for each ATA devices.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9585 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-22 07:35:49 +00:00