Re: [PATCH V4]mmc: dw_mmc-k3: UHS-SD card for Hisilicon Hikey

From: Jaehoon Chung
Date: Mon Aug 08 2016 - 06:46:10 EST


Hi,

On 08/08/2016 06:10 PM, Shawn Lin wrote:
> Hi guy,
>
> On 2016/8/8 15:10, Jinguojun wrote:
>> Hi,maintainers
>>
>> Pls help to review code,this is the newest patch after your advise

Subject..

s/UHS-SD/UHS-I/

>>
>
> Please give Jaehoon more time to review your patch before sending a
> ping or resending one(~2 weeks), as it's only four days(weekend
> included) since v4 was done....IMHO, it's quite bold...
>
>> Thx
>> On 2016/8/4 10:16, Jin Guojun wrote:
>>> mmc: dw_mmc-k3: Hisilicon Hikey have no tuning function in
>>> dw_mmc-k3.c,so we must do the tuning function stub when we init UHS card.
>>>
>
> Hrmmm.... remove "mmc: dw_mmc-k3:" from the meat of commit msgã
>
> And you do nothing for dw_mci_hi6220_execute_tuning, why?
> Could you elaborate more..
>
>
>>> V1:add .prepare_command in dw_mmc.c
>>> V2:delete .prepare_command, add err = 0 in dw_mci_execute_tuning
>>> V3:delete err = 0 in dw_mci_execute_tuning,add .execute_tuning in
>>> dw_mmc-k3.c
>>> V4:add "linux-mmc@xxxxxxxxxxxxxxx", patch version, Changelog, etc..
>
> The changelog is totally wrong, namely it should not be listed in the
> commit msg...
>
>>>
>>> Signed-off-by: Jin Guojun <kid.jin@xxxxxxxxxxxxx>
>>> ---
>>> drivers/mmc/host/dw_mmc-k3.c | 6 ++++++
>>> 1 file changed, 6 insertions(+)
>>>
>>> diff --git a/drivers/mmc/host/dw_mmc-k3.c b/drivers/mmc/host/dw_mmc-k3.c
>>> index 8e9d886..6247894 100644
>>> --- a/drivers/mmc/host/dw_mmc-k3.c
>>> +++ b/drivers/mmc/host/dw_mmc-k3.c
>>> @@ -131,11 +131,17 @@ static void dw_mci_hi6220_set_ios(struct dw_mci *host, struct mmc_ios *ios)
>>> host->bus_hz = clk_get_rate(host->biu_clk);
>>> }
>>>
>>> +static int dw_mci_hi6220_execute_tuning(struct dw_mci_slot *slot, u32 opcode)
>>> +{
>>> + return 0;
>>> +}


All of UHS-I cards didn't need to do tuning sequence on your SoC? it's strange.

I think we can fix more exactly in dw_mmc.c
As i know, some UHS cards don't need to send the tuning sequence.
(If i know wrong, let me know plz.)

But just skipping execute_tuning..I think it's not correct.

Best Regards,
Jaehoon Chung

>>> +
>>> static const struct dw_mci_drv_data hi6220_data = {
>>> .caps = dw_mci_hi6220_caps,
>>> .switch_voltage = dw_mci_hi6220_switch_voltage,
>>> .set_ios = dw_mci_hi6220_set_ios,
>>> .parse_dt = dw_mci_hi6220_parse_dt,
>>> + .execute_tuning = dw_mci_hi6220_execute_tuning,
>>> };
>>>
>>> static const struct of_device_id dw_mci_k3_match[] = {
>>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
>