From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ond=C5=99ej?= Jirman Subject: Re: [PATCH v3 0/7] mmc: sunxi: Add runtime PM support Date: Mon, 23 Jul 2018 18:16:34 +0200 Message-ID: <20180723161634.j7akxttoothslyhi@core> References: <20180716171428.ud3zsmeccds545si@core> <20180720145143.qgvlk2gbegxwwcfs@flea> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180720145143.qgvlk2gbegxwwcfs@flea> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Maxime Ripard Cc: ulf.hansson@linaro.org, Quentin Schulz , linux-mmc@vger.kernel.org, Chen-Yu Tsai , Thomas Petazzoni , linux-arm-kernel@lists.infradead.org List-Id: linux-mmc@vger.kernel.org SGkgTWF4aW1lLAoKT24gRnJpLCBKdWwgMjAsIDIwMTggYXQgMDQ6NTE6NDNQTSArMDIwMCwgTWF4 aW1lIFJpcGFyZCB3cm90ZToKPiBIaSBPbmRyZWosCj4gCj4gT24gTW9uLCBKdWwgMTYsIDIwMTgg YXQgMDc6MTQ6MjhQTSArMDIwMCwgT25kxZllaiBKaXJtYW4gd3JvdGU6Cj4gPiBPbiBNb24sIEFw ciAxNiwgMjAxOCBhdCAwNDoyMjo1OFBNICswMjAwLCBNYXhpbWUgUmlwYXJkIHdyb3RlOgo+ID4g PiBIaSwKPiA+ID4gCj4gPiA+IFNpbmNlIGl0J3MgaW50cm9kdWN0aW9uLCBvdXIgTU1DIGNvbnRy b2xsZXIgaGFzIGhhZCBpdHMgZXh0ZXJuYWwgY2xvY2tzCj4gPiA+IHJ1bm5pbmcgYWxsIHRoZSB0 aW1lLgo+ID4gPiAKPiA+ID4gV2hpbGUgdGhhdCB3YXMgd29ya2luZyBncmVhdCwgdGhlIHBvd2Vy IHVzYWdlIGFuZCBtb3N0IGltcG9ydGFudGx5IHRoZSBFTUkKPiA+ID4gdGhhdCBpdCBnZW5lcmF0 ZWQgd2FzIHByZXR0eSBiYWQuCj4gPiA+IAo+ID4gPiBMZXQncyBpbXBsZW1lbnQgc29tZSBydW50 aW1lX3BtIGhvb2tzIHdpdGggYW4gYXV0b3N1c3BlbmQgdG8gc2h1dCBkb3duIHRoZQo+ID4gPiB3 aG9sZSBibG9jayB3aGVuIHRoZSBNTUMgaXMgbm90IGFjdGl2ZS4KPiA+ID4gCj4gPiA+IEhvd2V2 ZXIsIHNvbWUgU0RJTyBkZXZpY2VzIHdpbGwgbm90IHByb2JlIHByb3Blcmx5IGlmIHdlIGtlZXAg c2h1dHRpbmcgZG93bgo+ID4gPiB0aGUgY29udHJvbGxlciwgc28gdGhlIGF1dG9zdXNwZW5kIGlz IGRpc2FibGVkIGZvciB0aGUgU0RJTyBkZXZpY2VzLgo+ID4gCj4gPiBJJ3ZlIHRlc3RlZCB5b3Vy IHBhdGNoZXMgb24gVEJTIEE3MTEgdGFibGV0IChBODNUKS4gSSBnZXQgdGhpcyBpbiB0aGUgbG9n Ogo+ID4gCj4gPiAgIHN1bnhpLW1tYyAxYzEwMDAwLm1tYzogZmF0YWwgZXJyIHVwZGF0ZSBjbGsg dGltZW91dAo+ID4gCj4gPiBJbnRlcmVzdGluZ2x5LCB0aGlzIG9ubHkgaGFwcGVucyBhZnRlciB0 aGUgZmlyc3QgYm9vdC4gSWYgSSBoYXJkIHBvd2VyIGN5Y2xlIHRoZQo+ID4gdGFibGV0IChyZW1v dmluZy9yZWluc2VydGluZyB0aGUgYmF0dGVyeSkgdGhlIGZpcnN0IGJvb3QgYWZ0ZXIgdGhhdCwg dGhlcmUncyBubwo+ID4gdGltZW91dCwgYW5kIFdpRmkgY2hpcCBjb25uZWN0ZWQgdG8gdGhlIG1t YyBjb250cm9sbGVyIHdvcmtzLgo+ID4gCj4gPiBBbnkgb3RoZXIgcmVib290IChldmVuIHBvd2Vy IGN5Y2xpbmcgdmlhIFBNSUMpLCBpdCBmYWlscyB3aXRoIHRoZSBhYm92ZSBlcnJvci4KPiA+IE1h eWJlIHRoZXJlJ3Mgc29tZSB1bmZvcmVzZWVuIGludGVyYWN0aW9uIG9mIHJ1bnRpbWUgUE0gd2l0 aCBtbWMtcG93ZXJzZXEgdXNlZAo+ID4gZm9yIHRoZSB3aWZpIGNoaXAgcG93ZXIgc2V1ZW5jaW5n PyBEbyB5b3Uga25vdyB3aGF0J3MgdGhlIGFib3ZlIGVycm9yIGFib3V0Pwo+ID4gSSBkb24ndCBr bm93IGFueXRoaW5nIGFib3V0IG1tYyBzdWJzeXN0ZW0uCj4gCj4gSXQncyBraW5kIG9mIHdlaXJk LiBEbyB5b3UgaGF2ZSBhbiBvc2NpbGxvc2NvcGUgYXZhaWxhYmxlIHRvIGxvb2sgYXQKPiB0aGUg Y2xvY2sgc2lnbmFsIChhbmQgdGhlIHJlc2V0IGdwaW8pIGFuZCBzZWUgaWYgdGhlcmUncyBhbnkK PiBkaWZmZXJlbmNlIG9mIGJlaGF2aW91cj8KCk5vLCBJIGRvbid0LiBJIGNhbiB0cnkgc29tZSBw cmludGtzIG9uIHRoZSBrZXJuZWwgc2lkZSBpZiBpdCB0b2dnbGVzIHRoZSBXaUZpCnJlc2V0L3Bv d2VyIGVuYWJsZSBncGlvcyBkaWZmZXJudGx5LgoKSXQgbG9va3MgbGlrZSBzb21ldGhpbmcncyBk aWZmZXJlbnQgb24gaW5pdGlhbGl6YXRpb24gd2hlbiBib290aW5nIHRoZSBrZXJuZWwuCldpRmkg d29ya3MgZmluZSBmb3IgZXh0ZW5kZWQgcGVyaW9kcyBvZiB0aW1lIGFmdGVyIHRoZSBoYXJkIHBv d2VyIGN5Y2xlLiBCdXQKd2hlbiByZWJvb3RpbmcsIGl0IGZhaWxzLgoKQWRkaW5nIHRvIHRoZSB3 ZWlyZG5lc3MgZmFjdG9yIG1heSBiZSB0aGUgZmFjdCB0aGF0IFdpRmkgaXMgbm90IGNvbm5lY3Rl ZCB2aWEKUE1JQywgc28gaXQgZ2V0cyBwb3dlciBhbG1vc3QgZGlyZWN0bHkgZnJvbSB0aGUgYmF0 dGVyeS4gU28ga2VybmVsIG1heSBub3QgYmUKZG9pbmcgdGhlIFdpRmkgcmVzZXQgcHJvcGVybHkg b24gYm9vdCAod2hpY2ggaXMgZmluZSByaWdodCBhZnRlciB0aGUgaGFyZCBwb3dlcgpjeWNsZSwg YnV0IGxlYXZlcyB0aGUgV2lGaSBpbiB1bmtub3duIHN0YXRlIG9uIHN1YnNlcXVlbnQgcmVib290 cykuCgpUaGFuayB5b3UgYW5kIHJlZ2FyZHMsCiAgby4KCj4gVGhhbmtzIQo+IE1heGltZQo+IAo+ IC0tIAo+IE1heGltZSBSaXBhcmQsIEJvb3RsaW4gKGZvcm1lcmx5IEZyZWUgRWxlY3Ryb25zKQo+ IEVtYmVkZGVkIExpbnV4IGFuZCBLZXJuZWwgZW5naW5lZXJpbmcKPiBodHRwczovL2Jvb3RsaW4u Y29tCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: megous@megous.com (=?utf-8?Q?Ond=C5=99ej?= Jirman) Date: Mon, 23 Jul 2018 18:16:34 +0200 Subject: [PATCH v3 0/7] mmc: sunxi: Add runtime PM support In-Reply-To: <20180720145143.qgvlk2gbegxwwcfs@flea> References: <20180716171428.ud3zsmeccds545si@core> <20180720145143.qgvlk2gbegxwwcfs@flea> Message-ID: <20180723161634.j7akxttoothslyhi@core> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Maxime, On Fri, Jul 20, 2018 at 04:51:43PM +0200, Maxime Ripard wrote: > Hi Ondrej, > > On Mon, Jul 16, 2018 at 07:14:28PM +0200, Ond?ej Jirman wrote: > > On Mon, Apr 16, 2018 at 04:22:58PM +0200, Maxime Ripard wrote: > > > Hi, > > > > > > Since it's introduction, our MMC controller has had its external clocks > > > running all the time. > > > > > > While that was working great, the power usage and most importantly the EMI > > > that it generated was pretty bad. > > > > > > Let's implement some runtime_pm hooks with an autosuspend to shut down the > > > whole block when the MMC is not active. > > > > > > However, some SDIO devices will not probe properly if we keep shutting down > > > the controller, so the autosuspend is disabled for the SDIO devices. > > > > I've tested your patches on TBS A711 tablet (A83T). I get this in the log: > > > > sunxi-mmc 1c10000.mmc: fatal err update clk timeout > > > > Interestingly, this only happens after the first boot. If I hard power cycle the > > tablet (removing/reinserting the battery) the first boot after that, there's no > > timeout, and WiFi chip connected to the mmc controller works. > > > > Any other reboot (even power cycling via PMIC), it fails with the above error. > > Maybe there's some unforeseen interaction of runtime PM with mmc-powerseq used > > for the wifi chip power seuencing? Do you know what's the above error about? > > I don't know anything about mmc subsystem. > > It's kind of weird. Do you have an oscilloscope available to look at > the clock signal (and the reset gpio) and see if there's any > difference of behaviour? No, I don't. I can try some printks on the kernel side if it toggles the WiFi reset/power enable gpios differntly. It looks like something's different on initialization when booting the kernel. WiFi works fine for extended periods of time after the hard power cycle. But when rebooting, it fails. Adding to the weirdness factor may be the fact that WiFi is not connected via PMIC, so it gets power almost directly from the battery. So kernel may not be doing the WiFi reset properly on boot (which is fine right after the hard power cycle, but leaves the WiFi in unknown state on subsequent reboots). Thank you and regards, o. > Thanks! > Maxime > > -- > Maxime Ripard, Bootlin (formerly Free Electrons) > Embedded Linux and Kernel engineering > https://bootlin.com