diff mbox

Revert "mmc: sdhi: use maximum width for the sdbuf register"

Message ID 20170803094947.1490-1-wsa+renesas@sang-engineering.com
State New
Headers show

Commit Message

Wolfram Sang Aug. 3, 2017, 9:49 a.m. UTC
This reverts commit 785b215250310c690142abb1bdbb0767b8487c49. There is a
secondary SDHI instance on Gen2 with has a 32-bit wide SDBUF register
while all other registers are 16 bit apart. So, the logic used here does
not apply and we need to rethink this and start cleanly from scratch.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 drivers/mmc/host/renesas_sdhi_core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Wolfram Sang Aug. 3, 2017, 9:53 a.m. UTC | #1
On Thu, Aug 03, 2017 at 11:49:47AM +0200, Wolfram Sang wrote:
> This reverts commit 785b215250310c690142abb1bdbb0767b8487c49. There is a
> secondary SDHI instance on Gen2 with has a 32-bit wide SDBUF register
> while all other registers are 16 bit apart. So, the logic used here does
> not apply and we need to rethink this and start cleanly from scratch.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Extra info for Ulf: I can't work on that in the next days, so I thought
it would be good to ASAP fix the regression in mmc/next at least.
Biju Das Aug. 3, 2017, 10:04 a.m. UTC | #2
Tested this patch on iWave RZ/G1M platform.

Tested-by: Biju Das <biju.das@bp.renesas.com>

Regards,
Biju

> -----Original Message-----
> From: Wolfram Sang [mailto:wsa+renesas@sang-engineering.com]
> Sent: 03 August 2017 10:50
> To: linux-mmc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org; Simon Horman <horms@verge.net.au>;
> Biju Das <biju.das@bp.renesas.com>; Ulf Hansson <ulf.hansson@linaro.org>;
> Wolfram Sang <wsa+renesas@sang-engineering.com>
> Subject: [PATCH] Revert "mmc: sdhi: use maximum width for the sdbuf
> register"
>
> This reverts commit 785b215250310c690142abb1bdbb0767b8487c49. There is
> a secondary SDHI instance on Gen2 with has a 32-bit wide SDBUF register while
> all other registers are 16 bit apart. So, the logic used here does not apply and
> we need to rethink this and start cleanly from scratch.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
>  drivers/mmc/host/renesas_sdhi_core.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/renesas_sdhi_core.c
> b/drivers/mmc/host/renesas_sdhi_core.c
> index 48da28dfef6465..dd215723fa4312 100644
> --- a/drivers/mmc/host/renesas_sdhi_core.c
> +++ b/drivers/mmc/host/renesas_sdhi_core.c
> @@ -461,7 +461,8 @@ static void renesas_sdhi_enable_dma(struct
> tmio_mmc_host *host, bool enable)  {
>  sd_ctrl_write16(host, CTL_DMA_ENABLE, enable ?
> DMA_ENABLE_DMASDRW : 0);
>
> -renesas_sdhi_sdbuf_width(host, enable ? (16 << host->bus_shift) : 16);
> +/* enable 32bit access if DMA mode if possibile */
> +renesas_sdhi_sdbuf_width(host, enable ? 32 : 16);
>  }
>
>  int renesas_sdhi_probe(struct platform_device *pdev,
> --
> 2.11.0




Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ulf Hansson Aug. 3, 2017, 10:52 a.m. UTC | #3
On 3 August 2017 at 11:53, Wolfram Sang <wsa@the-dreams.de> wrote:
> On Thu, Aug 03, 2017 at 11:49:47AM +0200, Wolfram Sang wrote:
>> This reverts commit 785b215250310c690142abb1bdbb0767b8487c49. There is a
>> secondary SDHI instance on Gen2 with has a 32-bit wide SDBUF register
>> while all other registers are 16 bit apart. So, the logic used here does
>> not apply and we need to rethink this and start cleanly from scratch.
>>
>> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
>
> Extra info for Ulf: I can't work on that in the next days, so I thought
> it would be good to ASAP fix the regression in mmc/next at least.
>

Instead of applying this revert, I decided to just drop the original
commit from my next branch.

While working on new version of how to deal with the 32/16 bit
register correctly, please try to include Biju Das in the changelog as
to give him cred from his help with testing.

Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfram Sang Aug. 9, 2017, 6:22 p.m. UTC | #4
> Instead of applying this revert, I decided to just drop the original
> commit from my next branch.

Hmmmm, yes, rebasing creates a clean history for occasions like this,
but makes working on your next-branch kinda complicated if the base I
merged has gone.

> While working on new version of how to deal with the 32/16 bit
> register correctly, please try to include Biju Das in the changelog as
> to give him cred from his help with testing.

Will do. If you had kept the revert, he would have got a tag for
Reported-by even ;)
diff mbox

Patch

diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
index 48da28dfef6465..dd215723fa4312 100644
--- a/drivers/mmc/host/renesas_sdhi_core.c
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -461,7 +461,8 @@  static void renesas_sdhi_enable_dma(struct tmio_mmc_host *host, bool enable)
 {
 	sd_ctrl_write16(host, CTL_DMA_ENABLE, enable ? DMA_ENABLE_DMASDRW : 0);
 
-	renesas_sdhi_sdbuf_width(host, enable ? (16 << host->bus_shift) : 16);
+	/* enable 32bit access if DMA mode if possibile */
+	renesas_sdhi_sdbuf_width(host, enable ? 32 : 16);
 }
 
 int renesas_sdhi_probe(struct platform_device *pdev,