[U-Boot] mmc: sdhci: Fix MMC HS200 tuning command failures

Message ID 1528804807-23944-1-git-send-email-siva.durga.paladugu@xilinx.com
State Superseded
Delegated to: Tom Rini
Headers show
Series
  • [U-Boot] mmc: sdhci: Fix MMC HS200 tuning command failures
Related show

Commit Message

Siva Durga Prasad Paladugu June 12, 2018, noon
This patch fixes the mmc tuning command failures
when tuning pattern data needs to read back for
comparision against the excpected bit pattern.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
---
 drivers/mmc/sdhci.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--
2.7.4

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

Comments

Masahiro Yamada June 12, 2018, 12:27 p.m. | #1
2018-06-12 21:00 GMT+09:00 Siva Durga Prasad Paladugu
<siva.durga.paladugu@xilinx.com>:
> This patch fixes the mmc tuning command failures
> when tuning pattern data needs to read back for
> comparision against the excpected bit pattern.
>

Typo:

excpected  -> expected


Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>


> Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>


This patch does not apply.

I think all the tabs have been replaced with spaces.

What did you use for sending this patch?
If you used your mailer, it is a bad idea.

I recommend to use 'git send-email' (or patman).







> ---
>  drivers/mmc/sdhci.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
> index 40e28ab..cdeba91 100644
> --- a/drivers/mmc/sdhci.c
> +++ b/drivers/mmc/sdhci.c
> @@ -161,8 +161,8 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
>         /* We shouldn't wait for data inihibit for stop commands, even
>            though they might use busy signaling */
>         if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION ||
> -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)
> +           ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> +             cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200) && !data))
>                 mask &= ~SDHCI_DATA_INHIBIT;
>
>         while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) {
> @@ -184,8 +184,8 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
>         sdhci_writel(host, SDHCI_INT_ALL_MASK, SDHCI_INT_STATUS);
>
>         mask = SDHCI_INT_RESPONSE;
> -       if (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)
> +       if ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> +            cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200) && !data)
>                 mask = SDHCI_INT_DATA_AVAIL;
>
>         if (!(cmd->resp_type & MMC_RSP_PRESENT))
> --
> 2.7.4
>
> This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
Siva Durga Prasad Paladugu June 13, 2018, 4:51 a.m. | #2
Hi Masahiro,

Not sure why it caused issue now, i used git send-email to sent this patch
and always uses the same to send patches. One more thing is i didn't get
your reply mail on my official mail id, and i don't have any clue on what
caused the issue. I may need to check with our IT on both these.
I will talk to Michal, if he can send this patch on my behalf till my
e-mail issue got resolved

Thanks,
Siva

On Tue, Jun 12, 2018 at 5:57 PM, Masahiro Yamada <
yamada.masahiro@socionext.com> wrote:

> 2018-06-12 21:00 GMT+09:00 Siva Durga Prasad Paladugu
> <siva.durga.paladugu@xilinx.com>:
> > This patch fixes the mmc tuning command failures
> > when tuning pattern data needs to read back for
> > comparision against the excpected bit pattern.
> >
>
> Typo:
>
> excpected  -> expected
>
>
> Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>
>
> > Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.
> com>
>
>
> This patch does not apply.
>
> I think all the tabs have been replaced with spaces.
>
> What did you use for sending this patch?
> If you used your mailer, it is a bad idea.
>
> I recommend to use 'git send-email' (or patman).
>
>
>
>
>
>
>
> > ---
> >  drivers/mmc/sdhci.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
> > index 40e28ab..cdeba91 100644
> > --- a/drivers/mmc/sdhci.c
> > +++ b/drivers/mmc/sdhci.c
> > @@ -161,8 +161,8 @@ static int sdhci_send_command(struct mmc *mmc,
> struct mmc_cmd *cmd,
> >         /* We shouldn't wait for data inihibit for stop commands, even
> >            though they might use busy signaling */
> >         if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION ||
> > -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> > -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)
> > +           ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> > +             cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200) && !data))
> >                 mask &= ~SDHCI_DATA_INHIBIT;
> >
> >         while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) {
> > @@ -184,8 +184,8 @@ static int sdhci_send_command(struct mmc *mmc,
> struct mmc_cmd *cmd,
> >         sdhci_writel(host, SDHCI_INT_ALL_MASK, SDHCI_INT_STATUS);
> >
> >         mask = SDHCI_INT_RESPONSE;
> > -       if (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> > -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)
> > +       if ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> > +            cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200) && !data)
> >                 mask = SDHCI_INT_DATA_AVAIL;
> >
> >         if (!(cmd->resp_type & MMC_RSP_PRESENT))
> > --
> > 2.7.4
> >
> > This email and any attachments are intended for the sole use of the
> named recipient(s) and contain(s) confidential information that may be
> proprietary, privileged or copyrighted under applicable law. If you are not
> the intended recipient, do not read, copy, or forward this email message or
> any attachments. Delete this email message and any attachments immediately.
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot@lists.denx.de
> > https://lists.denx.de/listinfo/u-boot
>
>
>
> --
> Best Regards
> Masahiro Yamada
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>

Patch

diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 40e28ab..cdeba91 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -161,8 +161,8 @@  static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
        /* We shouldn't wait for data inihibit for stop commands, even
           though they might use busy signaling */
        if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION ||
-           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
-           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)
+           ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
+             cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200) && !data))
                mask &= ~SDHCI_DATA_INHIBIT;

        while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) {
@@ -184,8 +184,8 @@  static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
        sdhci_writel(host, SDHCI_INT_ALL_MASK, SDHCI_INT_STATUS);

        mask = SDHCI_INT_RESPONSE;
-       if (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
-           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)
+       if ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
+            cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200) && !data)
                mask = SDHCI_INT_DATA_AVAIL;

        if (!(cmd->resp_type & MMC_RSP_PRESENT))