public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platform][PATCH V3 1/1] MdeModulePkg: SdMmcPciHcDxe: Fix issue that SD1.0 cards can't be recognized
@ 2022-12-07 11:08 Chevron Li
  2022-12-08  3:14 ` Wu, Hao A
  0 siblings, 1 reply; 3+ messages in thread
From: Chevron Li @ 2022-12-07 11:08 UTC (permalink / raw)
  To: devel
  Cc: hao.a.wu, ray.ni, jian.j.wang, gaoliming, shirley.her, shaper.liu,
	xiaoguang.yu, Chevron Li (WH)

From: "Chevron Li (WH)" <chevron.li@bayhubtech.com>

SD1.0 cards don't support CMD8 and CMD6
CMD8 result can be used to distinguish the card is SD1.0 or not.
CMD8 result can be used to decide following CMD6 is sent or skip.

Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Chevron Li <chevron.li@bayhubtech.com>
---
Changes in V2:
1.Update description comment for input parameter 'SdVersion1'.
2.Add variables initialize operation to avoid unexpected value.
3.Use TRUE replace with 1 to assign value for BOOLEAN variable.

Changes in V3:
1.Update code format for CL test fail.
2.Fix memory out of bounds when initialize SwitchResp.
---
 MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c | 34 +++++++++++++------
 1 file changed, 24 insertions(+), 10 deletions(-)

diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
index f5a3607e47..8bf452e9d0 100644
--- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
+++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
@@ -1074,6 +1074,7 @@ SdGetTargetBusMode (
   @param[in] Slot           The slot number of the SD card to send the command to.
   @param[in] Rca            The relative device address to be assigned.
   @param[in] S18A           The boolean to show if it's a UHS-I SD card.
+  @param[in] SdVersion1     The boolean to show if it's a Version 1 SD card.
 
   @retval EFI_SUCCESS       The operation is done correctly.
   @retval Others            The operation fails.
@@ -1085,7 +1086,8 @@ SdCardSetBusMode (
   IN EFI_SD_MMC_PASS_THRU_PROTOCOL  *PassThru,
   IN UINT8                          Slot,
   IN UINT16                         Rca,
-  IN BOOLEAN                        S18A
+  IN BOOLEAN                        S18A,
+  IN BOOLEAN                        SdVersion1
   )
 {
   EFI_STATUS              Status;
@@ -1095,6 +1097,8 @@ SdCardSetBusMode (
   SD_MMC_HC_PRIVATE_DATA  *Private;
   SD_MMC_BUS_SETTINGS     BusMode;
 
+  ZeroMem (SwitchResp, 64 * sizeof (UINT8));
+
   Private = SD_MMC_HC_PRIVATE_FROM_THIS (PassThru);
 
   Capability = &Private->Capability[Slot];
@@ -1117,10 +1121,13 @@ SdCardSetBusMode (
 
   //
   // Get the supported bus speed from SWITCH cmd return data group #1.
+  // SdVersion1 don't support the SWITCH cmd
   //
-  Status = SdCardSwitch (PassThru, Slot, 0xFF, 0xF, SdDriverStrengthIgnore, 0xF, FALSE, SwitchResp);
-  if (EFI_ERROR (Status)) {
-    return Status;
+  if (!SdVersion1) {
+    Status = SdCardSwitch (PassThru, Slot, 0xFF, 0xF, SdDriverStrengthIgnore, 0xF, FALSE, SwitchResp);
+    if (EFI_ERROR (Status)) {
+      return Status;
+    }
   }
 
   SdGetTargetBusMode (Private, Slot, SwitchResp, S18A, &BusMode);
@@ -1141,9 +1148,14 @@ SdCardSetBusMode (
     }
   }
 
-  Status = SdCardSwitch (PassThru, Slot, BusMode.BusTiming, 0xF, BusMode.DriverStrength.Sd, 0xF, TRUE, SwitchResp);
-  if (EFI_ERROR (Status)) {
-    return Status;
+  //
+  // SdVersion1 don't support the SWITCH cmd
+  //
+  if (!SdVersion1) {
+    Status = SdCardSwitch (PassThru, Slot, BusMode.BusTiming, 0xF, BusMode.DriverStrength.Sd, 0xF, TRUE, SwitchResp);
+    if (EFI_ERROR (Status)) {
+      return Status;
+    }
   }
 
   Status = SdMmcSetDriverStrength (Private->PciIo, Slot, BusMode.DriverStrength.Sd);
@@ -1214,8 +1226,10 @@ SdCardIdentification (
   UINT8                          HostCtrl2;
   UINTN                          Retry;
   BOOLEAN                        ForceVoltage33;
+  BOOLEAN                        SdVersion1;
 
   ForceVoltage33 = FALSE;
+  SdVersion1     = FALSE;
 
   PciIo    = Private->PciIo;
   PassThru = &Private->PassThru;
@@ -1231,12 +1245,12 @@ Voltage33Retry:
   }
 
   //
-  // 2. Send Cmd8 to the device
+  // 2. Send Cmd8 to the device, the command will fail for SdVersion1
   //
   Status = SdCardVoltageCheck (PassThru, Slot, 0x1, 0xFF);
   if (EFI_ERROR (Status)) {
+    SdVersion1 = TRUE;
     DEBUG ((DEBUG_INFO, "SdCardIdentification: Executing Cmd8 fails with %r\n", Status));
-    return Status;
   }
 
   //
@@ -1426,7 +1440,7 @@ Voltage33Retry:
   DEBUG ((DEBUG_INFO, "SdCardIdentification: Found a SD device at slot [%d]\n", Slot));
   Private->Slot[Slot].CardType = SdCardType;
 
-  Status = SdCardSetBusMode (PciIo, PassThru, Slot, Rca, ((Ocr & BIT24) != 0));
+  Status = SdCardSetBusMode (PciIo, PassThru, Slot, Rca, ((Ocr & BIT24) != 0), SdVersion1);
 
   return Status;
 

base-commit: 7bee2498910a9034faaf90802c49188afb7582dc
-- 
2.18.0.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [edk2-platform][PATCH V3 1/1] MdeModulePkg: SdMmcPciHcDxe: Fix issue that SD1.0 cards can't be recognized
  2022-12-07 11:08 [edk2-platform][PATCH V3 1/1] MdeModulePkg: SdMmcPciHcDxe: Fix issue that SD1.0 cards can't be recognized Chevron Li
@ 2022-12-08  3:14 ` Wu, Hao A
  2022-12-12  2:48   ` [edk2-devel] " Wu, Hao A
  0 siblings, 1 reply; 3+ messages in thread
From: Wu, Hao A @ 2022-12-08  3:14 UTC (permalink / raw)
  To: Chevron Li, devel@edk2.groups.io
  Cc: Ni, Ray, Wang, Jian J, Gao, Liming, shirley.her@bayhubtech.com,
	shaper.liu@bayhubtech.com, xiaoguang.yu@bayhubtech.com

Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
Will wait a couple of days before merging to see if comments from other reviewers.

Best Regards,
Hao Wu

> -----Original Message-----
> From: Chevron Li <chevron.li@bayhubtech.com>
> Sent: Wednesday, December 7, 2022 7:09 PM
> To: devel@edk2.groups.io
> Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Wang,
> Jian J <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>;
> shirley.her@bayhubtech.com; shaper.liu@bayhubtech.com;
> xiaoguang.yu@bayhubtech.com; Chevron Li (WH)
> <chevron.li@bayhubtech.com>
> Subject: [edk2-platform][PATCH V3 1/1] MdeModulePkg: SdMmcPciHcDxe:
> Fix issue that SD1.0 cards can't be recognized
> 
> From: "Chevron Li (WH)" <chevron.li@bayhubtech.com>
> 
> SD1.0 cards don't support CMD8 and CMD6
> CMD8 result can be used to distinguish the card is SD1.0 or not.
> CMD8 result can be used to decide following CMD6 is sent or skip.
> 
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Signed-off-by: Chevron Li <chevron.li@bayhubtech.com>
> ---
> Changes in V2:
> 1.Update description comment for input parameter 'SdVersion1'.
> 2.Add variables initialize operation to avoid unexpected value.
> 3.Use TRUE replace with 1 to assign value for BOOLEAN variable.
> 
> Changes in V3:
> 1.Update code format for CL test fail.
> 2.Fix memory out of bounds when initialize SwitchResp.
> ---
>  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c | 34 +++++++++++++--
> ----
>  1 file changed, 24 insertions(+), 10 deletions(-)
> 
> diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
> b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
> index f5a3607e47..8bf452e9d0 100644
> --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
> +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
> @@ -1074,6 +1074,7 @@ SdGetTargetBusMode (
>    @param[in] Slot           The slot number of the SD card to send the
> command to.
> 
>    @param[in] Rca            The relative device address to be assigned.
> 
>    @param[in] S18A           The boolean to show if it's a UHS-I SD card.
> 
> +  @param[in] SdVersion1     The boolean to show if it's a Version 1 SD card.
> 
> 
> 
>    @retval EFI_SUCCESS       The operation is done correctly.
> 
>    @retval Others            The operation fails.
> 
> @@ -1085,7 +1086,8 @@ SdCardSetBusMode (
>    IN EFI_SD_MMC_PASS_THRU_PROTOCOL  *PassThru,
> 
>    IN UINT8                          Slot,
> 
>    IN UINT16                         Rca,
> 
> -  IN BOOLEAN                        S18A
> 
> +  IN BOOLEAN                        S18A,
> 
> +  IN BOOLEAN                        SdVersion1
> 
>    )
> 
>  {
> 
>    EFI_STATUS              Status;
> 
> @@ -1095,6 +1097,8 @@ SdCardSetBusMode (
>    SD_MMC_HC_PRIVATE_DATA  *Private;
> 
>    SD_MMC_BUS_SETTINGS     BusMode;
> 
> 
> 
> +  ZeroMem (SwitchResp, 64 * sizeof (UINT8));
> 
> +
> 
>    Private = SD_MMC_HC_PRIVATE_FROM_THIS (PassThru);
> 
> 
> 
>    Capability = &Private->Capability[Slot];
> 
> @@ -1117,10 +1121,13 @@ SdCardSetBusMode (
> 
> 
>    //
> 
>    // Get the supported bus speed from SWITCH cmd return data group #1.
> 
> +  // SdVersion1 don't support the SWITCH cmd
> 
>    //
> 
> -  Status = SdCardSwitch (PassThru, Slot, 0xFF, 0xF, SdDriverStrengthIgnore,
> 0xF, FALSE, SwitchResp);
> 
> -  if (EFI_ERROR (Status)) {
> 
> -    return Status;
> 
> +  if (!SdVersion1) {
> 
> +    Status = SdCardSwitch (PassThru, Slot, 0xFF, 0xF, SdDriverStrengthIgnore,
> 0xF, FALSE, SwitchResp);
> 
> +    if (EFI_ERROR (Status)) {
> 
> +      return Status;
> 
> +    }
> 
>    }
> 
> 
> 
>    SdGetTargetBusMode (Private, Slot, SwitchResp, S18A, &BusMode);
> 
> @@ -1141,9 +1148,14 @@ SdCardSetBusMode (
>      }
> 
>    }
> 
> 
> 
> -  Status = SdCardSwitch (PassThru, Slot, BusMode.BusTiming, 0xF,
> BusMode.DriverStrength.Sd, 0xF, TRUE, SwitchResp);
> 
> -  if (EFI_ERROR (Status)) {
> 
> -    return Status;
> 
> +  //
> 
> +  // SdVersion1 don't support the SWITCH cmd
> 
> +  //
> 
> +  if (!SdVersion1) {
> 
> +    Status = SdCardSwitch (PassThru, Slot, BusMode.BusTiming, 0xF,
> BusMode.DriverStrength.Sd, 0xF, TRUE, SwitchResp);
> 
> +    if (EFI_ERROR (Status)) {
> 
> +      return Status;
> 
> +    }
> 
>    }
> 
> 
> 
>    Status = SdMmcSetDriverStrength (Private->PciIo, Slot,
> BusMode.DriverStrength.Sd);
> 
> @@ -1214,8 +1226,10 @@ SdCardIdentification (
>    UINT8                          HostCtrl2;
> 
>    UINTN                          Retry;
> 
>    BOOLEAN                        ForceVoltage33;
> 
> +  BOOLEAN                        SdVersion1;
> 
> 
> 
>    ForceVoltage33 = FALSE;
> 
> +  SdVersion1     = FALSE;
> 
> 
> 
>    PciIo    = Private->PciIo;
> 
>    PassThru = &Private->PassThru;
> 
> @@ -1231,12 +1245,12 @@ Voltage33Retry:
>    }
> 
> 
> 
>    //
> 
> -  // 2. Send Cmd8 to the device
> 
> +  // 2. Send Cmd8 to the device, the command will fail for SdVersion1
> 
>    //
> 
>    Status = SdCardVoltageCheck (PassThru, Slot, 0x1, 0xFF);
> 
>    if (EFI_ERROR (Status)) {
> 
> +    SdVersion1 = TRUE;
> 
>      DEBUG ((DEBUG_INFO, "SdCardIdentification: Executing Cmd8 fails
> with %r\n", Status));
> 
> -    return Status;
> 
>    }
> 
> 
> 
>    //
> 
> @@ -1426,7 +1440,7 @@ Voltage33Retry:
>    DEBUG ((DEBUG_INFO, "SdCardIdentification: Found a SD device at slot
> [%d]\n", Slot));
> 
>    Private->Slot[Slot].CardType = SdCardType;
> 
> 
> 
> -  Status = SdCardSetBusMode (PciIo, PassThru, Slot, Rca, ((Ocr & BIT24) !=
> 0));
> 
> +  Status = SdCardSetBusMode (PciIo, PassThru, Slot, Rca, ((Ocr & BIT24) != 0),
> SdVersion1);
> 
> 
> 
>    return Status;
> 
> 
> 
> 
> base-commit: 7bee2498910a9034faaf90802c49188afb7582dc
> --
> 2.18.0.windows.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [edk2-devel] [edk2-platform][PATCH V3 1/1] MdeModulePkg: SdMmcPciHcDxe: Fix issue that SD1.0 cards can't be recognized
  2022-12-08  3:14 ` Wu, Hao A
@ 2022-12-12  2:48   ` Wu, Hao A
  0 siblings, 0 replies; 3+ messages in thread
From: Wu, Hao A @ 2022-12-12  2:48 UTC (permalink / raw)
  To: devel@edk2.groups.io, Wu, Hao A, Chevron Li
  Cc: Ni, Ray, Wang, Jian J, Gao, Liming, shirley.her@bayhubtech.com,
	shaper.liu@bayhubtech.com, xiaoguang.yu@bayhubtech.com

Pushed via:
PR - https://github.com/tianocore/edk2/pull/3748
Commit - https://github.com/tianocore/edk2/commit/5890a18409a0e67a491c600b930e6c904ad3b3fd

Best Regards,
Hao Wu

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu, Hao
> A
> Sent: Thursday, December 8, 2022 11:14 AM
> To: Chevron Li <chevron.li@bayhubtech.com>; devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Gao,
> Liming <gaoliming@byosoft.com.cn>; shirley.her@bayhubtech.com;
> shaper.liu@bayhubtech.com; xiaoguang.yu@bayhubtech.com
> Subject: Re: [edk2-devel] [edk2-platform][PATCH V3 1/1] MdeModulePkg:
> SdMmcPciHcDxe: Fix issue that SD1.0 cards can't be recognized
> 
> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
> Will wait a couple of days before merging to see if comments from other
> reviewers.
> 
> Best Regards,
> Hao Wu
> 
> > -----Original Message-----
> > From: Chevron Li <chevron.li@bayhubtech.com>
> > Sent: Wednesday, December 7, 2022 7:09 PM
> > To: devel@edk2.groups.io
> > Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Wang,
> > Jian J <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>;
> > shirley.her@bayhubtech.com; shaper.liu@bayhubtech.com;
> > xiaoguang.yu@bayhubtech.com; Chevron Li (WH)
> > <chevron.li@bayhubtech.com>
> > Subject: [edk2-platform][PATCH V3 1/1] MdeModulePkg: SdMmcPciHcDxe:
> > Fix issue that SD1.0 cards can't be recognized
> >
> > From: "Chevron Li (WH)" <chevron.li@bayhubtech.com>
> >
> > SD1.0 cards don't support CMD8 and CMD6
> > CMD8 result can be used to distinguish the card is SD1.0 or not.
> > CMD8 result can be used to decide following CMD6 is sent or skip.
> >
> > Cc: Hao A Wu <hao.a.wu@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Signed-off-by: Chevron Li <chevron.li@bayhubtech.com>
> > ---
> > Changes in V2:
> > 1.Update description comment for input parameter 'SdVersion1'.
> > 2.Add variables initialize operation to avoid unexpected value.
> > 3.Use TRUE replace with 1 to assign value for BOOLEAN variable.
> >
> > Changes in V3:
> > 1.Update code format for CL test fail.
> > 2.Fix memory out of bounds when initialize SwitchResp.
> > ---
> >  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c | 34
> +++++++++++++--
> > ----
> >  1 file changed, 24 insertions(+), 10 deletions(-)
> >
> > diff --git a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
> > b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
> > index f5a3607e47..8bf452e9d0 100644
> > --- a/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
> > +++ b/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c
> > @@ -1074,6 +1074,7 @@ SdGetTargetBusMode (
> >    @param[in] Slot           The slot number of the SD card to send the
> > command to.
> >
> >    @param[in] Rca            The relative device address to be assigned.
> >
> >    @param[in] S18A           The boolean to show if it's a UHS-I SD card.
> >
> > +  @param[in] SdVersion1     The boolean to show if it's a Version 1 SD card.
> >
> >
> >
> >    @retval EFI_SUCCESS       The operation is done correctly.
> >
> >    @retval Others            The operation fails.
> >
> > @@ -1085,7 +1086,8 @@ SdCardSetBusMode (
> >    IN EFI_SD_MMC_PASS_THRU_PROTOCOL  *PassThru,
> >
> >    IN UINT8                          Slot,
> >
> >    IN UINT16                         Rca,
> >
> > -  IN BOOLEAN                        S18A
> >
> > +  IN BOOLEAN                        S18A,
> >
> > +  IN BOOLEAN                        SdVersion1
> >
> >    )
> >
> >  {
> >
> >    EFI_STATUS              Status;
> >
> > @@ -1095,6 +1097,8 @@ SdCardSetBusMode (
> >    SD_MMC_HC_PRIVATE_DATA  *Private;
> >
> >    SD_MMC_BUS_SETTINGS     BusMode;
> >
> >
> >
> > +  ZeroMem (SwitchResp, 64 * sizeof (UINT8));
> >
> > +
> >
> >    Private = SD_MMC_HC_PRIVATE_FROM_THIS (PassThru);
> >
> >
> >
> >    Capability = &Private->Capability[Slot];
> >
> > @@ -1117,10 +1121,13 @@ SdCardSetBusMode (
> >
> >
> >    //
> >
> >    // Get the supported bus speed from SWITCH cmd return data group #1.
> >
> > +  // SdVersion1 don't support the SWITCH cmd
> >
> >    //
> >
> > -  Status = SdCardSwitch (PassThru, Slot, 0xFF, 0xF, SdDriverStrengthIgnore,
> > 0xF, FALSE, SwitchResp);
> >
> > -  if (EFI_ERROR (Status)) {
> >
> > -    return Status;
> >
> > +  if (!SdVersion1) {
> >
> > +    Status = SdCardSwitch (PassThru, Slot, 0xFF, 0xF,
> SdDriverStrengthIgnore,
> > 0xF, FALSE, SwitchResp);
> >
> > +    if (EFI_ERROR (Status)) {
> >
> > +      return Status;
> >
> > +    }
> >
> >    }
> >
> >
> >
> >    SdGetTargetBusMode (Private, Slot, SwitchResp, S18A, &BusMode);
> >
> > @@ -1141,9 +1148,14 @@ SdCardSetBusMode (
> >      }
> >
> >    }
> >
> >
> >
> > -  Status = SdCardSwitch (PassThru, Slot, BusMode.BusTiming, 0xF,
> > BusMode.DriverStrength.Sd, 0xF, TRUE, SwitchResp);
> >
> > -  if (EFI_ERROR (Status)) {
> >
> > -    return Status;
> >
> > +  //
> >
> > +  // SdVersion1 don't support the SWITCH cmd
> >
> > +  //
> >
> > +  if (!SdVersion1) {
> >
> > +    Status = SdCardSwitch (PassThru, Slot, BusMode.BusTiming, 0xF,
> > BusMode.DriverStrength.Sd, 0xF, TRUE, SwitchResp);
> >
> > +    if (EFI_ERROR (Status)) {
> >
> > +      return Status;
> >
> > +    }
> >
> >    }
> >
> >
> >
> >    Status = SdMmcSetDriverStrength (Private->PciIo, Slot,
> > BusMode.DriverStrength.Sd);
> >
> > @@ -1214,8 +1226,10 @@ SdCardIdentification (
> >    UINT8                          HostCtrl2;
> >
> >    UINTN                          Retry;
> >
> >    BOOLEAN                        ForceVoltage33;
> >
> > +  BOOLEAN                        SdVersion1;
> >
> >
> >
> >    ForceVoltage33 = FALSE;
> >
> > +  SdVersion1     = FALSE;
> >
> >
> >
> >    PciIo    = Private->PciIo;
> >
> >    PassThru = &Private->PassThru;
> >
> > @@ -1231,12 +1245,12 @@ Voltage33Retry:
> >    }
> >
> >
> >
> >    //
> >
> > -  // 2. Send Cmd8 to the device
> >
> > +  // 2. Send Cmd8 to the device, the command will fail for SdVersion1
> >
> >    //
> >
> >    Status = SdCardVoltageCheck (PassThru, Slot, 0x1, 0xFF);
> >
> >    if (EFI_ERROR (Status)) {
> >
> > +    SdVersion1 = TRUE;
> >
> >      DEBUG ((DEBUG_INFO, "SdCardIdentification: Executing Cmd8 fails
> > with %r\n", Status));
> >
> > -    return Status;
> >
> >    }
> >
> >
> >
> >    //
> >
> > @@ -1426,7 +1440,7 @@ Voltage33Retry:
> >    DEBUG ((DEBUG_INFO, "SdCardIdentification: Found a SD device at slot
> > [%d]\n", Slot));
> >
> >    Private->Slot[Slot].CardType = SdCardType;
> >
> >
> >
> > -  Status = SdCardSetBusMode (PciIo, PassThru, Slot, Rca, ((Ocr & BIT24) !=
> > 0));
> >
> > +  Status = SdCardSetBusMode (PciIo, PassThru, Slot, Rca, ((Ocr & BIT24) !=
> 0),
> > SdVersion1);
> >
> >
> >
> >    return Status;
> >
> >
> >
> >
> > base-commit: 7bee2498910a9034faaf90802c49188afb7582dc
> > --
> > 2.18.0.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-12-12  2:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-07 11:08 [edk2-platform][PATCH V3 1/1] MdeModulePkg: SdMmcPciHcDxe: Fix issue that SD1.0 cards can't be recognized Chevron Li
2022-12-08  3:14 ` Wu, Hao A
2022-12-12  2:48   ` [edk2-devel] " Wu, Hao A

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox