From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751217AbdAWMxJ (ORCPT ); Mon, 23 Jan 2017 07:53:09 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:49098 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751016AbdAWMxG (ORCPT ); Mon, 23 Jan 2017 07:53:06 -0500 X-AuditID: b6c32a3d-f79726d000001b34-87-5885fcaf82ec Subject: Re: [PATCH] Revert "mmc: dw_mmc-rockchip: add runtime PM support" To: John Keeping Cc: Romain Perier , Romain Perier , ulf.hansson@linaro.org, xzy.xu@rock-chips.com, Jaehoon Chung , =?UTF-8?Q?Heiko_St=c3=bcbner?= , Randy Li , Shawn Lin , ayaka , linux-mmc@vger.kernel.org, Linux Kernel Mailing List , "open list:ARM/Rockchip SoC..." , "linux-arm-kernel@lists.infradead.org" From: Jaehoon Chung Message-id: <845aea80-10a5-e8f9-5620-952bdcc37234@samsung.com> Date: Mon, 23 Jan 2017 21:53:02 +0900 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-version: 1.0 In-reply-to: <20170123112432.08337d26.john@metanate.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrLJsWRmVeSWpSXmKPExsWy7bCmge76P60RBp3rTC1e3f3FaPH/0WtW i4tXljJbvN80hdVi0+NrrBaXd81hszjyv5/R4tOD/8wWi7ZtY7L4teQJq8X+L5uZLe48Wc9q cXxtuMWS+aEOfB477i5h9Ng56y67x51re9g8Ni+p99g05Rarx99Z+1k8tl+bx+zRfHc6q8fn TXIBnFGpNhmpiSmpRQqpecn5KZl56bZK3sHxzvGmZgaGuoaWFuZKCnmJuam2Si4+AbpumTlA pysplCXmlAKFAhKLi5X07WyK8ktLUhUy8otLbJWiDQ2N9AwNzPWMjIz0TIxjrYxMgUoSUjM+ 3DMpOC9QcXxqA1sD4xzeLkZODgkBE4nTy2cyQdhiEhfurWfrYuTiEBLYwSjx+/tCRginnUni 8I837DAd13/MZoZIzGGUmHL9GzuEc49R4vjsJWCzhAW8JBbNfAZmiwioSPy70wI2l1lgH4vE 5i372EASbAI6Etu/HQcr4hWwk7i5+QojiM0ioCrR/nA3WFxUIExi8/2X7BA1ghI/Jt9jAbE5 BSwkWrbPB5vDLGAgMWPKYSYIW15i85q3YOdJCPxkl5gzfzJrFyMHkCMrsekAM8QLLhLP33Wx QdjCEq+Ob4F6TVpi1b9bTBC93YwS/75sZINwehglbm1dDQ0mY4n7D+4xQ2zjk3j3tQdqAa9E R5sQhOkh8XAbK0S1o8SHWx+g4djPLvHt6VfmCYzys5D8MwvJD7OQ/LCAkXkVo1hqQXFuemqx YYGlXnFibnFpXrpecn7uJkZw0tWy3cH45ZzPIUYBDkYlHl6Bpy0RQqyJZcWVuYcYJTiYlUR4 X75rjRDiTUmsrEotyo8vKs1JLT7EaAoM44nMUqLJ+cCMkFcSb2hiZmhiZGJoaG5kYKQkzrus 0TpCSCA9sSQ1OzW1ILUIpo+Jg1OqgTHOyc/or9PWW5XiCt/DYuVXzk11L9D87nlQ81XLWZbW c6uzIzYmanPYrbZWXB/8ae9WnpYow+hfTgryag6L50tL7Z/gXlH1ysD+qeXedMfNr1foPXHZ MTNMIkfkLb/knWlyMz/1zzC5/uvEJqZJYUfYbKdmnJ5x5YxMO8OzPQ/NlILncy3vylFiKc5I NNRiLipOBACrxmh60AMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrOIsWRmVeSWpSXmKPExsVy+t9jQd11f1ojDK4sU7J4dfcXo8X/R69Z LS5eWcps8X7TFFaLTY+vsVpc3jWHzeLI/35Gi08P/jNbLNq2jcni15InrBb7v2xmtrjzZD2r xfG14RZL5oc68HnsuLuE0WPnrLvsHneu7WHz2Lyk3mPTlFusHn9n7Wfx2H5tHrNH893prB6f N8kFcEa52WSkJqakFimk5iXnp2TmpdsqhYa46VooKeQl5qbaKkXo+oYEKSmUJeaUAnlGBmjA wTnAPVhJ3y7BLePDPZOC8wIVx6c2sDUwzuHtYuTkkBAwkbj+YzYzhC0mceHeerYuRi4OIYFZ jBJTP11mhnAeMEqs33+JFaRKWMBLYtHMZ0wgtoiAisS/Oy1QHRPZJe7svs4I4jAL7GORWH1l D9hcNgEdie3fjoN18ArYSdzcfIURxGYRUJVof7gbKM7BISoQJvG80QmiRFDix+R7LCA2p4CF RMv2+WwgJcwCehL3L2qBhJkF5CU2r3nLPIER6EyEjlkIVbOQVC1gZF7FKJFakFxQnJSea5iX Wq5XnJhbXJqXrpecn7uJERzJz6R2MB7c5X6IUYCDUYmHV+BpS4QQa2JZcWXuIUYJDmYlEd6X 71ojhHhTEiurUovy44tKc1KLDzGaAn0xkVlKNDkfmGTySuINTcxNzI0NLMwtLU2MlMR5G2c/ CxcSSE8sSc1OTS1ILYLpY+LglGpgrD4b2GFb0eJ67OacfZLWpSp+u9g0/8YLnRFiWFu6xFG1 M7ZozcYZk/fyLZoi0WEnzvuv7X9AI2vWwUdBd9/6cpusfP6qMyTePWOn28uHp4RuK5o++Oe2 cvK90Ger/a/+eHbLKzYtw29n9PtdxgXSPFYv3uhZmJ8+nr3iX0RO4E6/I71qHGlGSizFGYmG WsxFxYkAkOq7H/oCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170123125302epcas1p274896671559fcc890e043be9aff64570 X-Msg-Generator: CA X-Sender-IP: 203.254.230.26 X-Local-Sender: =?UTF-8?B?7KCV7J6s7ZuIG1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbUzUo7LGF7J6EKS/ssYXsnoQ=?= X-Global-Sender: =?UTF-8?B?SmFlaG9vbiBDaHVuZxtUaXplbiBQbGF0Zm9ybSBMYWIuG1Nh?= =?UTF-8?B?bXN1bmcgRWxlY3Ryb25pY3MbUzUvU2VuaW9yIEVuZ2luZWVy?= X-Sender-Code: =?UTF-8?B?QzEwG1NUQUYbQzEwVjgxMTE=?= CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-HopCount: 7 X-CMS-RootMailID: 20161228153516epcas2p253c6bc0371ab0df464573b63218795ef X-RootMTR: 20161228153516epcas2p253c6bc0371ab0df464573b63218795ef References: <1482939288-14950-1-git-send-email-ayaka@soulik.info> <7e37b8ad-39d0-3a94-f75a-2166ae2caf10@samsung.com> <7fb90b9e-75c3-0184-4f0a-d4113899b860@rock-chips.com> <04b667d9-2591-51ff-e024-047bbb6e17c3@rock-chips.com> <6ccade72-ae20-2ffa-1504-2536b9f03adf@soulik.info> <95648282-38f5-42c2-fd8b-ab603eb3a168@gmail.com> <0ccf164f-0d35-9cc3-f288-9b582db23efb@soulik.info> <20afb1da-9e45-f515-01bf-2f5365d20d61@samsung.com> <8f8c66f1-82d6-5151-ff64-ef62596aa10d@rock-chips.com> <2cdd0b6c-a099-595d-1c0b-be7933b0d4a6@collabora.com> <20170123112432.08337d26.john@metanate.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi John, On 01/23/2017 08:24 PM, John Keeping wrote: > Hi, > > On Fri, 20 Jan 2017 15:08:57 +0900, Jaehoon Chung wrote: >> On 01/17/2017 10:38 PM, Romain Perier wrote: >>> In my case I can reproduce the issue on the rock2 and the firefly-rk3288. A workaround is to >>> >>> comment the line ".pm = <&pm_ops_foo>" . >> >> Sorry for late. I'm checking runtime PM for this. >> After that, i will decide whether revert or not. > > I hit this problem on Rock2 when trying 4.10-rc4. The following patch > fixes it for me. Could you check with Ulf's repository? https://git.kernel.org/cgit/linux/kernel/git/ulfh/mmc.git/commit/?h=next&id=e86738ac78c22956f1c787ebafefc83d43cab30a Shawn's patch was applied. If also occurred the same issue, let me know, plz. > > I'm not sure if this is safe in general or whether it should be guarded > by a quirk that is enabled for RK3288. > > -- >8 -- > Subject: [PATCH] mmc: dw_mmc: restore CIU state on resume > > At least on RK3288, asserting SDMMC_CTRL_RESET causes the CIU to reset > and disable the clock. We need to send SDMMC_CMD_UPD_CLK after doing > this in order to avoid the MMC host hanging. > > Signed-off-by: John Keeping > --- > drivers/mmc/host/dw_mmc.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index b44306b886cb..e7504dabcfb6 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -3311,6 +3311,7 @@ int dw_mci_runtime_resume(struct device *dev) > { > int i, ret = 0; > struct dw_mci *host = dev_get_drvdata(dev); > + u32 sdmmc_cmd_bits = SDMMC_CMD_UPD_CLK | SDMMC_CMD_PRV_DAT_WAIT; > > if (host->cur_slot && > (mmc_can_gpio_cd(host->cur_slot->mmc) || > @@ -3357,6 +3358,9 @@ int dw_mci_runtime_resume(struct device *dev) > if (slot->mmc->pm_flags & MMC_PM_KEEP_POWER) { > dw_mci_set_ios(slot->mmc, &slot->mmc->ios); > dw_mci_setup_bus(slot, true); > + } else { > + /* restore CIU */ > + mci_send_cmd(slot, sdmmc_cmd_bits, 0); > } > } > >