[PATCH] Revert "mmc: dw_mmc-rockchip: add runtime PM support"

ayaka ayaka at soulik.info
Thu Dec 29 04:55:21 PST 2016


[    5.849733] rk_gmac-dwmac ff290000.ethernet (unnamed net_device) 
(uninitialized): Enable RX Mitigation via HW Watchdog Timer
[    5.944512] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 
50000000Hz, actual 50000000HZ div = 0)
[    5.958249] mmc1: new ultra high speed DDR50 SDIO card at address 0001
[    6.294548] dwmmc_rockchip ff0f0000.dwmmc: Successfully tuned phase 
to 177
[    6.301591] mmc2: new HS200 MMC card at address 0001
[    6.306758] mmc_host mmc0: Bus speed (slot 0) = 300000Hz (slot req 
300000Hz, actual 300000HZ div = 0)
[    6.316830] mmcblk2: mmc2:0001 AGND3R 14.6 GiB
[    6.321881] mmcblk2boot0: mmc2:0001 AGND3R partition 1 4.00 MiB
[    6.328331] mmcblk2boot1: mmc2:0001 AGND3R partition 2 4.00 MiB
[    6.334792] mmcblk2rpmb: mmc2:0001 AGND3R partition 3 4.00 MiB
[    6.344295]  mmcblk2: p1 p2 p3 p4 p5 p6 p7
[    6.469892] mmc_host mmc0: Bus speed (slot 0) = 200000Hz (slot req 
200000Hz, actual 200000HZ div = 0)
[    6.621888] mmc_host mmc0: Bus speed (slot 0) = 187500Hz (slot req 
100000Hz, actual 93750HZ div = 1)
[    6.917883] libphy: stmmac: probed
[    6.921319] rk_gmac-dwmac ff290000.ethernet eth0: PHY ID 001cc915 at 
0 IRQ POLL (stmmac-0:00) active
[    6.930476] rk_gmac-dwmac ff290000.ethernet eth0: PHY ID 001cc915 at 
2 IRQ POLL (stmmac-0:02)
[    6.939757] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    6.946937] rtc-hym8563 0-0051: no valid clock/calendar values available
[    6.953694] rtc-hym8563 0-0051: hctosys: unable to read the hardware 
clock
[    6.961262] vcc_sd: disabling
[    6.964275] dovdd_1v8: disabling
[    6.967527] dvdd_1v2: disabling
[    6.971006] vdd10_lcd: disabling
[    6.974701] vcc18_lcd: disabling
[    6.978467] ttyS2 - failed to request DMA
[    7.101883] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 
400000Hz, actual 400000HZ div = 0)
[    7.253874] mmc_host mmc0: Bus speed (slot 0) = 300000Hz (slot req 
300000Hz, actual 300000HZ div = 0)
[    7.405883] mmc_host mmc0: Bus speed (slot 0) = 200000Hz (slot req 
200000Hz, actual 200000HZ div = 0)
[    7.557885] mmc_host mmc0: Bus speed (slot 0) = 187500Hz (slot req 
100000Hz, actual 93750HZ div = 1)
[    8.037872] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 
400000Hz, actual 400000HZ div = 0)
[    8.189877] mmc_host mmc0: Bus speed (slot 0) = 300000Hz (slot req 
300000Hz, actual 300000HZ div = 0)
[    8.341881] mmc_host mmc0: Bus speed (slot 0) = 200000Hz (slot req 
200000Hz, actual 200000HZ div = 0)
[    8.493884] mmc_host mmc0: Bus speed (slot 0) = 187500Hz (slot req 
100000Hz, actual 93750HZ div = 1)
[    8.973871] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 
400000Hz, actual 400000HZ div = 0)
[    9.125876] mmc_host mmc0: Bus speed (slot 0) = 300000Hz (slot req 
300000Hz, actual 300000HZ div = 0)
[    9.277884] mmc_host mmc0: Bus speed (slot 0) = 200000Hz (slot req 
200000Hz, actual 200000HZ div = 0)
[    9.429882] mmc_host mmc0: Bus speed (slot 0) = 187500Hz (slot req 
100000Hz, actual 93750HZ div = 1)

looping here

If I revert that patch, there are still lots of Bus speed messages, but 
finally would enter into system.


On 12/29/2016 06:25 PM, Randy Li wrote:
>
>
> On 12/29/2016 03:25 PM, Shawn Lin wrote:
>> On 2016/12/29 15:13, Jaehoon Chung wrote:
>>> On 12/29/2016 12:02 PM, Jaehoon Chung wrote:
>>>> Hi Randy,
>>>>
>>>> On 12/29/2016 12:34 AM, Randy Li wrote:
>>>>> This reverts commit f90142683f04bcb0729bf0df67a5e29562b725b9.
>>>>> It is reported that making RK3288 can't boot from eMMC/MMC.
>>>>
>>>> Could you explain in more detail?
>>>> As you mentioned, this patch is making that RK3288 can't boot..then 
>>>> why?
>>>> Good way should be that finds the main reason and fixes it.
>>>> Not just revert.
>>>
>>> To Shawn,
>>>
>>> Could you check this? If you have rk3288..
>>> If it's not working fine, it needs to revert this patch until finding
>>> the problem.
>>>
>>
>> Hrmm.....as that patchset was tested based on rk3288 and rk3368, so I
>> need to know which board Randy are using now and could you share some
> Sorry, XZY has asked me about this in the morning and I answer him 
> that I would give a feedback at home, so I didn't notice this mail.
> The board is Firefly reload. but the reporter told me that Firefly 
> release also have the same problem.
>> log?
>>
>> I will have a look at it.
>>
>>
>>> Best Regards,
>>> Jaehoon Chung
>>>
>>>>
>>>> Best Regards,
>>>> Jaehoon Chung
>>>>
>>>>>
>>>>> Signed-off-by: Randy Li <ayaka at soulik.info>
>>>>> ---
>>>>>  drivers/mmc/host/dw_mmc-rockchip.c | 41
>>>>> +++-----------------------------------
>>>>>  1 file changed, 3 insertions(+), 38 deletions(-)
>>>>>
>>>>> diff --git a/drivers/mmc/host/dw_mmc-rockchip.c
>>>>> b/drivers/mmc/host/dw_mmc-rockchip.c
>>>>> index 9a46e46..3189234 100644
>>>>> --- a/drivers/mmc/host/dw_mmc-rockchip.c
>>>>> +++ b/drivers/mmc/host/dw_mmc-rockchip.c
>>>>> @@ -14,7 +14,6 @@
>>>>>  #include <linux/mmc/dw_mmc.h>
>>>>>  #include <linux/of_address.h>
>>>>>  #include <linux/mmc/slot-gpio.h>
>>>>> -#include <linux/pm_runtime.h>
>>>>>  #include <linux/slab.h>
>>>>>
>>>>>  #include "dw_mmc.h"
>>>>> @@ -327,7 +326,6 @@ static int dw_mci_rockchip_probe(struct
>>>>> platform_device *pdev)
>>>>>  {
>>>>>      const struct dw_mci_drv_data *drv_data;
>>>>>      const struct of_device_id *match;
>>>>> -    int ret;
>>>>>
>>>>>      if (!pdev->dev.of_node)
>>>>>          return -ENODEV;
>>>>> @@ -335,49 +333,16 @@ static int dw_mci_rockchip_probe(struct
>>>>> platform_device *pdev)
>>>>>      match = of_match_node(dw_mci_rockchip_match, pdev->dev.of_node);
>>>>>      drv_data = match->data;
>>>>>
>>>>> -    pm_runtime_get_noresume(&pdev->dev);
>>>>> -    pm_runtime_set_active(&pdev->dev);
>>>>> -    pm_runtime_enable(&pdev->dev);
>>>>> -    pm_runtime_set_autosuspend_delay(&pdev->dev, 50);
>>>>> -    pm_runtime_use_autosuspend(&pdev->dev);
>>>>> -
>>>>> -    ret = dw_mci_pltfm_register(pdev, drv_data);
>>>>> -    if (ret) {
>>>>> -        pm_runtime_disable(&pdev->dev);
>>>>> -        pm_runtime_set_suspended(&pdev->dev);
>>>>> -        pm_runtime_put_noidle(&pdev->dev);
>>>>> -        return ret;
>>>>> -    }
>>>>> -
>>>>> -    pm_runtime_put_autosuspend(&pdev->dev);
>>>>> -
>>>>> -    return 0;
>>>>> +    return dw_mci_pltfm_register(pdev, drv_data);
>>>>>  }
>>>>>
>>>>> -static int dw_mci_rockchip_remove(struct platform_device *pdev)
>>>>> -{
>>>>> -    pm_runtime_get_sync(&pdev->dev);
>>>>> -    pm_runtime_disable(&pdev->dev);
>>>>> -    pm_runtime_put_noidle(&pdev->dev);
>>>>> -
>>>>> -    return dw_mci_pltfm_remove(pdev);
>>>>> -}
>>>>> -
>>>>> -static const struct dev_pm_ops dw_mci_rockchip_dev_pm_ops = {
>>>>> -    SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
>>>>> -                pm_runtime_force_resume)
>>>>> -    SET_RUNTIME_PM_OPS(dw_mci_runtime_suspend,
>>>>> -               dw_mci_runtime_resume,
>>>>> -               NULL)
>>>>> -};
>>>>> -
>>>>>  static struct platform_driver dw_mci_rockchip_pltfm_driver = {
>>>>>      .probe        = dw_mci_rockchip_probe,
>>>>> -    .remove        = dw_mci_rockchip_remove,
>>>>> +    .remove        = dw_mci_pltfm_remove,
>>>>>      .driver        = {
>>>>>          .name        = "dwmmc_rockchip",
>>>>>          .of_match_table    = dw_mci_rockchip_match,
>>>>> -        .pm        = &dw_mci_rockchip_dev_pm_ops,
>>>>> +        .pm        = &dw_mci_pltfm_pmops,
>>>>>      },
>>>>>  };
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> To unsubscribe from this list: send the line "unsubscribe 
>>>> linux-mmc" in
>>>> the body of a message to majordomo at vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>>> .
>>>>
>>>
>>>
>>>
>>>
>>
>>
>




More information about the linux-arm-kernel mailing list