Re: [PATCH] omap: hsmmc: fix ocr mask usage

2011-05-26 Thread T Krishnamoorthy, Balaji
On Mon, Feb 21, 2011 at 9:40 PM, Kishore Kadiyala
 wrote:
> On Mon, Feb 21, 2011 at 11:37 AM, Anand Gadiyar  wrote:
>> The OMAP HSMMC driver uses an ocr_mask to determine the
>> list of voltages supported by the card. It populates this
>> mask based on the list of voltages supported by the
>> regulator that supplies the voltage.
>>
>> Commit 64be97822b (omap4 hsmmc: Update ocr mask for MMC2 for
>> regulator to use) passed a fixed ocr_mask from the OMAP4 SDP
>> board file to limit the voltage to 2.9-3.0 Volts, and updated
>> the driver to use this mask if provided, instead of using the
>> regulator's supported voltages.
>>
>> However the commit is buggy - the ocr_mask is overridden
>> by the regulator's capabilities anyway. Fix this.
>>
>> (The bug shows up when a system-wide suspend is attempted
>> on the OMAP4 SDP/Blaze platforms. The eMMC card comes up
>> at 3V, but drops to 1.65V after the system resumes).
>>
>> Signed-off-by: Anand Gadiyar 
>
> Tested this patch on OMAP4430SDP & OMAP4 Blaze.
>
> Tested-by:  Kishore Kadiyala 
>
Acked-by: Balaji T K 

Can you this patch be queued?

>> Cc: Kishore Kadiyala 
>> Cc: Tony Lindgren 
>> Cc: Madhusudhan Chikkature 
>> Cc: Chris Ball 
>> ---
>> Tony, Chris,
>>
>> This is only a partial fix. It fixes the obvious bug introduced
>> in the commit I noted above, however it is not the final
>> fix. I'm not convinced the way the regulators are handled
>> in this driver is correct - I'm still studying the code and
>> will come up with a proper fix later.
>>
>> However, this does fix a real bug and I believe the bug is
>> obvious. Would be nice to get this into the -rc series if
>> we still can.
>>
>> - Anand
>>
>>  drivers/mmc/host/omap_hsmmc.c |    1 -
>>  1 file changed, 1 deletion(-)
>>
>> Index: linux-2.6/drivers/mmc/host/omap_hsmmc.c
>> ===
>> --- linux-2.6.orig/drivers/mmc/host/omap_hsmmc.c
>> +++ linux-2.6/drivers/mmc/host/omap_hsmmc.c
>> @@ -413,7 +413,6 @@ static int omap_hsmmc_reg_get(struct oma
>>                                return -EINVAL;
>>                        }
>>                }
>> -               mmc_slot(host).ocr_mask = mmc_regulator_get_ocrmask(reg);
>>
>>                /* Allow an aux regulator */
>>                reg = regulator_get(host->dev, "vmmc_aux");
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] omap: hsmmc: fix ocr mask usage

2011-02-21 Thread Kishore Kadiyala
On Mon, Feb 21, 2011 at 11:37 AM, Anand Gadiyar  wrote:
> The OMAP HSMMC driver uses an ocr_mask to determine the
> list of voltages supported by the card. It populates this
> mask based on the list of voltages supported by the
> regulator that supplies the voltage.
>
> Commit 64be97822b (omap4 hsmmc: Update ocr mask for MMC2 for
> regulator to use) passed a fixed ocr_mask from the OMAP4 SDP
> board file to limit the voltage to 2.9-3.0 Volts, and updated
> the driver to use this mask if provided, instead of using the
> regulator's supported voltages.
>
> However the commit is buggy - the ocr_mask is overridden
> by the regulator's capabilities anyway. Fix this.
>
> (The bug shows up when a system-wide suspend is attempted
> on the OMAP4 SDP/Blaze platforms. The eMMC card comes up
> at 3V, but drops to 1.65V after the system resumes).
>
> Signed-off-by: Anand Gadiyar 

Tested this patch on OMAP4430SDP & OMAP4 Blaze.

Tested-by:  Kishore Kadiyala 

> Cc: Kishore Kadiyala 
> Cc: Tony Lindgren 
> Cc: Madhusudhan Chikkature 
> Cc: Chris Ball 
> ---
> Tony, Chris,
>
> This is only a partial fix. It fixes the obvious bug introduced
> in the commit I noted above, however it is not the final
> fix. I'm not convinced the way the regulators are handled
> in this driver is correct - I'm still studying the code and
> will come up with a proper fix later.
>
> However, this does fix a real bug and I believe the bug is
> obvious. Would be nice to get this into the -rc series if
> we still can.
>
> - Anand
>
>  drivers/mmc/host/omap_hsmmc.c |    1 -
>  1 file changed, 1 deletion(-)
>
> Index: linux-2.6/drivers/mmc/host/omap_hsmmc.c
> ===
> --- linux-2.6.orig/drivers/mmc/host/omap_hsmmc.c
> +++ linux-2.6/drivers/mmc/host/omap_hsmmc.c
> @@ -413,7 +413,6 @@ static int omap_hsmmc_reg_get(struct oma
>                                return -EINVAL;
>                        }
>                }
> -               mmc_slot(host).ocr_mask = mmc_regulator_get_ocrmask(reg);
>
>                /* Allow an aux regulator */
>                reg = regulator_get(host->dev, "vmmc_aux");
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] omap: hsmmc: fix ocr mask usage

2011-02-20 Thread Anand Gadiyar
The OMAP HSMMC driver uses an ocr_mask to determine the
list of voltages supported by the card. It populates this
mask based on the list of voltages supported by the
regulator that supplies the voltage.

Commit 64be97822b (omap4 hsmmc: Update ocr mask for MMC2 for
regulator to use) passed a fixed ocr_mask from the OMAP4 SDP
board file to limit the voltage to 2.9-3.0 Volts, and updated
the driver to use this mask if provided, instead of using the
regulator's supported voltages.

However the commit is buggy - the ocr_mask is overridden
by the regulator's capabilities anyway. Fix this.

(The bug shows up when a system-wide suspend is attempted
on the OMAP4 SDP/Blaze platforms. The eMMC card comes up
at 3V, but drops to 1.65V after the system resumes).

Signed-off-by: Anand Gadiyar 
Cc: Kishore Kadiyala 
Cc: Tony Lindgren 
Cc: Madhusudhan Chikkature 
Cc: Chris Ball 
---
Tony, Chris,

This is only a partial fix. It fixes the obvious bug introduced
in the commit I noted above, however it is not the final
fix. I'm not convinced the way the regulators are handled
in this driver is correct - I'm still studying the code and
will come up with a proper fix later.

However, this does fix a real bug and I believe the bug is
obvious. Would be nice to get this into the -rc series if
we still can.

- Anand

 drivers/mmc/host/omap_hsmmc.c |1 -
 1 file changed, 1 deletion(-)

Index: linux-2.6/drivers/mmc/host/omap_hsmmc.c
===
--- linux-2.6.orig/drivers/mmc/host/omap_hsmmc.c
+++ linux-2.6/drivers/mmc/host/omap_hsmmc.c
@@ -413,7 +413,6 @@ static int omap_hsmmc_reg_get(struct oma
return -EINVAL;
}
}
-   mmc_slot(host).ocr_mask = mmc_regulator_get_ocrmask(reg);
 
/* Allow an aux regulator */
reg = regulator_get(host->dev, "vmmc_aux");
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html