MdeModulePkg Xhci: Handle value 5 in Port Speed field of PORTSC

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1267

The value 5 Port Speed field of PORTSC is new defined in
XHCI 1.1 spec November 2017.

This patch updates XhciDxe and XhciPei to handle it, otherwise
the USB 3.1 device may not be recognized with the XHCI controller
following XHCI 1.1 spec November 2017.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
This commit is contained in:
Star Zeng
2018-10-21 11:12:01 +08:00
parent fed6cf25b8
commit 4a723d3d7f
4 changed files with 12 additions and 8 deletions

View File

@@ -403,7 +403,8 @@ XhcGetRootHubPortStatus (
State = XhcReadOpReg (Xhc, Offset);
//
// According to XHCI 1.0 spec, bit 10~13 of the root port status register identifies the speed of the attached device.
// 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:
@@ -415,6 +416,7 @@ XhcGetRootHubPortStatus (
break;
case 4:
case 5:
PortStatus->PortStatus |= USB_PORT_STAT_SUPER_SPEED;
break;