diff options
author | INDIA\sachinganesh <sachinganesh@ami.com> | 2024-10-23 18:39:10 +0530 |
---|---|---|
committer | Liming Gao <gaoliming@byosoft.com.cn> | 2025-01-09 12:40:45 +0800 |
commit | 1a23fe74725da5e268f9782834fe83c85dcb4250 (patch) | |
tree | 55154ca0929ae4e51a16f3e23b54deef5d24c569 | |
parent | 114b54e3fb0a45666291244e6ebfb78204784139 (diff) | |
download | edk2-1a23fe74725da5e268f9782834fe83c85dcb4250.tar.gz |
MdeModulePkg: Update AtaPassThru to UEFI 2.10A
UEFI 2.10A Specification has added a new error case to
EFI_ATA_PASS_THRU_PROTOCOL.GetNextDevice API which handles
port multiplier not being connected to the Port.
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
-rw-r--r-- | MdeModulePkg/Bus/Ata/AhciPei/AhciPeiPassThru.c | 4 | ||||
-rw-r--r-- | MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.c | 4 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/AtaPassThru.h | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/MdeModulePkg/Bus/Ata/AhciPei/AhciPeiPassThru.c b/MdeModulePkg/Bus/Ata/AhciPei/AhciPeiPassThru.c index 7bd04661d0..a77ecfc6a2 100644 --- a/MdeModulePkg/Bus/Ata/AhciPei/AhciPeiPassThru.c +++ b/MdeModulePkg/Bus/Ata/AhciPei/AhciPeiPassThru.c @@ -384,6 +384,10 @@ Exit: If PortMultiplierPort is the port multiplier port number of the last ATA device
on the port of the ATA controller, then EFI_NOT_FOUND is returned.
+ When port multiplier is not connected to the Port, GetNextDevice() may either return
+ EFI_SUCCESS and set PortMultiplierPort to 0xFFFF or return EFI_NOT_FOUND (in which case the
+ PortMultiplierPort value is undefined).
+
@param[in] This The PPI instance pointer.
@param[in] Port The port number present on the ATA controller.
@param[in,out] PortMultiplierPort On input, a pointer to the port multiplier
diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.c b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.c index f39c909d06..986b3e2344 100644 --- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.c +++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.c @@ -1541,6 +1541,10 @@ Exit: If PortMultiplierPort is the port multiplier port number of the last ATA device on the port of
the ATA controller, then EFI_NOT_FOUND is returned.
+ When port multiplier is not connected to the Port, GetNextDevice() may either return
+ EFI_SUCCESS and set PortMultiplierPort to 0xFFFF or return EFI_NOT_FOUND (in which case the
+ PortMultiplierPort value is undefined).
+
@param[in] This A pointer to the EFI_ATA_PASS_THRU_PROTOCOL instance.
@param[in] Port The port number present on the ATA controller.
@param[in, out] PortMultiplierPort On input, a pointer to the port multiplier port number of an
diff --git a/MdeModulePkg/Include/Ppi/AtaPassThru.h b/MdeModulePkg/Include/Ppi/AtaPassThru.h index 73fb688c8a..d0e05ae4ff 100644 --- a/MdeModulePkg/Include/Ppi/AtaPassThru.h +++ b/MdeModulePkg/Include/Ppi/AtaPassThru.h @@ -141,6 +141,10 @@ EFI_STATUS If PortMultiplierPort is the port multiplier port number of the last ATA device
on the port of the ATA controller, then EFI_NOT_FOUND is returned.
+ When port multiplier is not connected to the Port, GetNextDevice() may either return
+ EFI_SUCCESS and set PortMultiplierPort to 0xFFFF or return EFI_NOT_FOUND (in which case the
+ PortMultiplierPort value is undefined).
+
@param[in] This The PPI instance pointer.
@param[in] Port The port number present on the ATA controller.
@param[in,out] PortMultiplierPort On input, a pointer to the port multiplier
|