public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported
@ 2018-10-25  6:56 tien.hock.loh
  0 siblings, 0 replies; 5+ messages in thread
From: tien.hock.loh @ 2018-10-25  6:56 UTC (permalink / raw)
  To: edk2-devel, thloh85

From: "Loh, Tien Hock" <tien.hock.loh@intel.com>

If SD doesn't support SD_HIGH_SPEED, function should still continue to
setup SD to go into 4 bits more if it is supported.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Loh Tien Hock <tien.hock.loh@intel.com>
---
 EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c b/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
index f661a0c..8fd5c31 100755
--- a/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
+++ b/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
@@ -474,18 +474,17 @@ InitializeSdMmcDevice (
 
     if (!(Buffer[3] & SD_HIGH_SPEED_SUPPORTED)) {
       DEBUG ((DEBUG_ERROR, "%a : High Speed not supported by Card %r\n", __FUNCTION__, Status));
-      return Status;
     }
+    else {
+      Speed = SD_HIGH_SPEED;
 
-    Speed = SD_HIGH_SPEED;
-
-    /* SD Switch, Mode:1, Group:0, Value:1 */
-    CmdArg = CreateSwitchCmdArgument(1, 0, 1);
-    Status = MmcHost->SendCommand (MmcHost, MMC_CMD6, CmdArg);
-    if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
-       return Status;
-    } else {
+      /* SD Switch, Mode:1, Group:0, Value:1 */
+      CmdArg = CreateSwitchCmdArgument(1, 0, 1);
+      Status = MmcHost->SendCommand (MmcHost, MMC_CMD6, CmdArg);
+      if (EFI_ERROR (Status)) {
+        DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
+        return Status;
+      } else {
       Status = MmcHost->ReadBlockData (MmcHost, 0, SWITCH_CMD_DATA_LENGTH, Buffer);
       if (EFI_ERROR (Status)) {
         DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): ReadBlockData Error and Status = %r\n", __FUNCTION__, Status));
@@ -495,6 +494,7 @@ InitializeSdMmcDevice (
       if ((Buffer[4] & SWITCH_CMD_SUCCESS_MASK) != 0x01000000) {
         DEBUG((DEBUG_ERROR, "Problem switching SD card into high-speed mode\n"));
         return Status;
+        }
       }
     }
   }
-- 
2.2.2



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

* [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported
@ 2019-02-22  7:58 tien.hock.loh
  2019-03-15  3:27 ` Loh, Tien Hock
  2019-03-15 11:27 ` Ard Biesheuvel
  0 siblings, 2 replies; 5+ messages in thread
From: tien.hock.loh @ 2019-02-22  7:58 UTC (permalink / raw)
  To: edk2-devel, leif.lindholm, ard.biesheuvel, thloh85

From: "Loh, Tien Hock" <tien.hock.loh@intel.com>

If SD doesn't support SD_HIGH_SPEED, function should still continue to
setup SD to go into 4 bits more if it is supported.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Loh Tien Hock <tien.hock.loh@intel.com>
---
 EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c b/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
index f661a0c..8fd5c31 100755
--- a/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
+++ b/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
@@ -474,18 +474,17 @@ InitializeSdMmcDevice (
 
     if (!(Buffer[3] & SD_HIGH_SPEED_SUPPORTED)) {
       DEBUG ((DEBUG_ERROR, "%a : High Speed not supported by Card %r\n", __FUNCTION__, Status));
-      return Status;
     }
+    else {
+      Speed = SD_HIGH_SPEED;
 
-    Speed = SD_HIGH_SPEED;
-
-    /* SD Switch, Mode:1, Group:0, Value:1 */
-    CmdArg = CreateSwitchCmdArgument(1, 0, 1);
-    Status = MmcHost->SendCommand (MmcHost, MMC_CMD6, CmdArg);
-    if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
-       return Status;
-    } else {
+      /* SD Switch, Mode:1, Group:0, Value:1 */
+      CmdArg = CreateSwitchCmdArgument(1, 0, 1);
+      Status = MmcHost->SendCommand (MmcHost, MMC_CMD6, CmdArg);
+      if (EFI_ERROR (Status)) {
+        DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
+        return Status;
+      } else {
       Status = MmcHost->ReadBlockData (MmcHost, 0, SWITCH_CMD_DATA_LENGTH, Buffer);
       if (EFI_ERROR (Status)) {
         DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): ReadBlockData Error and Status = %r\n", __FUNCTION__, Status));
@@ -495,6 +494,7 @@ InitializeSdMmcDevice (
       if ((Buffer[4] & SWITCH_CMD_SUCCESS_MASK) != 0x01000000) {
         DEBUG((DEBUG_ERROR, "Problem switching SD card into high-speed mode\n"));
         return Status;
+        }
       }
     }
   }
-- 
2.2.2



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

* Re: [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported
  2019-02-22  7:58 [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported tien.hock.loh
@ 2019-03-15  3:27 ` Loh, Tien Hock
  2019-03-15 11:27 ` Ard Biesheuvel
  1 sibling, 0 replies; 5+ messages in thread
From: Loh, Tien Hock @ 2019-03-15  3:27 UTC (permalink / raw)
  To: edk2-devel@lists.01.org, leif.lindholm@linaro.org,
	ard.biesheuvel@linaro.org, thloh85@gmail.com

Hi Leif, Ard,

Any comments on this patch?

Thanks
Tien Hock

-----Original Message-----
From: Loh, Tien Hock 
Sent: Friday, February 22, 2019 3:58 PM
To: edk2-devel@lists.01.org; leif.lindholm@linaro.org; ard.biesheuvel@linaro.org; thloh85@gmail.com
Cc: Loh, Tien Hock <tien.hock.loh@intel.com>
Subject: [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported

From: "Loh, Tien Hock" <tien.hock.loh@intel.com>

If SD doesn't support SD_HIGH_SPEED, function should still continue to setup SD to go into 4 bits more if it is supported.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Loh Tien Hock <tien.hock.loh@intel.com>
---
 EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c b/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
index f661a0c..8fd5c31 100755
--- a/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
+++ b/EmbeddedPkg/Universal/MmcDxe/MmcIdentification.c
@@ -474,18 +474,17 @@ InitializeSdMmcDevice (
 
     if (!(Buffer[3] & SD_HIGH_SPEED_SUPPORTED)) {
       DEBUG ((DEBUG_ERROR, "%a : High Speed not supported by Card %r\n", __FUNCTION__, Status));
-      return Status;
     }
+    else {
+      Speed = SD_HIGH_SPEED;
 
-    Speed = SD_HIGH_SPEED;
-
-    /* SD Switch, Mode:1, Group:0, Value:1 */
-    CmdArg = CreateSwitchCmdArgument(1, 0, 1);
-    Status = MmcHost->SendCommand (MmcHost, MMC_CMD6, CmdArg);
-    if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
-       return Status;
-    } else {
+      /* SD Switch, Mode:1, Group:0, Value:1 */
+      CmdArg = CreateSwitchCmdArgument(1, 0, 1);
+      Status = MmcHost->SendCommand (MmcHost, MMC_CMD6, CmdArg);
+      if (EFI_ERROR (Status)) {
+        DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): Error and Status = %r\n", __FUNCTION__, Status));
+        return Status;
+      } else {
       Status = MmcHost->ReadBlockData (MmcHost, 0, SWITCH_CMD_DATA_LENGTH, Buffer);
       if (EFI_ERROR (Status)) {
         DEBUG ((DEBUG_ERROR, "%a (MMC_CMD6): ReadBlockData Error and Status = %r\n", __FUNCTION__, Status)); @@ -495,6 +494,7 @@ InitializeSdMmcDevice (
       if ((Buffer[4] & SWITCH_CMD_SUCCESS_MASK) != 0x01000000) {
         DEBUG((DEBUG_ERROR, "Problem switching SD card into high-speed mode\n"));
         return Status;
+        }
       }
     }
   }
--
2.2.2



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

* Re: [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported
  2019-02-22  7:58 [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported tien.hock.loh
  2019-03-15  3:27 ` Loh, Tien Hock
@ 2019-03-15 11:27 ` Ard Biesheuvel
  2019-03-18  1:53   ` Loh, Tien Hock
  1 sibling, 1 reply; 5+ messages in thread
From: Ard Biesheuvel @ 2019-03-15 11:27 UTC (permalink / raw)
  To: tien.hock.loh; +Cc: edk2-devel@lists.01.org, Leif Lindholm, thloh85

On Fri, 22 Feb 2019 at 08:58, <tien.hock.loh@intel.com> wrote:
>
> From: "Loh, Tien Hock" <tien.hock.loh@intel.com>
>
> If SD doesn't support SD_HIGH_SPEED, function should still continue to
> setup SD to go into 4 bits more if it is supported.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Loh Tien Hock <tien.hock.loh@intel.com>

Thanks Tien Hock

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

I tweaked your patch slightly, to fix some whitespace errors, and
downgrade the severity of the 'high speed not supported' message to
DEBUG_INFO

Pushed as b0189eac00a5..c49f298d28cb


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

* Re: [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported
  2019-03-15 11:27 ` Ard Biesheuvel
@ 2019-03-18  1:53   ` Loh, Tien Hock
  0 siblings, 0 replies; 5+ messages in thread
From: Loh, Tien Hock @ 2019-03-18  1:53 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: edk2-devel@lists.01.org, Leif Lindholm, thloh85@gmail.com

OK noted with thanks Ard! 

Thanks
Tien Hock

-----Original Message-----
From: Ard Biesheuvel <ard.biesheuvel@linaro.org> 
Sent: Friday, March 15, 2019 7:28 PM
To: Loh, Tien Hock <tien.hock.loh@intel.com>
Cc: edk2-devel@lists.01.org; Leif Lindholm <leif.lindholm@linaro.org>; thloh85@gmail.com
Subject: Re: [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported

On Fri, 22 Feb 2019 at 08:58, <tien.hock.loh@intel.com> wrote:
>
> From: "Loh, Tien Hock" <tien.hock.loh@intel.com>
>
> If SD doesn't support SD_HIGH_SPEED, function should still continue to 
> setup SD to go into 4 bits more if it is supported.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Loh Tien Hock <tien.hock.loh@intel.com>

Thanks Tien Hock

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

I tweaked your patch slightly, to fix some whitespace errors, and downgrade the severity of the 'high speed not supported' message to DEBUG_INFO

Pushed as b0189eac00a5..c49f298d28cb

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

end of thread, other threads:[~2019-03-18  1:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-22  7:58 [PATCH 1/1] SD : Continue setting up sd even if SD_HIGH_SPEED is not supported tien.hock.loh
2019-03-15  3:27 ` Loh, Tien Hock
2019-03-15 11:27 ` Ard Biesheuvel
2019-03-18  1:53   ` Loh, Tien Hock
  -- strict thread matches above, loose matches on Subject: below --
2018-10-25  6:56 tien.hock.loh

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