]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/Xhci: Initial XHCI DCI slot's Context value
authorAbner Chang <abner.chang@amd.com>
Wed, 11 Jan 2023 03:10:06 +0000 (11:10 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 16 Jan 2023 02:34:53 +0000 (02:34 +0000)
Initialize XHCI DCI slot's context entries value.

Signed-off-by: Jiangang He <jiangang.he@amd.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Garrett Kirkendall <garrett.kirkendall@amd.com>
Cc: Abner Chang <abner.chang@amd.com>
Cc: Kuei-Hung Lin <Kuei-Hung.Lin@amd.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c
MdeModulePkg/Bus/Pci/XhciPei/XhciSched.c

index 13247f7b0dfcc33eeb16bcf286b9736ee1f9340b..4b7462704a812ee2868123a8100ed63df7a64c22 100644 (file)
@@ -4,6 +4,7 @@
 \r
 Copyright (c) 2011 - 2020, Intel Corporation. All rights reserved.<BR>\r
 Copyright (c) Microsoft Corporation.<BR>\r
+Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>\r
 SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -2807,6 +2808,9 @@ XhcInitializeEndpointContext (
   MaxDci = 0;\r
 \r
   NumEp = IfDesc->NumEndpoints;\r
+  if (NumEp == 0) {\r
+    MaxDci = 1;\r
+  }\r
 \r
   EpDesc = (USB_ENDPOINT_DESCRIPTOR *)(IfDesc + 1);\r
   for (EpIndex = 0; EpIndex < NumEp; EpIndex++) {\r
@@ -3006,6 +3010,9 @@ XhcInitializeEndpointContext64 (
   MaxDci = 0;\r
 \r
   NumEp = IfDesc->NumEndpoints;\r
+  if (NumEp == 0) {\r
+    MaxDci = 1;\r
+  }\r
 \r
   EpDesc = (USB_ENDPOINT_DESCRIPTOR *)(IfDesc + 1);\r
   for (EpIndex = 0; EpIndex < NumEp; EpIndex++) {\r
index cc597a4371740adc66dc439e277fb6a8d1ee6843..8400c90f7add3675db7e2ec19871dbcecbbb246a 100644 (file)
@@ -3,6 +3,7 @@ PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
 which is used to enable recovery function from USB Drivers.\r
 \r
 Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>\r
+Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>\r
 \r
 SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
@@ -1752,6 +1753,9 @@ XhcPeiSetConfigCmd (
     }\r
 \r
     NumEp = IfDesc->NumEndpoints;\r
+    if ((NumEp == 0) && (MaxDci == 0)) {\r
+      MaxDci = 1;\r
+    }\r
 \r
     EpDesc = (USB_ENDPOINT_DESCRIPTOR *)(IfDesc + 1);\r
     for (EpIndex = 0; EpIndex < NumEp; EpIndex++) {\r
@@ -1974,6 +1978,9 @@ XhcPeiSetConfigCmd64 (
     }\r
 \r
     NumEp = IfDesc->NumEndpoints;\r
+    if ((NumEp == 0) && (MaxDci == 0)) {\r
+      MaxDci = 1;\r
+    }\r
 \r
     EpDesc = (USB_ENDPOINT_DESCRIPTOR *)(IfDesc + 1);\r
     for (EpIndex = 0; EpIndex < NumEp; EpIndex++) {\r