[PATCH] Revert "mmc: dw_mmc-rockchip: add runtime PM support"
ayaka
ayaka at soulik.info
Thu Dec 29 07:07:23 PST 2016
On 12/29/2016 10:04 PM, Jaehoon Chung wrote:
> Hi,
>
> On 12/29/2016 09:55 PM, ayaka wrote:
>> [ 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.
>>
> Plz..Don't put the comment on the top.
>
> Which kernel did you use?
Add linux-next specific files for 20161224
>
>> 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-rockchip
mailing list