[v3,2/2] mmc: sdhci-msm: set sdma_boundary to zero

Message ID 20170803124614.21788-3-srinivas.kandagatla@linaro.org
State New
Headers show
Series
  • Untitled series #3156
Related show

Commit Message

Srinivas Kandagatla Aug. 3, 2017, 12:46 p.m.
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>


Programming legacy HOST SDMA Buffer Boundary bits in Block Size Register
(0x04) is not supported in Qualcomm sdhci controllers. Writing to this
would cause the controller not to transfer last block in case block size
is 4 bytes or less.

This issue was noticed while testing sdio wlan card on Qcom DB410c board.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

---
 drivers/mmc/host/sdhci-msm.c | 1 +
 1 file changed, 1 insertion(+)

-- 
2.9.3

Comments

Adrian Hunter Aug. 3, 2017, 1:14 p.m. | #1
On 03/08/17 15:46, srinivas.kandagatla@linaro.org wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

> 

> Programming legacy HOST SDMA Buffer Boundary bits in Block Size Register

> (0x04) is not supported in Qualcomm sdhci controllers. Writing to this

> would cause the controller not to transfer last block in case block size

> is 4 bytes or less.

> 

> This issue was noticed while testing sdio wlan card on Qcom DB410c board.

> 

> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>


Acked-by: Adrian Hunter <adrian.hunter@intel.com>


> ---

>  drivers/mmc/host/sdhci-msm.c | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c

> index 9d601dc..adfe5bd 100644

> --- a/drivers/mmc/host/sdhci-msm.c

> +++ b/drivers/mmc/host/sdhci-msm.c

> @@ -1133,6 +1133,7 @@ static int sdhci_msm_probe(struct platform_device *pdev)

>  	if (IS_ERR(host))

>  		return PTR_ERR(host);

>  

> +	host->sdma_boundary = 0;

>  	pltfm_host = sdhci_priv(host);

>  	msm_host = sdhci_pltfm_priv(pltfm_host);

>  	msm_host->mmc = host->mmc;

>

Patch

diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index 9d601dc..adfe5bd 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -1133,6 +1133,7 @@  static int sdhci_msm_probe(struct platform_device *pdev)
 	if (IS_ERR(host))
 		return PTR_ERR(host);
 
+	host->sdma_boundary = 0;
 	pltfm_host = sdhci_priv(host);
 	msm_host = sdhci_pltfm_priv(pltfm_host);
 	msm_host->mmc = host->mmc;