2018-06-13 15:15:35

by Ryan Grachek

[permalink] [raw]
Subject: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

These properties are required for compatibility with runtime PM.
Without these properties, MMC host controller will not be aware
of power capabilities. When the wlcore driver attempts to power
on the device, it will erroneously fail with -EACCES.

Signed-off-by: Ryan Grachek <[email protected]>
---
arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index 38f881955217..c5feca8cd10b 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -323,6 +323,8 @@
bus-width = <0x4>;
cap-sd-highspeed;
non-removable;
+ cap-power-off-card;
+ keep-power-in-suspend;
vmmc-supply = <&reg_vdd_3v3>;
mmc-pwrseq = <&wl1835_pwrseq>;

--
2.11.0



2018-06-13 17:35:49

by Valentin Schneider

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

Hi,

On 13/06/18 16:13, Ryan Grachek wrote:
> These properties are required for compatibility with runtime PM.
> Without these properties, MMC host controller will not be aware
> of power capabilities. When the wlcore driver attempts to power
> on the device, it will erroneously fail with -EACCES.
>

I don't have a hikey620 to test this, but the hikey960 is suffering from the
same issue (see [1]). I added these properties to the dwmmc2 node of the
hikey960 (see snippet) and wlan0 does show up. Would you mind sending a
similar patch for that board ?

Thanks !

Valentin

[1]: https://lkml.org/lkml/2018/6/12/930

--->8

diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
index 85aadf1b..c706f70 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
@@ -613,6 +613,8 @@
vmmc-supply = <&wlan_en>;
ti,non-removable;
non-removable;
+ cap-power-off-card;
+ keep-power-in-suspend;
#address-cells = <0x1>;
#size-cells = <0x0>;
status = "ok";

2018-06-13 18:21:58

by Ryan Grachek

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

Hi Valentin,

On Wed, Jun 13, 2018 at 12:34 PM, Valentin Schneider
<[email protected]> wrote:
> Hi,
>
> On 13/06/18 16:13, Ryan Grachek wrote:
>> These properties are required for compatibility with runtime PM.
>> Without these properties, MMC host controller will not be aware
>> of power capabilities. When the wlcore driver attempts to power
>> on the device, it will erroneously fail with -EACCES.
>>
>
> I don't have a hikey620 to test this, but the hikey960 is suffering from the
> same issue (see [1]). I added these properties to the dwmmc2 node of the
> hikey960 (see snippet) and wlan0 does show up. Would you mind sending a
> similar patch for that board ?
>
> Thanks !
>
> Valentin
>
> [1]: https://lkml.org/lkml/2018/6/12/930
>
> --->8
>
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> index 85aadf1b..c706f70 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> @@ -613,6 +613,8 @@
> vmmc-supply = <&wlan_en>;
> ti,non-removable;
> non-removable;
> + cap-power-off-card;
> + keep-power-in-suspend;
> #address-cells = <0x1>;
> #size-cells = <0x0>;
> status = "ok";

Not a problem. The patch can be found here:
https://patchwork.kernel.org/patch/10462767/

Ryan

2018-06-13 18:33:09

by John Stultz

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

On Wed, Jun 13, 2018 at 8:13 AM, Ryan Grachek <[email protected]> wrote:
> These properties are required for compatibility with runtime PM.
> Without these properties, MMC host controller will not be aware
> of power capabilities. When the wlcore driver attempts to power
> on the device, it will erroneously fail with -EACCES.
>
> Signed-off-by: Ryan Grachek <[email protected]>

Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
Tested-by: John Stultz <[email protected]>
Acked-by: John Stultz <[email protected]>

Wei Xu: This fixes a functional regression with wifi on the HiKey
board that was introduced in 4.18-rc with commit 60f36637bbbd
("wlcore: sdio: allow pm to handle sdio power").

Could you please be sure to queue this for the 4.18-rc ?

thanks
-john

2018-06-13 18:54:21

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

John Stultz <[email protected]> writes:

> On Wed, Jun 13, 2018 at 8:13 AM, Ryan Grachek <[email protected]> wrote:
>> These properties are required for compatibility with runtime PM.
>> Without these properties, MMC host controller will not be aware
>> of power capabilities. When the wlcore driver attempts to power
>> on the device, it will erroneously fail with -EACCES.
>>
>> Signed-off-by: Ryan Grachek <[email protected]>
>
> Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
> Tested-by: John Stultz <[email protected]>
> Acked-by: John Stultz <[email protected]>
>
> Wei Xu: This fixes a functional regression with wifi on the HiKey
> board that was introduced in 4.18-rc with commit 60f36637bbbd
> ("wlcore: sdio: allow pm to handle sdio power").
>
> Could you please be sure to queue this for the 4.18-rc ?

Adding linux-wireless so that wireless folks are aware of this wlcore
regression fix as well.

--
Kalle Valo

2018-06-14 06:43:02

by Reizer, Eyal

[permalink] [raw]
Subject: RE: [EXTERNAL] Re: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

> >> These properties are required for compatibility with runtime PM.
> >> Without these properties, MMC host controller will not be aware
> >> of power capabilities. When the wlcore driver attempts to power
> >> on the device, it will erroneously fail with -EACCES.
> >>
> >> Signed-off-by: Ryan Grachek <[email protected]>
> >
> > Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
> > Tested-by: John Stultz <[email protected]>
> > Acked-by: John Stultz <[email protected]>
> >
> > Wei Xu: This fixes a functional regression with wifi on the HiKey
> > board that was introduced in 4.18-rc with commit 60f36637bbbd
> > ("wlcore: sdio: allow pm to handle sdio power").
> >
> > Could you please be sure to queue this for the 4.18-rc ?
>
> Adding linux-wireless so that wireless folks are aware of this wlcore
> regression fix as well.
>
Actually "cap-power-off-card" is normally included with all .dts files supporting wilink
So it should have been there from the start for this board as well.
It probably worked without it due to the explicit call to mmc_power_restore_host()
that was there as an old workaround for trying to control the power explicitly from the
driver which was actually causing other failures on suspend/resume as the mmc layer
already power the module on resume.
"keep-power-in-suspend" is needed in case of planning to use "WoWLAN":
Iw phy0 wowlan enable....

Best Regards,
Eyal

2018-06-25 21:57:09

by John Stultz

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

On Wed, Jun 13, 2018 at 11:30 AM, John Stultz <[email protected]> wrote:
> On Wed, Jun 13, 2018 at 8:13 AM, Ryan Grachek <[email protected]> wrote:
>> These properties are required for compatibility with runtime PM.
>> Without these properties, MMC host controller will not be aware
>> of power capabilities. When the wlcore driver attempts to power
>> on the device, it will erroneously fail with -EACCES.
>>
>> Signed-off-by: Ryan Grachek <[email protected]>
>
> Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
> Tested-by: John Stultz <[email protected]>
> Acked-by: John Stultz <[email protected]>
>
> Wei Xu: This fixes a functional regression with wifi on the HiKey
> board that was introduced in 4.18-rc with commit 60f36637bbbd
> ("wlcore: sdio: allow pm to handle sdio power").

Wei Xu: Just wanted to follow up to make sure this wasn't missed for
4.18-rc, as I haven't seen it upstream or in -next, and it fixes a
recently introduced regression.

thanks
-john

2018-06-26 08:27:11

by Wei Xu

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

Hi John,

On 2018/6/25 22:56, John Stultz wrote:
> On Wed, Jun 13, 2018 at 11:30 AM, John Stultz <[email protected]> wrote:
>> On Wed, Jun 13, 2018 at 8:13 AM, Ryan Grachek <[email protected]> wrote:
>>> These properties are required for compatibility with runtime PM.
>>> Without these properties, MMC host controller will not be aware
>>> of power capabilities. When the wlcore driver attempts to power
>>> on the device, it will erroneously fail with -EACCES.
>>>
>>> Signed-off-by: Ryan Grachek <[email protected]>
>>
>> Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
>> Tested-by: John Stultz <[email protected]>
>> Acked-by: John Stultz <[email protected]>
>>
>> Wei Xu: This fixes a functional regression with wifi on the HiKey
>> board that was introduced in 4.18-rc with commit 60f36637bbbd
>> ("wlcore: sdio: allow pm to handle sdio power").
>
> Wei Xu: Just wanted to follow up to make sure this wasn't missed for
> 4.18-rc, as I haven't seen it upstream or in -next, and it fixes a
> recently introduced regression.

Thanks!
I will send out the fix pull request in these two days if no problem.

Best Regards,
Wei

>
> thanks
> -john
>
> .
>


2018-06-29 05:52:55

by Wei Xu

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: hikey: Define wl1835 power capabilities

Hi Ryan,

On 2018/6/13 16:13, Ryan Grachek wrote:
> These properties are required for compatibility with runtime PM.
> Without these properties, MMC host controller will not be aware
> of power capabilities. When the wlcore driver attempts to power
> on the device, it will erroneously fail with -EACCES.
>
> Signed-off-by: Ryan Grachek <[email protected]>
> ---

Applied to hisilicon fix tree.
Thanks!

Best Regards,
Wei

> arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> index 38f881955217..c5feca8cd10b 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> @@ -323,6 +323,8 @@
> bus-width = <0x4>;
> cap-sd-highspeed;
> non-removable;
> + cap-power-off-card;
> + keep-power-in-suspend;
> vmmc-supply = <&reg_vdd_3v3>;
> mmc-pwrseq = <&wl1835_pwrseq>;
>
>