diff mbox

mmc: dwmmc: exynos: Warn if HS400 is being used on non-Exynos5420 chipset

Message ID 1468502547-18571-1-git-send-email-k.kozlowski@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Krzysztof Kozlowski July 14, 2016, 1:22 p.m. UTC
Chipsets before Exynos5420 did not support HS400 so if MMC core tries to
configure HS400 timing, this might or might not work.  Warn in such
cases because this is DTB misconfiguration.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/mmc/host/dw_mmc-exynos.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Alim Akhtar July 15, 2016, 4:15 a.m. UTC | #1
Hi Krzysztof,

On 07/14/2016 06:52 PM, Krzysztof Kozlowski wrote:
> Chipsets before Exynos5420 did not support HS400 so if MMC core tries to
> configure HS400 timing, this might or might not work.  Warn in such
> cases because this is DTB misconfiguration.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---

Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>

>   drivers/mmc/host/dw_mmc-exynos.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
> index da0ef1765735..7ab3d749b5ae 100644
> --- a/drivers/mmc/host/dw_mmc-exynos.c
> +++ b/drivers/mmc/host/dw_mmc-exynos.c
> @@ -225,8 +225,12 @@ static void dw_mci_exynos_config_hs400(struct dw_mci *host, u32 timing)
>   	 * Not supported to configure register
>   	 * related to HS400
>   	 */
> -	if (priv->ctrl_type < DW_MCI_TYPE_EXYNOS5420)
> +	if (priv->ctrl_type < DW_MCI_TYPE_EXYNOS5420) {
> +		if (timing == MMC_TIMING_MMC_HS400)
> +			dev_warn(host->dev,
> +				 "cannot configure HS400, unsupported chipset\n");
>   		return;
> +	}
>
It is good to have extra bit of debug information handy.

>   	dqs = priv->saved_dqs_en;
>   	strobe = priv->saved_strobe_ctrl;
>
--
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
Jaehoon Chung July 26, 2016, 12:49 a.m. UTC | #2
On 07/15/2016 01:15 PM, Alim Akhtar wrote:
> Hi Krzysztof,
> 
> On 07/14/2016 06:52 PM, Krzysztof Kozlowski wrote:
>> Chipsets before Exynos5420 did not support HS400 so if MMC core tries to
>> configure HS400 timing, this might or might not work.  Warn in such
>> cases because this is DTB misconfiguration.
>>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> ---
> 
> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>

Applied on my repository. Thanks!
Before applied, I modified the prefix of subject from "dwmmc" to "dw_mmc"

Best Regards,
Jaehoon Chung

> 
>>   drivers/mmc/host/dw_mmc-exynos.c | 6 +++++-
>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
>> index da0ef1765735..7ab3d749b5ae 100644
>> --- a/drivers/mmc/host/dw_mmc-exynos.c
>> +++ b/drivers/mmc/host/dw_mmc-exynos.c
>> @@ -225,8 +225,12 @@ static void dw_mci_exynos_config_hs400(struct dw_mci *host, u32 timing)
>>        * Not supported to configure register
>>        * related to HS400
>>        */
>> -    if (priv->ctrl_type < DW_MCI_TYPE_EXYNOS5420)
>> +    if (priv->ctrl_type < DW_MCI_TYPE_EXYNOS5420) {
>> +        if (timing == MMC_TIMING_MMC_HS400)
>> +            dev_warn(host->dev,
>> +                 "cannot configure HS400, unsupported chipset\n");
>>           return;
>> +    }
>>
> It is good to have extra bit of debug information handy.
> 
>>       dqs = priv->saved_dqs_en;
>>       strobe = priv->saved_strobe_ctrl;
>>
> 
> 

--
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
diff mbox

Patch

diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
index da0ef1765735..7ab3d749b5ae 100644
--- a/drivers/mmc/host/dw_mmc-exynos.c
+++ b/drivers/mmc/host/dw_mmc-exynos.c
@@ -225,8 +225,12 @@  static void dw_mci_exynos_config_hs400(struct dw_mci *host, u32 timing)
 	 * Not supported to configure register
 	 * related to HS400
 	 */
-	if (priv->ctrl_type < DW_MCI_TYPE_EXYNOS5420)
+	if (priv->ctrl_type < DW_MCI_TYPE_EXYNOS5420) {
+		if (timing == MMC_TIMING_MMC_HS400)
+			dev_warn(host->dev,
+				 "cannot configure HS400, unsupported chipset\n");
 		return;
+	}
 
 	dqs = priv->saved_dqs_en;
 	strobe = priv->saved_strobe_ctrl;