* [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
@ 2022-12-16 8:58 Sean Rhodes
2022-12-16 8:58 ` [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV Sean Rhodes
` (2 more replies)
0 siblings, 3 replies; 21+ messages in thread
From: Sean Rhodes @ 2022-12-16 8:58 UTC (permalink / raw)
To: devel
Cc: Matt DeVillier, Hao A Wu, Jian J Wang, Liming Gao, Zhichao Gao,
Ray Ni, Sean Rhodes
From: Matt DeVillier <matt.devillier@gmail.com>
Only enumerate devices that have media present.
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Change-Id: I78a0b8be3e2f33edce2d43bbdd7670e6174d0ff8
---
MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
index 962892d38f..bde22fa659 100644
--- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
+++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
@@ -2218,6 +2218,15 @@ BmEnumerateBootOptions (
continue;
}
+ //
+ // Skip removable media if not present
+ //
+ if ((BlkIo->Media->RemovableMedia == TRUE) &&
+ (BlkIo->Media->MediaPresent == FALSE))
+ {
+ continue;
+ }
+
Description = BmGetBootDescription (Handles[Index]);
BootOptions = ReallocatePool (
sizeof (EFI_BOOT_MANAGER_LOAD_OPTION) * (*BootOptionCount),
--
2.37.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV
2022-12-16 8:58 [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present Sean Rhodes
@ 2022-12-16 8:58 ` Sean Rhodes
2022-12-19 6:16 ` Wu, Hao A
2022-12-16 8:58 ` [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check port is compatible before getting PSIV Sean Rhodes
2022-12-16 9:03 ` [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present Ni, Ray
2 siblings, 1 reply; 21+ messages in thread
From: Sean Rhodes @ 2022-12-16 8:58 UTC (permalink / raw)
To: devel; +Cc: Matt DeVillier, Hao A Wu, Ray Ni, Sean Rhodes
From: Matt DeVillier <matt.devillier@gmail.com>
PSID matching relies on comparing the PSIV against the PortSpeed
value. This patch stops edk2 from checking for a PSIV of 0, as it
is not valid; this reduces the number of register access by
approximately 6 per second.
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Change-Id: If15c55ab66d2e7faa832ce8576d2e5b47157cc9a
---
MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 44 ++++++++++++++++-------------
1 file changed, 25 insertions(+), 19 deletions(-)
diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
index 15fb49f28f..8dd7a8fbb7 100644
--- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
+++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
@@ -371,6 +371,7 @@ XhcGetRootHubPortStatus (
UINT32 TotalPort;
UINTN Index;
UINTN MapSize;
+ UINT8 PortSpeed;
EFI_STATUS Status;
USB_DEV_ROUTE ParentRouteChart;
EFI_TPL OldTpl;
@@ -397,32 +398,37 @@ XhcGetRootHubPortStatus (
State = XhcReadOpReg (Xhc, Offset);
+ PortSpeed = (State & XHC_PORTSC_PS) >> 10;
+
//
// According to XHCI 1.1 spec November 2017,
// Section 7.2 xHCI Support Protocol Capability
//
- PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc, ((State & XHC_PORTSC_PS) >> 10));
- if (PortStatus->PortStatus == 0) {
- //
- // According to XHCI 1.1 spec November 2017,
- // bit 10~13 of the root port status register identifies the speed of the attached device.
- //
- switch ((State & XHC_PORTSC_PS) >> 10) {
- case 2:
- PortStatus->PortStatus |= USB_PORT_STAT_LOW_SPEED;
- break;
+ if (PortSpeed > 0) {
+ PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc, PortSpeed);
+ // If no match found in ext cap reg, fall back to PORTSC
+ if (PortStatus->PortStatus == 0) {
+ //
+ // According to XHCI 1.1 spec November 2017,
+ // bit 10~13 of the root port status register identifies the speed of the attached device.
+ //
+ switch (PortSpeed) {
+ case 2:
+ PortStatus->PortStatus |= USB_PORT_STAT_LOW_SPEED;
+ break;
- case 3:
- PortStatus->PortStatus |= USB_PORT_STAT_HIGH_SPEED;
- break;
+ case 3:
+ PortStatus->PortStatus |= USB_PORT_STAT_HIGH_SPEED;
+ break;
- case 4:
- case 5:
- PortStatus->PortStatus |= USB_PORT_STAT_SUPER_SPEED;
- break;
+ case 4:
+ case 5:
+ PortStatus->PortStatus |= USB_PORT_STAT_SUPER_SPEED;
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
}
--
2.37.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check port is compatible before getting PSIV
2022-12-16 8:58 [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present Sean Rhodes
2022-12-16 8:58 ` [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV Sean Rhodes
@ 2022-12-16 8:58 ` Sean Rhodes
2022-12-19 7:46 ` [edk2-devel] " Wu, Hao A
2022-12-16 9:03 ` [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present Ni, Ray
2 siblings, 1 reply; 21+ messages in thread
From: Sean Rhodes @ 2022-12-16 8:58 UTC (permalink / raw)
To: devel; +Cc: Sean Rhodes
On some platforms, including Sky Lake and Kaby Lake, the PSIV (Protocol
Speed ID Value) indices are shared between Protocol Speed ID DWORD' in
the extended capabilities registers for both USB2 (Full Speed) and USB3
(Super Speed).
An example can be found below:
XhcCheckUsbPortSpeedUsedPsic: checking for USB2 ext caps
XhciPsivGetPsid: found 3 PSID entries
XhciPsivGetPsid: looking for port speed 1
XhciPsivGetPsid: PSIV 1 PSIE 2 PLT 0 PSIM 12
XhciPsivGetPsid: PSIV 2 PSIE 1 PLT 0 PSIM 1500
XhciPsivGetPsid: PSIV 3 PSIE 2 PLT 0 PSIM 480
XhcCheckUsbPortSpeedUsedPsic: checking for USB3 ext caps
XhciPsivGetPsid: found 3 PSID entries
XhciPsivGetPsid: looking for port speed 1
XhciPsivGetPsid: PSIV 1 PSIE 3 PLT 0 PSIM 5
XhciPsivGetPsid: PSIV 2 PSIE 3 PLT 0 PSIM 10
XhciPsivGetPsid: PSIV 34 PSIE 2 PLT 0 PSIM 1248
The result is edk2 detecting USB2 devices as USB3 devices, which
consequently causes enumeration to fail.
To avoid incorrect detection, check the Compatible Port Offset to find
the starting Port of Root Hubs that support the protocol.
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
---
MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 2 +-
MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c | 35 +++++++++++++++++++++-----
MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h | 8 +++---
3 files changed, 35 insertions(+), 10 deletions(-)
diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
index 8dd7a8fbb7..461b2cd9b5 100644
--- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
+++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
@@ -405,7 +405,7 @@ XhcGetRootHubPortStatus (
// Section 7.2 xHCI Support Protocol Capability
//
if (PortSpeed > 0) {
- PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc, PortSpeed);
+ PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc, PortSpeed, PortNumber);
// If no match found in ext cap reg, fall back to PORTSC
if (PortStatus->PortStatus == 0) {
//
diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
index 2b4a4b2444..5700fc5fb8 100644
--- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
+++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
@@ -636,6 +636,7 @@ XhcGetSupportedProtocolCapabilityAddr (
@param Xhc The XHCI Instance.
@param ExtCapOffset The USB Major Version in xHCI Support Protocol Capability Field
@param PortSpeed The Port Speed Field in USB PortSc register
+ @param PortNumber The Port Number (0-indexed)
@return The Protocol Speed ID (PSI) from xHCI Supported Protocol capability register.
@@ -644,12 +645,15 @@ UINT32
XhciPsivGetPsid (
IN USB_XHCI_INSTANCE *Xhc,
IN UINT32 ExtCapOffset,
- IN UINT8 PortSpeed
+ IN UINT8 PortSpeed,
+ IN UINT8 PortNumber
)
{
XHC_SUPPORTED_PROTOCOL_DW2 PortId;
XHC_SUPPORTED_PROTOCOL_PROTOCOL_SPEED_ID Reg;
UINT32 Count;
+ UINT32 MinPortIndex;
+ UINT32 MaxPortIndex;
if ((Xhc == NULL) || (ExtCapOffset == 0xFFFFFFFF)) {
return 0;
@@ -663,6 +667,23 @@ XhciPsivGetPsid (
//
PortId.Dword = XhcReadExtCapReg (Xhc, ExtCapOffset + XHC_SUPPORTED_PROTOCOL_DW2_OFFSET);
+ //
+ // According to XHCI 1.1 spec November 2017, valid values
+ // for CompPortOffset are 1 to CompPortCount - 1.
+ //
+ // PortNumber is zero-indexed, so subtract 1.
+ //
+ if ((PortId.Data.CompPortOffset == 0) || (PortId.Data.CompPortCount == 0)) {
+ return 0;
+ }
+
+ MinPortIndex = PortId.Data.CompPortOffset - 1;
+ MaxPortIndex = MinPortIndex + PortId.Data.CompPortCount - 1;
+
+ if ((PortNumber < MinPortIndex) || (PortNumber > MaxPortIndex)) {
+ return 0;
+ }
+
for (Count = 0; Count < PortId.Data.Psic; Count++) {
Reg.Dword = XhcReadExtCapReg (Xhc, ExtCapOffset + XHC_SUPPORTED_PROTOCOL_PSI_OFFSET + (Count << 2));
if (Reg.Data.Psiv == PortSpeed) {
@@ -676,8 +697,9 @@ XhciPsivGetPsid (
/**
Find PortSpeed value match case in XHCI Supported Protocol Capability
- @param Xhc The XHCI Instance.
- @param PortSpeed The Port Speed Field in USB PortSc register
+ @param Xhc The XHCI Instance.
+ @param PortSpeed The Port Speed Field in USB PortSc register
+ @param PortNumber The Port Number (0-indexed)
@return The USB Port Speed.
@@ -685,7 +707,8 @@ XhciPsivGetPsid (
UINT16
XhcCheckUsbPortSpeedUsedPsic (
IN USB_XHCI_INSTANCE *Xhc,
- IN UINT8 PortSpeed
+ IN UINT8 PortSpeed,
+ IN UINT8 PortNumber
)
{
XHC_SUPPORTED_PROTOCOL_PROTOCOL_SPEED_ID SpField;
@@ -703,7 +726,7 @@ XhcCheckUsbPortSpeedUsedPsic (
// PortSpeed definition when the Major Revision is 03h.
//
if (Xhc->Usb3SupOffset != 0xFFFFFFFF) {
- SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb3SupOffset, PortSpeed);
+ SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb3SupOffset, PortSpeed, PortNumber);
if (SpField.Dword != 0) {
//
// Found the corresponding PORTSC value in PSIV field of USB3 offset.
@@ -717,7 +740,7 @@ XhcCheckUsbPortSpeedUsedPsic (
// PortSpeed definition when the Major Revision is 02h.
//
if ((UsbSpeedIdMap == 0) && (Xhc->Usb2SupOffset != 0xFFFFFFFF)) {
- SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb2SupOffset, PortSpeed);
+ SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb2SupOffset, PortSpeed, PortNumber);
if (SpField.Dword != 0) {
//
// Found the corresponding PORTSC value in PSIV field of USB2 offset.
diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
index 5fe2ba4f0e..2e4f95f8ac 100644
--- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
+++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
@@ -623,8 +623,9 @@ XhcGetSupportedProtocolCapabilityAddr (
/**
Find SpeedField value match with Port Speed ID value.
- @param Xhc The XHCI Instance.
- @param Speed The Port Speed filed in USB PortSc register
+ @param Xhc The XHCI Instance.
+ @param Speed The Port Speed filed in USB PortSc register
+ @param PortNumber The Port Number (0-indexed)
@return The USB Port Speed.
@@ -632,7 +633,8 @@ XhcGetSupportedProtocolCapabilityAddr (
UINT16
XhcCheckUsbPortSpeedUsedPsic (
IN USB_XHCI_INSTANCE *Xhc,
- IN UINT8 Speed
+ IN UINT8 Speed,
+ IN UINT8 PortNumber
);
#endif
--
2.37.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2022-12-16 8:58 [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present Sean Rhodes
2022-12-16 8:58 ` [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV Sean Rhodes
2022-12-16 8:58 ` [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check port is compatible before getting PSIV Sean Rhodes
@ 2022-12-16 9:03 ` Ni, Ray
2023-01-28 19:01 ` Sean Rhodes
2 siblings, 1 reply; 21+ messages in thread
From: Ni, Ray @ 2022-12-16 9:03 UTC (permalink / raw)
To: devel@edk2.groups.io, Rhodes, Sean
Cc: Matt DeVillier, Wu, Hao A, Wang, Jian J, Gao, Liming,
Gao, Zhichao
Reviewed-by: Ray Ni <ray.ni@intel.com>
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sean Rhodes
> Sent: Friday, December 16, 2022 4:58 PM
> To: devel@edk2.groups.io
> Cc: Matt DeVillier <matt.devillier@gmail.com>; Wu, Hao A <hao.a.wu@intel.com>; Wang, Jian J <jian.j.wang@intel.com>;
> Gao, Liming <gaoliming@byosoft.com.cn>; Gao, Zhichao <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes,
> Sean <sean@starlabs.systems>
> Subject: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
>
> From: Matt DeVillier <matt.devillier@gmail.com>
>
> Only enumerate devices that have media present.
>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Reviewed-by: Sean Rhodes <sean@starlabs.systems>
> Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
> Change-Id: I78a0b8be3e2f33edce2d43bbdd7670e6174d0ff8
> ---
> MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> index 962892d38f..bde22fa659 100644
> --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> @@ -2218,6 +2218,15 @@ BmEnumerateBootOptions (
> continue;
>
> }
>
>
>
> + //
>
> + // Skip removable media if not present
>
> + //
>
> + if ((BlkIo->Media->RemovableMedia == TRUE) &&
>
> + (BlkIo->Media->MediaPresent == FALSE))
>
> + {
>
> + continue;
>
> + }
>
> +
>
> Description = BmGetBootDescription (Handles[Index]);
>
> BootOptions = ReallocatePool (
>
> sizeof (EFI_BOOT_MANAGER_LOAD_OPTION) * (*BootOptionCount),
>
> --
> 2.37.2
>
>
>
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#97498): https://edk2.groups.io/g/devel/message/97498
> Mute This Topic: https://groups.io/mt/95706437/1712937
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com]
> -=-=-=-=-=-=
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV
2022-12-16 8:58 ` [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV Sean Rhodes
@ 2022-12-19 6:16 ` Wu, Hao A
2022-12-21 0:48 ` [edk2-devel] " Wu, Hao A
0 siblings, 1 reply; 21+ messages in thread
From: Wu, Hao A @ 2022-12-19 6:16 UTC (permalink / raw)
To: Rhodes, Sean, devel@edk2.groups.io; +Cc: Matt DeVillier, Ni, Ray, Rhodes, Sean
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
Best Regards,
Hao Wu
> -----Original Message-----
> From: Sean Rhodes <sean@starlabs.systems>
> Sent: Friday, December 16, 2022 4:58 PM
> To: devel@edk2.groups.io
> Cc: Matt DeVillier <matt.devillier@gmail.com>; Wu, Hao A
> <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes, Sean
> <sean@starlabs.systems>
> Subject: [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid
> PSIV
>
> From: Matt DeVillier <matt.devillier@gmail.com>
>
> PSID matching relies on comparing the PSIV against the PortSpeed
> value. This patch stops edk2 from checking for a PSIV of 0, as it
> is not valid; this reduces the number of register access by
> approximately 6 per second.
>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Reviewed-by: Sean Rhodes <sean@starlabs.systems>
> Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
> Change-Id: If15c55ab66d2e7faa832ce8576d2e5b47157cc9a
> ---
> MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 44 ++++++++++++++++-------------
> 1 file changed, 25 insertions(+), 19 deletions(-)
>
> diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> index 15fb49f28f..8dd7a8fbb7 100644
> --- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> +++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> @@ -371,6 +371,7 @@ XhcGetRootHubPortStatus (
> UINT32 TotalPort;
>
> UINTN Index;
>
> UINTN MapSize;
>
> + UINT8 PortSpeed;
>
> EFI_STATUS Status;
>
> USB_DEV_ROUTE ParentRouteChart;
>
> EFI_TPL OldTpl;
>
> @@ -397,32 +398,37 @@ XhcGetRootHubPortStatus (
>
>
> State = XhcReadOpReg (Xhc, Offset);
>
>
>
> + PortSpeed = (State & XHC_PORTSC_PS) >> 10;
>
> +
>
> //
>
> // According to XHCI 1.1 spec November 2017,
>
> // Section 7.2 xHCI Support Protocol Capability
>
> //
>
> - PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc, ((State &
> XHC_PORTSC_PS) >> 10));
>
> - if (PortStatus->PortStatus == 0) {
>
> - //
>
> - // According to XHCI 1.1 spec November 2017,
>
> - // bit 10~13 of the root port status register identifies the speed of the
> attached device.
>
> - //
>
> - switch ((State & XHC_PORTSC_PS) >> 10) {
>
> - case 2:
>
> - PortStatus->PortStatus |= USB_PORT_STAT_LOW_SPEED;
>
> - break;
>
> + if (PortSpeed > 0) {
>
> + PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc,
> PortSpeed);
>
> + // If no match found in ext cap reg, fall back to PORTSC
>
> + if (PortStatus->PortStatus == 0) {
>
> + //
>
> + // According to XHCI 1.1 spec November 2017,
>
> + // bit 10~13 of the root port status register identifies the speed of the
> attached device.
>
> + //
>
> + switch (PortSpeed) {
>
> + case 2:
>
> + PortStatus->PortStatus |= USB_PORT_STAT_LOW_SPEED;
>
> + break;
>
>
>
> - case 3:
>
> - PortStatus->PortStatus |= USB_PORT_STAT_HIGH_SPEED;
>
> - break;
>
> + case 3:
>
> + PortStatus->PortStatus |= USB_PORT_STAT_HIGH_SPEED;
>
> + break;
>
>
>
> - case 4:
>
> - case 5:
>
> - PortStatus->PortStatus |= USB_PORT_STAT_SUPER_SPEED;
>
> - break;
>
> + case 4:
>
> + case 5:
>
> + PortStatus->PortStatus |= USB_PORT_STAT_SUPER_SPEED;
>
> + break;
>
>
>
> - default:
>
> - break;
>
> + default:
>
> + break;
>
> + }
>
> }
>
> }
>
>
>
> --
> 2.37.2
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check port is compatible before getting PSIV
2022-12-16 8:58 ` [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check port is compatible before getting PSIV Sean Rhodes
@ 2022-12-19 7:46 ` Wu, Hao A
2022-12-21 0:49 ` Wu, Hao A
0 siblings, 1 reply; 21+ messages in thread
From: Wu, Hao A @ 2022-12-19 7:46 UTC (permalink / raw)
To: devel@edk2.groups.io, Rhodes, Sean
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
I will make minor modification to:
* Function description comment
* Input parameter name
of XhcCheckUsbPortSpeedUsedPsic() to make the declaration (in .H) and the definition (in .C) match.
Best Regards,
Hao Wu
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sean
> Rhodes
> Sent: Friday, December 16, 2022 4:58 PM
> To: devel@edk2.groups.io
> Cc: Rhodes, Sean <sean@starlabs.systems>
> Subject: [edk2-devel] [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check
> port is compatible before getting PSIV
>
> On some platforms, including Sky Lake and Kaby Lake, the PSIV (Protocol
> Speed ID Value) indices are shared between Protocol Speed ID DWORD' in
> the extended capabilities registers for both USB2 (Full Speed) and USB3
> (Super Speed).
>
> An example can be found below:
>
> XhcCheckUsbPortSpeedUsedPsic: checking for USB2 ext caps
> XhciPsivGetPsid: found 3 PSID entries
> XhciPsivGetPsid: looking for port speed 1
> XhciPsivGetPsid: PSIV 1 PSIE 2 PLT 0 PSIM 12
> XhciPsivGetPsid: PSIV 2 PSIE 1 PLT 0 PSIM 1500
> XhciPsivGetPsid: PSIV 3 PSIE 2 PLT 0 PSIM 480
> XhcCheckUsbPortSpeedUsedPsic: checking for USB3 ext caps
> XhciPsivGetPsid: found 3 PSID entries
> XhciPsivGetPsid: looking for port speed 1
> XhciPsivGetPsid: PSIV 1 PSIE 3 PLT 0 PSIM 5
> XhciPsivGetPsid: PSIV 2 PSIE 3 PLT 0 PSIM 10
> XhciPsivGetPsid: PSIV 34 PSIE 2 PLT 0 PSIM 1248
>
> The result is edk2 detecting USB2 devices as USB3 devices, which
> consequently causes enumeration to fail.
>
> To avoid incorrect detection, check the Compatible Port Offset to find
> the starting Port of Root Hubs that support the protocol.
>
> Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> ---
> MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 2 +-
> MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c | 35 +++++++++++++++++++++--
> ---
> MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h | 8 +++---
> 3 files changed, 35 insertions(+), 10 deletions(-)
>
> diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> index 8dd7a8fbb7..461b2cd9b5 100644
> --- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> +++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> @@ -405,7 +405,7 @@ XhcGetRootHubPortStatus (
> // Section 7.2 xHCI Support Protocol Capability
>
> //
>
> if (PortSpeed > 0) {
>
> - PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc,
> PortSpeed);
>
> + PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc,
> PortSpeed, PortNumber);
>
> // If no match found in ext cap reg, fall back to PORTSC
>
> if (PortStatus->PortStatus == 0) {
>
> //
>
> diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
> b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
> index 2b4a4b2444..5700fc5fb8 100644
> --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
> +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
> @@ -636,6 +636,7 @@ XhcGetSupportedProtocolCapabilityAddr (
> @param Xhc The XHCI Instance.
>
> @param ExtCapOffset The USB Major Version in xHCI Support Protocol
> Capability Field
>
> @param PortSpeed The Port Speed Field in USB PortSc register
>
> + @param PortNumber The Port Number (0-indexed)
>
>
>
> @return The Protocol Speed ID (PSI) from xHCI Supported Protocol
> capability register.
>
>
>
> @@ -644,12 +645,15 @@ UINT32
> XhciPsivGetPsid (
>
> IN USB_XHCI_INSTANCE *Xhc,
>
> IN UINT32 ExtCapOffset,
>
> - IN UINT8 PortSpeed
>
> + IN UINT8 PortSpeed,
>
> + IN UINT8 PortNumber
>
> )
>
> {
>
> XHC_SUPPORTED_PROTOCOL_DW2 PortId;
>
> XHC_SUPPORTED_PROTOCOL_PROTOCOL_SPEED_ID Reg;
>
> UINT32 Count;
>
> + UINT32 MinPortIndex;
>
> + UINT32 MaxPortIndex;
>
>
>
> if ((Xhc == NULL) || (ExtCapOffset == 0xFFFFFFFF)) {
>
> return 0;
>
> @@ -663,6 +667,23 @@ XhciPsivGetPsid (
> //
>
> PortId.Dword = XhcReadExtCapReg (Xhc, ExtCapOffset +
> XHC_SUPPORTED_PROTOCOL_DW2_OFFSET);
>
>
>
> + //
>
> + // According to XHCI 1.1 spec November 2017, valid values
>
> + // for CompPortOffset are 1 to CompPortCount - 1.
>
> + //
>
> + // PortNumber is zero-indexed, so subtract 1.
>
> + //
>
> + if ((PortId.Data.CompPortOffset == 0) || (PortId.Data.CompPortCount ==
> 0)) {
>
> + return 0;
>
> + }
>
> +
>
> + MinPortIndex = PortId.Data.CompPortOffset - 1;
>
> + MaxPortIndex = MinPortIndex + PortId.Data.CompPortCount - 1;
>
> +
>
> + if ((PortNumber < MinPortIndex) || (PortNumber > MaxPortIndex)) {
>
> + return 0;
>
> + }
>
> +
>
> for (Count = 0; Count < PortId.Data.Psic; Count++) {
>
> Reg.Dword = XhcReadExtCapReg (Xhc, ExtCapOffset +
> XHC_SUPPORTED_PROTOCOL_PSI_OFFSET + (Count << 2));
>
> if (Reg.Data.Psiv == PortSpeed) {
>
> @@ -676,8 +697,9 @@ XhciPsivGetPsid (
> /**
>
> Find PortSpeed value match case in XHCI Supported Protocol Capability
>
>
>
> - @param Xhc The XHCI Instance.
>
> - @param PortSpeed The Port Speed Field in USB PortSc register
>
> + @param Xhc The XHCI Instance.
>
> + @param PortSpeed The Port Speed Field in USB PortSc register
>
> + @param PortNumber The Port Number (0-indexed)
>
>
>
> @return The USB Port Speed.
>
>
>
> @@ -685,7 +707,8 @@ XhciPsivGetPsid (
> UINT16
>
> XhcCheckUsbPortSpeedUsedPsic (
>
> IN USB_XHCI_INSTANCE *Xhc,
>
> - IN UINT8 PortSpeed
>
> + IN UINT8 PortSpeed,
>
> + IN UINT8 PortNumber
>
> )
>
> {
>
> XHC_SUPPORTED_PROTOCOL_PROTOCOL_SPEED_ID SpField;
>
> @@ -703,7 +726,7 @@ XhcCheckUsbPortSpeedUsedPsic (
> // PortSpeed definition when the Major Revision is 03h.
>
> //
>
> if (Xhc->Usb3SupOffset != 0xFFFFFFFF) {
>
> - SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb3SupOffset, PortSpeed);
>
> + SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb3SupOffset, PortSpeed,
> PortNumber);
>
> if (SpField.Dword != 0) {
>
> //
>
> // Found the corresponding PORTSC value in PSIV field of USB3 offset.
>
> @@ -717,7 +740,7 @@ XhcCheckUsbPortSpeedUsedPsic (
> // PortSpeed definition when the Major Revision is 02h.
>
> //
>
> if ((UsbSpeedIdMap == 0) && (Xhc->Usb2SupOffset != 0xFFFFFFFF)) {
>
> - SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb2SupOffset, PortSpeed);
>
> + SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb2SupOffset, PortSpeed,
> PortNumber);
>
> if (SpField.Dword != 0) {
>
> //
>
> // Found the corresponding PORTSC value in PSIV field of USB2 offset.
>
> diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
> b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
> index 5fe2ba4f0e..2e4f95f8ac 100644
> --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
> +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
> @@ -623,8 +623,9 @@ XhcGetSupportedProtocolCapabilityAddr (
> /**
>
> Find SpeedField value match with Port Speed ID value.
>
>
>
> - @param Xhc The XHCI Instance.
>
> - @param Speed The Port Speed filed in USB PortSc register
>
> + @param Xhc The XHCI Instance.
>
> + @param Speed The Port Speed filed in USB PortSc register
>
> + @param PortNumber The Port Number (0-indexed)
>
>
>
> @return The USB Port Speed.
>
>
>
> @@ -632,7 +633,8 @@ XhcGetSupportedProtocolCapabilityAddr (
> UINT16
>
> XhcCheckUsbPortSpeedUsedPsic (
>
> IN USB_XHCI_INSTANCE *Xhc,
>
> - IN UINT8 Speed
>
> + IN UINT8 Speed,
>
> + IN UINT8 PortNumber
>
> );
>
>
>
> #endif
>
> --
> 2.37.2
>
>
>
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#97497): https://edk2.groups.io/g/devel/message/97497
> Mute This Topic: https://groups.io/mt/95706436/1768737
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [hao.a.wu@intel.com]
> -=-=-=-=-=-=
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV
2022-12-19 6:16 ` Wu, Hao A
@ 2022-12-21 0:48 ` Wu, Hao A
0 siblings, 0 replies; 21+ messages in thread
From: Wu, Hao A @ 2022-12-21 0:48 UTC (permalink / raw)
To: devel@edk2.groups.io, Wu, Hao A, Rhodes, Sean; +Cc: Matt DeVillier, Ni, Ray
Merged via:
PR - https://github.com/tianocore/edk2/pull/3806
Commit - https://github.com/tianocore/edk2/commit/01c2fb0d2260d4de898e4e91e48770ffa5510153
Best Regards,
Hao Wu
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu, Hao
> A
> Sent: Monday, December 19, 2022 2:16 PM
> To: Rhodes, Sean <sean@starlabs.systems>; devel@edk2.groups.io
> Cc: Matt DeVillier <matt.devillier@gmail.com>; Ni, Ray <ray.ni@intel.com>;
> Rhodes, Sean <sean@starlabs.systems>
> Subject: Re: [edk2-devel] [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't
> check for invalid PSIV
>
> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
>
> Best Regards,
> Hao Wu
>
> > -----Original Message-----
> > From: Sean Rhodes <sean@starlabs.systems>
> > Sent: Friday, December 16, 2022 4:58 PM
> > To: devel@edk2.groups.io
> > Cc: Matt DeVillier <matt.devillier@gmail.com>; Wu, Hao A
> > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes, Sean
> > <sean@starlabs.systems>
> > Subject: [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for
> > invalid PSIV
> >
> > From: Matt DeVillier <matt.devillier@gmail.com>
> >
> > PSID matching relies on comparing the PSIV against the PortSpeed
> > value. This patch stops edk2 from checking for a PSIV of 0, as it is
> > not valid; this reduces the number of register access by approximately
> > 6 per second.
> >
> > Cc: Hao A Wu <hao.a.wu@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Reviewed-by: Sean Rhodes <sean@starlabs.systems>
> > Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
> > Change-Id: If15c55ab66d2e7faa832ce8576d2e5b47157cc9a
> > ---
> > MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 44
> > ++++++++++++++++-------------
> > 1 file changed, 25 insertions(+), 19 deletions(-)
> >
> > diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > index 15fb49f28f..8dd7a8fbb7 100644
> > --- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > @@ -371,6 +371,7 @@ XhcGetRootHubPortStatus (
> > UINT32 TotalPort;
> >
> > UINTN Index;
> >
> > UINTN MapSize;
> >
> > + UINT8 PortSpeed;
> >
> > EFI_STATUS Status;
> >
> > USB_DEV_ROUTE ParentRouteChart;
> >
> > EFI_TPL OldTpl;
> >
> > @@ -397,32 +398,37 @@ XhcGetRootHubPortStatus (
> >
> >
> > State = XhcReadOpReg (Xhc, Offset);
> >
> >
> >
> > + PortSpeed = (State & XHC_PORTSC_PS) >> 10;
> >
> > +
> >
> > //
> >
> > // According to XHCI 1.1 spec November 2017,
> >
> > // Section 7.2 xHCI Support Protocol Capability
> >
> > //
> >
> > - PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc, ((State
> > &
> > XHC_PORTSC_PS) >> 10));
> >
> > - if (PortStatus->PortStatus == 0) {
> >
> > - //
> >
> > - // According to XHCI 1.1 spec November 2017,
> >
> > - // bit 10~13 of the root port status register identifies the speed of the
> > attached device.
> >
> > - //
> >
> > - switch ((State & XHC_PORTSC_PS) >> 10) {
> >
> > - case 2:
> >
> > - PortStatus->PortStatus |= USB_PORT_STAT_LOW_SPEED;
> >
> > - break;
> >
> > + if (PortSpeed > 0) {
> >
> > + PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc,
> > PortSpeed);
> >
> > + // If no match found in ext cap reg, fall back to PORTSC
> >
> > + if (PortStatus->PortStatus == 0) {
> >
> > + //
> >
> > + // According to XHCI 1.1 spec November 2017,
> >
> > + // bit 10~13 of the root port status register identifies the
> > + speed of the
> > attached device.
> >
> > + //
> >
> > + switch (PortSpeed) {
> >
> > + case 2:
> >
> > + PortStatus->PortStatus |= USB_PORT_STAT_LOW_SPEED;
> >
> > + break;
> >
> >
> >
> > - case 3:
> >
> > - PortStatus->PortStatus |= USB_PORT_STAT_HIGH_SPEED;
> >
> > - break;
> >
> > + case 3:
> >
> > + PortStatus->PortStatus |= USB_PORT_STAT_HIGH_SPEED;
> >
> > + break;
> >
> >
> >
> > - case 4:
> >
> > - case 5:
> >
> > - PortStatus->PortStatus |= USB_PORT_STAT_SUPER_SPEED;
> >
> > - break;
> >
> > + case 4:
> >
> > + case 5:
> >
> > + PortStatus->PortStatus |= USB_PORT_STAT_SUPER_SPEED;
> >
> > + break;
> >
> >
> >
> > - default:
> >
> > - break;
> >
> > + default:
> >
> > + break;
> >
> > + }
> >
> > }
> >
> > }
> >
> >
> >
> > --
> > 2.37.2
>
>
>
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check port is compatible before getting PSIV
2022-12-19 7:46 ` [edk2-devel] " Wu, Hao A
@ 2022-12-21 0:49 ` Wu, Hao A
0 siblings, 0 replies; 21+ messages in thread
From: Wu, Hao A @ 2022-12-21 0:49 UTC (permalink / raw)
To: devel@edk2.groups.io, Wu, Hao A, Rhodes, Sean
Merged via:
PR - https://github.com/tianocore/edk2/pull/3806
Commit - https://github.com/tianocore/edk2/commit/ec25e904c7da70302f2725e2005e3762f1ae891e
Best Regards,
Hao Wu
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu, Hao
> A
> Sent: Monday, December 19, 2022 3:46 PM
> To: devel@edk2.groups.io; Rhodes, Sean <sean@starlabs.systems>
> Subject: Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe:
> Check port is compatible before getting PSIV
>
> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
>
> I will make minor modification to:
> * Function description comment
> * Input parameter name
> of XhcCheckUsbPortSpeedUsedPsic() to make the declaration (in .H) and the
> definition (in .C) match.
>
> Best Regards,
> Hao Wu
>
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sean
> > Rhodes
> > Sent: Friday, December 16, 2022 4:58 PM
> > To: devel@edk2.groups.io
> > Cc: Rhodes, Sean <sean@starlabs.systems>
> > Subject: [edk2-devel] [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check
> > port is compatible before getting PSIV
> >
> > On some platforms, including Sky Lake and Kaby Lake, the PSIV
> > (Protocol Speed ID Value) indices are shared between Protocol Speed ID
> > DWORD' in the extended capabilities registers for both USB2 (Full
> > Speed) and USB3 (Super Speed).
> >
> > An example can be found below:
> >
> > XhcCheckUsbPortSpeedUsedPsic: checking for USB2 ext caps
> > XhciPsivGetPsid: found 3 PSID entries
> > XhciPsivGetPsid: looking for port speed 1
> > XhciPsivGetPsid: PSIV 1 PSIE 2 PLT 0 PSIM 12
> > XhciPsivGetPsid: PSIV 2 PSIE 1 PLT 0 PSIM 1500
> > XhciPsivGetPsid: PSIV 3 PSIE 2 PLT 0 PSIM 480
> > XhcCheckUsbPortSpeedUsedPsic: checking for USB3 ext caps
> > XhciPsivGetPsid: found 3 PSID entries
> > XhciPsivGetPsid: looking for port speed 1
> > XhciPsivGetPsid: PSIV 1 PSIE 3 PLT 0 PSIM 5
> > XhciPsivGetPsid: PSIV 2 PSIE 3 PLT 0 PSIM 10
> > XhciPsivGetPsid: PSIV 34 PSIE 2 PLT 0 PSIM 1248
> >
> > The result is edk2 detecting USB2 devices as USB3 devices, which
> > consequently causes enumeration to fail.
> >
> > To avoid incorrect detection, check the Compatible Port Offset to find
> > the starting Port of Root Hubs that support the protocol.
> >
> > Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> > ---
> > MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 2 +-
> > MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c | 35 +++++++++++++++++++++--
> > ---
> > MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h | 8 +++---
> > 3 files changed, 35 insertions(+), 10 deletions(-)
> >
> > diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > index 8dd7a8fbb7..461b2cd9b5 100644
> > --- a/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
> > @@ -405,7 +405,7 @@ XhcGetRootHubPortStatus (
> > // Section 7.2 xHCI Support Protocol Capability
> >
> > //
> >
> > if (PortSpeed > 0) {
> >
> > - PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc,
> > PortSpeed);
> >
> > + PortStatus->PortStatus = XhcCheckUsbPortSpeedUsedPsic (Xhc,
> > PortSpeed, PortNumber);
> >
> > // If no match found in ext cap reg, fall back to PORTSC
> >
> > if (PortStatus->PortStatus == 0) {
> >
> > //
> >
> > diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
> > b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
> > index 2b4a4b2444..5700fc5fb8 100644
> > --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
> > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c
> > @@ -636,6 +636,7 @@ XhcGetSupportedProtocolCapabilityAddr (
> > @param Xhc The XHCI Instance.
> >
> > @param ExtCapOffset The USB Major Version in xHCI Support Protocol
> > Capability Field
> >
> > @param PortSpeed The Port Speed Field in USB PortSc register
> >
> > + @param PortNumber The Port Number (0-indexed)
> >
> >
> >
> > @return The Protocol Speed ID (PSI) from xHCI Supported Protocol
> > capability register.
> >
> >
> >
> > @@ -644,12 +645,15 @@ UINT32
> > XhciPsivGetPsid (
> >
> > IN USB_XHCI_INSTANCE *Xhc,
> >
> > IN UINT32 ExtCapOffset,
> >
> > - IN UINT8 PortSpeed
> >
> > + IN UINT8 PortSpeed,
> >
> > + IN UINT8 PortNumber
> >
> > )
> >
> > {
> >
> > XHC_SUPPORTED_PROTOCOL_DW2 PortId;
> >
> > XHC_SUPPORTED_PROTOCOL_PROTOCOL_SPEED_ID Reg;
> >
> > UINT32 Count;
> >
> > + UINT32 MinPortIndex;
> >
> > + UINT32 MaxPortIndex;
> >
> >
> >
> > if ((Xhc == NULL) || (ExtCapOffset == 0xFFFFFFFF)) {
> >
> > return 0;
> >
> > @@ -663,6 +667,23 @@ XhciPsivGetPsid (
> > //
> >
> > PortId.Dword = XhcReadExtCapReg (Xhc, ExtCapOffset +
> > XHC_SUPPORTED_PROTOCOL_DW2_OFFSET);
> >
> >
> >
> > + //
> >
> > + // According to XHCI 1.1 spec November 2017, valid values
> >
> > + // for CompPortOffset are 1 to CompPortCount - 1.
> >
> > + //
> >
> > + // PortNumber is zero-indexed, so subtract 1.
> >
> > + //
> >
> > + if ((PortId.Data.CompPortOffset == 0) || (PortId.Data.CompPortCount
> > + ==
> > 0)) {
> >
> > + return 0;
> >
> > + }
> >
> > +
> >
> > + MinPortIndex = PortId.Data.CompPortOffset - 1;
> >
> > + MaxPortIndex = MinPortIndex + PortId.Data.CompPortCount - 1;
> >
> > +
> >
> > + if ((PortNumber < MinPortIndex) || (PortNumber > MaxPortIndex)) {
> >
> > + return 0;
> >
> > + }
> >
> > +
> >
> > for (Count = 0; Count < PortId.Data.Psic; Count++) {
> >
> > Reg.Dword = XhcReadExtCapReg (Xhc, ExtCapOffset +
> > XHC_SUPPORTED_PROTOCOL_PSI_OFFSET + (Count << 2));
> >
> > if (Reg.Data.Psiv == PortSpeed) {
> >
> > @@ -676,8 +697,9 @@ XhciPsivGetPsid (
> > /**
> >
> > Find PortSpeed value match case in XHCI Supported Protocol
> > Capability
> >
> >
> >
> > - @param Xhc The XHCI Instance.
> >
> > - @param PortSpeed The Port Speed Field in USB PortSc register
> >
> > + @param Xhc The XHCI Instance.
> >
> > + @param PortSpeed The Port Speed Field in USB PortSc register
> >
> > + @param PortNumber The Port Number (0-indexed)
> >
> >
> >
> > @return The USB Port Speed.
> >
> >
> >
> > @@ -685,7 +707,8 @@ XhciPsivGetPsid (
> > UINT16
> >
> > XhcCheckUsbPortSpeedUsedPsic (
> >
> > IN USB_XHCI_INSTANCE *Xhc,
> >
> > - IN UINT8 PortSpeed
> >
> > + IN UINT8 PortSpeed,
> >
> > + IN UINT8 PortNumber
> >
> > )
> >
> > {
> >
> > XHC_SUPPORTED_PROTOCOL_PROTOCOL_SPEED_ID SpField;
> >
> > @@ -703,7 +726,7 @@ XhcCheckUsbPortSpeedUsedPsic (
> > // PortSpeed definition when the Major Revision is 03h.
> >
> > //
> >
> > if (Xhc->Usb3SupOffset != 0xFFFFFFFF) {
> >
> > - SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb3SupOffset, PortSpeed);
> >
> > + SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb3SupOffset,
> > + PortSpeed,
> > PortNumber);
> >
> > if (SpField.Dword != 0) {
> >
> > //
> >
> > // Found the corresponding PORTSC value in PSIV field of USB3 offset.
> >
> > @@ -717,7 +740,7 @@ XhcCheckUsbPortSpeedUsedPsic (
> > // PortSpeed definition when the Major Revision is 02h.
> >
> > //
> >
> > if ((UsbSpeedIdMap == 0) && (Xhc->Usb2SupOffset != 0xFFFFFFFF)) {
> >
> > - SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb2SupOffset, PortSpeed);
> >
> > + SpField.Dword = XhciPsivGetPsid (Xhc, Xhc->Usb2SupOffset,
> > + PortSpeed,
> > PortNumber);
> >
> > if (SpField.Dword != 0) {
> >
> > //
> >
> > // Found the corresponding PORTSC value in PSIV field of USB2 offset.
> >
> > diff --git a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
> > b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
> > index 5fe2ba4f0e..2e4f95f8ac 100644
> > --- a/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
> > +++ b/MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h
> > @@ -623,8 +623,9 @@ XhcGetSupportedProtocolCapabilityAddr (
> > /**
> >
> > Find SpeedField value match with Port Speed ID value.
> >
> >
> >
> > - @param Xhc The XHCI Instance.
> >
> > - @param Speed The Port Speed filed in USB PortSc register
> >
> > + @param Xhc The XHCI Instance.
> >
> > + @param Speed The Port Speed filed in USB PortSc register
> >
> > + @param PortNumber The Port Number (0-indexed)
> >
> >
> >
> > @return The USB Port Speed.
> >
> >
> >
> > @@ -632,7 +633,8 @@ XhcGetSupportedProtocolCapabilityAddr (
> > UINT16
> >
> > XhcCheckUsbPortSpeedUsedPsic (
> >
> > IN USB_XHCI_INSTANCE *Xhc,
> >
> > - IN UINT8 Speed
> >
> > + IN UINT8 Speed,
> >
> > + IN UINT8 PortNumber
> >
> > );
> >
> >
> >
> > #endif
> >
> > --
> > 2.37.2
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#97497):
> > https://edk2.groups.io/g/devel/message/97497
> > Mute This Topic: https://groups.io/mt/95706436/1768737
> > Group Owner: devel+owner@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub [hao.a.wu@intel.com]
> > -=-=-=-=-=-=
> >
>
>
>
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2022-12-16 9:03 ` [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present Ni, Ray
@ 2023-01-28 19:01 ` Sean Rhodes
2023-02-13 10:01 ` Sheng Lean Tan
0 siblings, 1 reply; 21+ messages in thread
From: Sean Rhodes @ 2023-01-28 19:01 UTC (permalink / raw)
To: devel, Ni, Ray
[-- Attachment #1: Type: text/plain, Size: 2615 bytes --]
Hi Ray
Would it be possible to merge this?
Thanks
Sean
On Fri, 16 Dec 2022, 09:03 Ni, Ray, <ray.ni@intel.com> wrote:
> Reviewed-by: Ray Ni <ray.ni@intel.com>
>
>
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sean
> Rhodes
> > Sent: Friday, December 16, 2022 4:58 PM
> > To: devel@edk2.groups.io
> > Cc: Matt DeVillier <matt.devillier@gmail.com>; Wu, Hao A <
> hao.a.wu@intel.com>; Wang, Jian J <jian.j.wang@intel.com>;
> > Gao, Liming <gaoliming@byosoft.com.cn>; Gao, Zhichao <
> zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes,
> > Sean <sean@starlabs.systems>
> > Subject: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable
> media if it is not present
> >
> > From: Matt DeVillier <matt.devillier@gmail.com>
> >
> > Only enumerate devices that have media present.
> >
> > Cc: Hao A Wu <hao.a.wu@intel.com>
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Cc: Zhichao Gao <zhichao.gao@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Reviewed-by: Sean Rhodes <sean@starlabs.systems>
> > Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
> > Change-Id: I78a0b8be3e2f33edce2d43bbdd7670e6174d0ff8
> > ---
> > MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > index 962892d38f..bde22fa659 100644
> > --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > @@ -2218,6 +2218,15 @@ BmEnumerateBootOptions (
> > continue;
> >
> > }
> >
> >
> >
> > + //
> >
> > + // Skip removable media if not present
> >
> > + //
> >
> > + if ((BlkIo->Media->RemovableMedia == TRUE) &&
> >
> > + (BlkIo->Media->MediaPresent == FALSE))
> >
> > + {
> >
> > + continue;
> >
> > + }
> >
> > +
> >
> > Description = BmGetBootDescription (Handles[Index]);
> >
> > BootOptions = ReallocatePool (
> >
> > sizeof (EFI_BOOT_MANAGER_LOAD_OPTION) *
> (*BootOptionCount),
> >
> > --
> > 2.37.2
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#97498): https://edk2.groups.io/g/devel/message/97498
> > Mute This Topic: https://groups.io/mt/95706437/1712937
> > Group Owner: devel+owner@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com]
> > -=-=-=-=-=-=
> >
>
>
>
>
>
>
>
[-- Attachment #2: Type: text/html, Size: 5410 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-01-28 19:01 ` Sean Rhodes
@ 2023-02-13 10:01 ` Sheng Lean Tan
2023-02-13 11:56 ` Ni, Ray
0 siblings, 1 reply; 21+ messages in thread
From: Sheng Lean Tan @ 2023-02-13 10:01 UTC (permalink / raw)
To: Sean Rhodes, devel
[-- Attachment #1: Type: text/plain, Size: 99 bytes --]
Hi Ray,
This patch has been hanging along since last year. Has it been merged?
Thanks,
Sheng
[-- Attachment #2: Type: text/html, Size: 115 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-02-13 10:01 ` Sheng Lean Tan
@ 2023-02-13 11:56 ` Ni, Ray
2023-02-17 12:56 ` Sheng Lean Tan
[not found] ` <17449DF2E9A4F10E.28744@groups.io>
0 siblings, 2 replies; 21+ messages in thread
From: Ni, Ray @ 2023-02-13 11:56 UTC (permalink / raw)
To: devel@edk2.groups.io, Tan, Lean Sheng, Rhodes, Sean, Wang, Jian J
[-- Attachment #1: Type: text/plain, Size: 536 bytes --]
@Wang, Jian J<mailto:jian.j.wang@intel.com>
thanks,
ray
________________________________
From: devel@edk2.groups.io <devel@edk2.groups.io> on behalf of Sheng Lean Tan <sheng.tan@9elements.com>
Sent: Monday, February 13, 2023 6:01:21 PM
To: Rhodes, Sean <sean@starlabs.systems>; devel@edk2.groups.io <devel@edk2.groups.io>
Subject: Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
Hi Ray,
This patch has been hanging along since last year. Has it been merged?
Thanks,
Sheng
[-- Attachment #2: Type: text/html, Size: 1157 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-02-13 11:56 ` Ni, Ray
@ 2023-02-17 12:56 ` Sheng Lean Tan
[not found] ` <17449DF2E9A4F10E.28744@groups.io>
1 sibling, 0 replies; 21+ messages in thread
From: Sheng Lean Tan @ 2023-02-17 12:56 UTC (permalink / raw)
To: Ni, Ray; +Cc: devel@edk2.groups.io, Rhodes, Sean, Wang, Jian J
[-- Attachment #1: Type: text/plain, Size: 1132 bytes --]
Hi,
A kind reminder - has this been merged?
Best Regards,
*Lean Sheng Tan*
9elements GmbH, Kortumstraße 19-21, 44787 Bochum, Germany
Email: sheng.tan@9elements.com
Phone: *+49 234 68 94 188 <+492346894188>*
Mobile: *+49 176 76 113842 <+4917676113842>*
Registered office: Bochum
Commercial register: Amtsgericht Bochum, HRB 17519
Management: Sebastian German, Eray Bazaar
Data protection information according to Art. 13 GDPR
<https://9elements.com/privacy>
On Mon, 13 Feb 2023 at 12:57, Ni, Ray <ray.ni@intel.com> wrote:
> @Wang, Jian J <jian.j.wang@intel.com>
>
> thanks,
> ray
> ------------------------------
> *From:* devel@edk2.groups.io <devel@edk2.groups.io> on behalf of Sheng
> Lean Tan <sheng.tan@9elements.com>
> *Sent:* Monday, February 13, 2023 6:01:21 PM
> *To:* Rhodes, Sean <sean@starlabs.systems>; devel@edk2.groups.io <
> devel@edk2.groups.io>
> *Subject:* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip
> removable media if it is not present
>
> Hi Ray,
> This patch has been hanging along since last year. Has it been merged?
>
> Thanks,
> Sheng
>
>
[-- Attachment #2: Type: text/html, Size: 4227 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
[not found] ` <17449DF2E9A4F10E.28744@groups.io>
@ 2023-03-06 9:57 ` Sheng Lean Tan
2023-03-07 11:32 ` Sheng Lean Tan
0 siblings, 1 reply; 21+ messages in thread
From: Sheng Lean Tan @ 2023-03-06 9:57 UTC (permalink / raw)
To: devel, sheng.tan; +Cc: Ni, Ray, Rhodes, Sean, Wang, Jian J
[-- Attachment #1: Type: text/plain, Size: 1851 bytes --]
@Jian J Wang <jian.j.wang@intel.com>
Any update on this? Anything needs to be done from our side?
Thanks.
Best Regards,
*Lean Sheng Tan*
9elements GmbH, Kortumstraße 19-21, 44787 Bochum, Germany
Email: sheng.tan@9elements.com
Phone: *+49 234 68 94 188 <+492346894188>*
Mobile: *+49 176 76 113842 <+4917676113842>*
Registered office: Bochum
Commercial register: Amtsgericht Bochum, HRB 17519
Management: Sebastian German, Eray Bazaar
Data protection information according to Art. 13 GDPR
<https://9elements.com/privacy>
On Fri, 17 Feb 2023 at 13:57, Sheng Lean Tan via groups.io <sheng.tan=
9elements.com@groups.io> wrote:
> Hi,
> A kind reminder - has this been merged?
>
> Best Regards,
> *Lean Sheng Tan*
>
>
>
> 9elements GmbH, Kortumstraße 19-21, 44787 Bochum, Germany
> Email: sheng.tan@9elements.com
> Phone: *+49 234 68 94 188 <+492346894188>*
> Mobile: *+49 176 76 113842 <+4917676113842>*
>
> Registered office: Bochum
> Commercial register: Amtsgericht Bochum, HRB 17519
> Management: Sebastian German, Eray Bazaar
>
> Data protection information according to Art. 13 GDPR
> <https://9elements.com/privacy>
>
>
> On Mon, 13 Feb 2023 at 12:57, Ni, Ray <ray.ni@intel.com> wrote:
>
>> @Wang, Jian J <jian.j.wang@intel.com>
>>
>> thanks,
>> ray
>> ------------------------------
>> *From:* devel@edk2.groups.io <devel@edk2.groups.io> on behalf of Sheng
>> Lean Tan <sheng.tan@9elements.com>
>> *Sent:* Monday, February 13, 2023 6:01:21 PM
>> *To:* Rhodes, Sean <sean@starlabs.systems>; devel@edk2.groups.io <
>> devel@edk2.groups.io>
>> *Subject:* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip
>> removable media if it is not present
>>
>> Hi Ray,
>> This patch has been hanging along since last year. Has it been merged?
>>
>> Thanks,
>> Sheng
>>
>
>
>
[-- Attachment #2: Type: text/html, Size: 7322 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-03-06 9:57 ` Sheng Lean Tan
@ 2023-03-07 11:32 ` Sheng Lean Tan
2023-03-08 8:54 ` Sheng Lean Tan
0 siblings, 1 reply; 21+ messages in thread
From: Sheng Lean Tan @ 2023-03-07 11:32 UTC (permalink / raw)
To: Sheng Lean Tan, devel
[-- Attachment #1: Type: text/plain, Size: 32 bytes --]
Another kind reminder, thanks.
[-- Attachment #2: Type: text/html, Size: 32 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-03-07 11:32 ` Sheng Lean Tan
@ 2023-03-08 8:54 ` Sheng Lean Tan
2023-03-08 8:57 ` Ni, Ray
0 siblings, 1 reply; 21+ messages in thread
From: Sheng Lean Tan @ 2023-03-08 8:54 UTC (permalink / raw)
To: Sheng Lean Tan, devel
[-- Attachment #1: Type: text/plain, Size: 225 bytes --]
Seriously, what is the hold up here?
did Sean not following the process? Did he miss anything?
it just doesn’t make sense to keep ignoring this patch for half year for no reason. Is there a way to voice up a about this?
[-- Attachment #2: Type: text/html, Size: 237 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-03-08 8:54 ` Sheng Lean Tan
@ 2023-03-08 8:57 ` Ni, Ray
2023-03-09 0:54 ` 回复: " gaoliming
[not found] ` <174A9A2823F47D61.24021@groups.io>
0 siblings, 2 replies; 21+ messages in thread
From: Ni, Ray @ 2023-03-08 8:57 UTC (permalink / raw)
To: devel@edk2.groups.io, Tan, Lean Sheng; +Cc: Wang, Jian J, Gao, Liming
[-- Attachment #1: Type: text/plain, Size: 904 bytes --]
M: Jian J Wang jian.j.wang@intel.com<mailto:jian.j.wang@intel.com> [jwang36]
M: Liming Gao gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn> [lgao4]
Jian and Liming are maintainers of MdeModulePkg.
The patch passed my review. Either of them can help to merge the patch.
I guess Liming might not see this patch. I am sure he can help on merging it.
Thanks,
Ray
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sheng Lean Tan
Sent: Wednesday, March 8, 2023 4:55 PM
To: Tan, Lean Sheng <sheng.tan@9elements.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
Seriously, what is the hold up here?
did Sean not following the process? Did he miss anything?
it just doesn’t make sense to keep ignoring this patch for half year for no reason. Is there a way to voice up a about this?
[-- Attachment #2: Type: text/html, Size: 3653 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-03-08 8:57 ` Ni, Ray
@ 2023-03-09 0:54 ` gaoliming
2023-03-10 11:29 ` [edk2-devel] " Sheng Lean Tan
[not found] ` <174A9A2823F47D61.24021@groups.io>
1 sibling, 1 reply; 21+ messages in thread
From: gaoliming @ 2023-03-09 0:54 UTC (permalink / raw)
To: devel, ray.ni, 'Tan, Lean Sheng'; +Cc: 'Wang, Jian J'
[-- Attachment #1: Type: text/plain, Size: 1566 bytes --]
Ray:
You also have access to merge the patch. Sure, I can help merge this patch.
Thanks
Liming
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Ni, Ray
发送时间: 2023年3月8日 16:58
收件人: devel@edk2.groups.io; Tan, Lean Sheng <sheng.tan@9elements.com>
抄送: Wang, Jian J <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
主题: Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
M: Jian J Wang jian.j.wang@intel.com <mailto:jian.j.wang@intel.com> [jwang36]
M: Liming Gao gaoliming@byosoft.com.cn <mailto:gaoliming@byosoft.com.cn> [lgao4]
Jian and Liming are maintainers of MdeModulePkg.
The patch passed my review. Either of them can help to merge the patch.
I guess Liming might not see this patch. I am sure he can help on merging it.
Thanks,
Ray
From: devel@edk2.groups.io <mailto:devel@edk2.groups.io> <devel@edk2.groups.io <mailto:devel@edk2.groups.io> > On Behalf Of Sheng Lean Tan
Sent: Wednesday, March 8, 2023 4:55 PM
To: Tan, Lean Sheng <sheng.tan@9elements.com <mailto:sheng.tan@9elements.com> >; devel@edk2.groups.io <mailto:devel@edk2.groups.io>
Subject: Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
Seriously, what is the hold up here?
did Sean not following the process? Did he miss anything?
it just doesn’t make sense to keep ignoring this patch for half year for no reason. Is there a way to voice up a about this?
[-- Attachment #2: Type: text/html, Size: 6024 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
[not found] ` <174A9A2823F47D61.24021@groups.io>
@ 2023-03-10 2:20 ` gaoliming
0 siblings, 0 replies; 21+ messages in thread
From: gaoliming @ 2023-03-10 2:20 UTC (permalink / raw)
To: devel, gaoliming, ray.ni, 'Tan, Lean Sheng'
Cc: 'Wang, Jian J'
[-- Attachment #1: Type: text/plain, Size: 2242 bytes --]
PR https://github.com/tianocore/edk2/pull/4127 is created for this patch.
Thanks
Liming
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 gaoliming via groups.io
发送时间: 2023年3月9日 8:55
收件人: devel@edk2.groups.io; ray.ni@intel.com; 'Tan, Lean Sheng' <sheng.tan@9elements.com>
抄送: 'Wang, Jian J' <jian.j.wang@intel.com>
主题: 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
Ray:
You also have access to merge the patch. Sure, I can help merge this patch.
Thanks
Liming
发件人: devel@edk2.groups.io <mailto:devel@edk2.groups.io> <devel@edk2.groups.io <mailto:devel@edk2.groups.io> > 代表 Ni, Ray
发送时间: 2023年3月8日 16:58
收件人: devel@edk2.groups.io <mailto:devel@edk2.groups.io> ; Tan, Lean Sheng <sheng.tan@9elements.com <mailto:sheng.tan@9elements.com> >
抄送: Wang, Jian J <jian.j.wang@intel.com <mailto:jian.j.wang@intel.com> >; Gao, Liming <gaoliming@byosoft.com.cn <mailto:gaoliming@byosoft.com.cn> >
主题: Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
M: Jian J Wang jian.j.wang@intel.com <mailto:jian.j.wang@intel.com> [jwang36]
M: Liming Gao gaoliming@byosoft.com.cn <mailto:gaoliming@byosoft.com.cn> [lgao4]
Jian and Liming are maintainers of MdeModulePkg.
The patch passed my review. Either of them can help to merge the patch.
I guess Liming might not see this patch. I am sure he can help on merging it.
Thanks,
Ray
From: devel@edk2.groups.io <mailto:devel@edk2.groups.io> <devel@edk2.groups.io <mailto:devel@edk2.groups.io> > On Behalf Of Sheng Lean Tan
Sent: Wednesday, March 8, 2023 4:55 PM
To: Tan, Lean Sheng <sheng.tan@9elements.com <mailto:sheng.tan@9elements.com> >; devel@edk2.groups.io <mailto:devel@edk2.groups.io>
Subject: Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
Seriously, what is the hold up here?
did Sean not following the process? Did he miss anything?
it just doesn’t make sense to keep ignoring this patch for half year for no reason. Is there a way to voice up a about this?
[-- Attachment #2: Type: text/html, Size: 8081 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-03-09 0:54 ` 回复: " gaoliming
@ 2023-03-10 11:29 ` Sheng Lean Tan
2023-03-15 16:41 ` Sheng Lean Tan
0 siblings, 1 reply; 21+ messages in thread
From: Sheng Lean Tan @ 2023-03-10 11:29 UTC (permalink / raw)
To: gaoliming, devel
[-- Attachment #1: Type: text/plain, Size: 132 bytes --]
Thanks Liming and Ray for looking into this. It was really frustrating that no one bothers to reply after keep pinging for months.
[-- Attachment #2: Type: text/html, Size: 132 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [edk2-devel] 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-03-10 11:29 ` [edk2-devel] " Sheng Lean Tan
@ 2023-03-15 16:41 ` Sheng Lean Tan
2023-03-17 3:03 ` 回复: " gaoliming
0 siblings, 1 reply; 21+ messages in thread
From: Sheng Lean Tan @ 2023-03-15 16:41 UTC (permalink / raw)
To: devel, Ni, Ray; +Cc: gaoliming
[-- Attachment #1: Type: text/plain, Size: 49 bytes --]
Hi Liming/ Ray,
Could you help to merge?
Thanks.
[-- Attachment #2: Type: text/html, Size: 90 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* 回复: [edk2-devel] 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
2023-03-15 16:41 ` Sheng Lean Tan
@ 2023-03-17 3:03 ` gaoliming
0 siblings, 0 replies; 21+ messages in thread
From: gaoliming @ 2023-03-17 3:03 UTC (permalink / raw)
To: devel, sheng.tan, 'Ni, Ray'
[-- Attachment #1: Type: text/plain, Size: 542 bytes --]
Tan:
I rebase this PR https://github.com/tianocore/edk2/pull/4127 again. It will be merged now.
Thanks
Liming
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Sheng Lean Tan
发送时间: 2023年3月16日 0:41
收件人: devel@edk2.groups.io; Ni, Ray <ray.ni@intel.com>
抄送: gaoliming <gaoliming@byosoft.com.cn>
主题: Re: [edk2-devel] 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present
Hi Liming/ Ray,
Could you help to merge?
Thanks.
[-- Attachment #2: Type: text/html, Size: 4358 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2023-03-17 3:03 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-16 8:58 [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present Sean Rhodes
2022-12-16 8:58 ` [PATCH 2/3] MdeModulePkg/XhciDxe/Xhci: Don't check for invalid PSIV Sean Rhodes
2022-12-19 6:16 ` Wu, Hao A
2022-12-21 0:48 ` [edk2-devel] " Wu, Hao A
2022-12-16 8:58 ` [PATCH 3/3] MdeModulePkg/Bus/Pci/XhciDxe: Check port is compatible before getting PSIV Sean Rhodes
2022-12-19 7:46 ` [edk2-devel] " Wu, Hao A
2022-12-21 0:49 ` Wu, Hao A
2022-12-16 9:03 ` [edk2-devel] [PATCH 1/3] MdeModulePkg/BmBoot: Skip removable media if it is not present Ni, Ray
2023-01-28 19:01 ` Sean Rhodes
2023-02-13 10:01 ` Sheng Lean Tan
2023-02-13 11:56 ` Ni, Ray
2023-02-17 12:56 ` Sheng Lean Tan
[not found] ` <17449DF2E9A4F10E.28744@groups.io>
2023-03-06 9:57 ` Sheng Lean Tan
2023-03-07 11:32 ` Sheng Lean Tan
2023-03-08 8:54 ` Sheng Lean Tan
2023-03-08 8:57 ` Ni, Ray
2023-03-09 0:54 ` 回复: " gaoliming
2023-03-10 11:29 ` [edk2-devel] " Sheng Lean Tan
2023-03-15 16:41 ` Sheng Lean Tan
2023-03-17 3:03 ` 回复: " gaoliming
[not found] ` <174A9A2823F47D61.24021@groups.io>
2023-03-10 2:20 ` gaoliming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox