mbox series

[0/5,SRU,B/master] Reduce boot noise on Dragonboard

Message ID 1539185571-27007-1-git-send-email-paolo.pisati@canonical.com
Headers show
Series Reduce boot noise on Dragonboard | expand

Message

Paolo Pisati Oct. 10, 2018, 3:32 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1797154

Impact:

During boot on a Dragonboard410c using a recent Bionic or Cosmic kernel,
there's some noise like:

...
[ 3.665431] msm_dsi_phy 1a98300.dsi-phy: Failed to get supply 'vddio':
-517
[ 3.669243] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_regulator_init: failed to
init regulator, ret=-517
[ 3.676180] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_driver_probe:
failed to init regulator
...

or

...
[ 4.192280] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
Failed to get supply 'vdd-cdc-io': -517
[ 4.195660] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
Failed to get regulator supplies -517
...

and similar.

This is mainly due to DRM_MSM* and SND_QCOM_MSM* that were built-in, and try to
initialize before the voltage regulators are ready to work, resulting in a
noisy bootlog.

These patches factor out some code as modules, so when the kmods are loaded and
initialized, regulators are already present and ready to attach - all these
config changes shave around ~3K bytes from dmesg, making the bootlog easir to
parse.

Fix:

Apply the attached patches and recompile

How to test:

Boot a patched kernel and check for the above noise in dmesg

Regression potential:

None, we are just turning some code into kmods, and turning off a couple of not
used feature for this flavour - all the other flavours are untouched.

Paolo Pisati (5):
  UBUNTU: [Config] arm64: snapdragon: DRM_MSM=m
  UBUNTU: [Config] arm64: snapdragon: SND*=m
  UBUNTU: [Config] arm64: snapdragon: disable ARM_SDE_INTERFACE
  UBUNTU: [Config] arm64: snapdragon: disable DRM_I2C_ADV7511_CEC
  UBUNTU: [Config] arm64: snapdragon: disable VIDEO_ADV7511,
    VIDEO_COBALT

 debian.master/config/amd64/config.common.amd64     |  6 ++----
 debian.master/config/arm64/config.common.arm64     |  7 +++++++
 debian.master/config/arm64/config.flavour.generic  | 22 ++++------------------
 .../config/arm64/config.flavour.snapdragon         | 22 ++++------------------
 debian.master/config/armhf/config.common.armhf     | 14 +++-----------
 debian.master/config/config.common.ubuntu          | 16 +++++++++++-----
 debian.master/config/i386/config.common.i386       |  6 ++----
 debian.master/config/ppc64el/config.common.ppc64el |  7 +++----
 8 files changed, 36 insertions(+), 64 deletions(-)

Comments

Stefan Bader Oct. 11, 2018, 7:53 a.m. UTC | #1
On 10.10.2018 17:32, Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1797154
> 
> Impact:
> 
> During boot on a Dragonboard410c using a recent Bionic or Cosmic kernel,
> there's some noise like:
> 
> ...
> [ 3.665431] msm_dsi_phy 1a98300.dsi-phy: Failed to get supply 'vddio':
> -517
> [ 3.669243] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_regulator_init: failed to
> init regulator, ret=-517
> [ 3.676180] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_driver_probe:
> failed to init regulator
> ...
> 
> or
> 
> ...
> [ 4.192280] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
> Failed to get supply 'vdd-cdc-io': -517
> [ 4.195660] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
> Failed to get regulator supplies -517
> ...
> 
> and similar.
> 
> This is mainly due to DRM_MSM* and SND_QCOM_MSM* that were built-in, and try to
> initialize before the voltage regulators are ready to work, resulting in a
> noisy bootlog.
> 
> These patches factor out some code as modules, so when the kmods are loaded and
> initialized, regulators are already present and ready to attach - all these
> config changes shave around ~3K bytes from dmesg, making the bootlog easir to
> parse.
> 
> Fix:
> 
> Apply the attached patches and recompile
> 
> How to test:
> 
> Boot a patched kernel and check for the above noise in dmesg
> 
> Regression potential:
> 
> None, we are just turning some code into kmods, and turning off a couple of not
> used feature for this flavour - all the other flavours are untouched.
> 
> Paolo Pisati (5):
>   UBUNTU: [Config] arm64: snapdragon: DRM_MSM=m
>   UBUNTU: [Config] arm64: snapdragon: SND*=m
>   UBUNTU: [Config] arm64: snapdragon: disable ARM_SDE_INTERFACE
>   UBUNTU: [Config] arm64: snapdragon: disable DRM_I2C_ADV7511_CEC
>   UBUNTU: [Config] arm64: snapdragon: disable VIDEO_ADV7511,
>     VIDEO_COBALT
> 
>  debian.master/config/amd64/config.common.amd64     |  6 ++----
>  debian.master/config/arm64/config.common.arm64     |  7 +++++++
>  debian.master/config/arm64/config.flavour.generic  | 22 ++++------------------
>  .../config/arm64/config.flavour.snapdragon         | 22 ++++------------------
>  debian.master/config/armhf/config.common.armhf     | 14 +++-----------
>  debian.master/config/config.common.ubuntu          | 16 +++++++++++-----
>  debian.master/config/i386/config.common.i386       |  6 ++----
>  debian.master/config/ppc64el/config.common.ppc64el |  7 +++----
>  8 files changed, 36 insertions(+), 64 deletions(-)
> 

This is rather confusing: you submitted the same (at least appearing so from the
titles) set twice once for Bionic and again for Bionic *and* Cosmic. Please put
some self-NACK on whichever part can be ignore.

-Stefan
Stefan Bader Oct. 11, 2018, 8:10 a.m. UTC | #2
On 11.10.2018 09:53, Stefan Bader wrote:
> On 10.10.2018 17:32, Paolo Pisati wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1797154
>>
>> Impact:
>>
>> During boot on a Dragonboard410c using a recent Bionic or Cosmic kernel,
>> there's some noise like:
>>
>> ...
>> [ 3.665431] msm_dsi_phy 1a98300.dsi-phy: Failed to get supply 'vddio':
>> -517
>> [ 3.669243] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_regulator_init: failed to
>> init regulator, ret=-517
>> [ 3.676180] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_driver_probe:
>> failed to init regulator
>> ...
>>
>> or
>>
>> ...
>> [ 4.192280] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
>> Failed to get supply 'vdd-cdc-io': -517
>> [ 4.195660] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
>> Failed to get regulator supplies -517
>> ...
>>
>> and similar.
>>
>> This is mainly due to DRM_MSM* and SND_QCOM_MSM* that were built-in, and try to
>> initialize before the voltage regulators are ready to work, resulting in a
>> noisy bootlog.
>>
>> These patches factor out some code as modules, so when the kmods are loaded and
>> initialized, regulators are already present and ready to attach - all these
>> config changes shave around ~3K bytes from dmesg, making the bootlog easir to
>> parse.
>>
>> Fix:
>>
>> Apply the attached patches and recompile
>>
>> How to test:
>>
>> Boot a patched kernel and check for the above noise in dmesg
>>
>> Regression potential:
>>
>> None, we are just turning some code into kmods, and turning off a couple of not
>> used feature for this flavour - all the other flavours are untouched.
>>
>> Paolo Pisati (5):
>>   UBUNTU: [Config] arm64: snapdragon: DRM_MSM=m
>>   UBUNTU: [Config] arm64: snapdragon: SND*=m
>>   UBUNTU: [Config] arm64: snapdragon: disable ARM_SDE_INTERFACE
>>   UBUNTU: [Config] arm64: snapdragon: disable DRM_I2C_ADV7511_CEC
>>   UBUNTU: [Config] arm64: snapdragon: disable VIDEO_ADV7511,
>>     VIDEO_COBALT
>>
>>  debian.master/config/amd64/config.common.amd64     |  6 ++----
>>  debian.master/config/arm64/config.common.arm64     |  7 +++++++
>>  debian.master/config/arm64/config.flavour.generic  | 22 ++++------------------
>>  .../config/arm64/config.flavour.snapdragon         | 22 ++++------------------
>>  debian.master/config/armhf/config.common.armhf     | 14 +++-----------
>>  debian.master/config/config.common.ubuntu          | 16 +++++++++++-----
>>  debian.master/config/i386/config.common.i386       |  6 ++----
>>  debian.master/config/ppc64el/config.common.ppc64el |  7 +++----
>>  8 files changed, 36 insertions(+), 64 deletions(-)
>>
> 
> This is rather confusing: you submitted the same (at least appearing so from the
> titles) set twice once for Bionic and again for Bionic *and* Cosmic. Please put
> some self-NACK on whichever part can be ignore.

Hm, I think I need more coffee. I was somehow sure one of these two sets had B
and C in them but I probably was skidding between lines ... So this is the set
for bionic and the other one is for cosmic...

> 
> -Stefan
> 
> 
>
Paolo Pisati Oct. 11, 2018, 8:11 a.m. UTC | #3
On Thu, Oct 11, 2018 at 09:53:57AM +0200, Stefan Bader wrote:

> This is rather confusing: you submitted the same (at least appearing so from the
> titles) set twice once for Bionic and again for Bionic *and* Cosmic. Please put
> some self-NACK on whichever part can be ignore.

In Mutt i see them as separated threads: this one is the Bionic set (see subject
- B/master), the other one is the Cosmic set (C/master)- the config changes are
the same, though due to the surrounding config lines, the patches are slightly
different, AKA the Bionic set of config changes won't apply to Cosmic and
viceversa.
Stefan Bader Oct. 11, 2018, 9:18 a.m. UTC | #4
On 10.10.2018 17:32, Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1797154
> 
> Impact:
> 
> During boot on a Dragonboard410c using a recent Bionic or Cosmic kernel,
> there's some noise like:
> 
> ...
> [ 3.665431] msm_dsi_phy 1a98300.dsi-phy: Failed to get supply 'vddio':
> -517
> [ 3.669243] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_regulator_init: failed to
> init regulator, ret=-517
> [ 3.676180] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_driver_probe:
> failed to init regulator
> ...
> 
> or
> 
> ...
> [ 4.192280] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
> Failed to get supply 'vdd-cdc-io': -517
> [ 4.195660] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
> Failed to get regulator supplies -517
> ...
> 
> and similar.
> 
> This is mainly due to DRM_MSM* and SND_QCOM_MSM* that were built-in, and try to
> initialize before the voltage regulators are ready to work, resulting in a
> noisy bootlog.
> 
> These patches factor out some code as modules, so when the kmods are loaded and
> initialized, regulators are already present and ready to attach - all these
> config changes shave around ~3K bytes from dmesg, making the bootlog easir to
> parse.
> 
> Fix:
> 
> Apply the attached patches and recompile
> 
> How to test:
> 
> Boot a patched kernel and check for the above noise in dmesg
> 
> Regression potential:
> 
> None, we are just turning some code into kmods, and turning off a couple of not
> used feature for this flavour - all the other flavours are untouched.
> 
> Paolo Pisati (5):
>   UBUNTU: [Config] arm64: snapdragon: DRM_MSM=m
>   UBUNTU: [Config] arm64: snapdragon: SND*=m
>   UBUNTU: [Config] arm64: snapdragon: disable ARM_SDE_INTERFACE
>   UBUNTU: [Config] arm64: snapdragon: disable DRM_I2C_ADV7511_CEC
>   UBUNTU: [Config] arm64: snapdragon: disable VIDEO_ADV7511,
>     VIDEO_COBALT
> 
>  debian.master/config/amd64/config.common.amd64     |  6 ++----
>  debian.master/config/arm64/config.common.arm64     |  7 +++++++
>  debian.master/config/arm64/config.flavour.generic  | 22 ++++------------------
>  .../config/arm64/config.flavour.snapdragon         | 22 ++++------------------
>  debian.master/config/armhf/config.common.armhf     | 14 +++-----------
>  debian.master/config/config.common.ubuntu          | 16 +++++++++++-----
>  debian.master/config/i386/config.common.i386       |  6 ++----
>  debian.master/config/ppc64el/config.common.ppc64el |  7 +++----
>  8 files changed, 36 insertions(+), 64 deletions(-)
> 
I wonder whether all those changes to config should not be reflected (and
possibly enforced) in the annotations file? The changes themselves look okaish...

Acked-by: Stefan Bader <stefan.bader@canonical.com>
Colin Ian King Oct. 11, 2018, 10:30 a.m. UTC | #5
On 10/10/18 16:32, Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1797154
> 
> Impact:
> 
> During boot on a Dragonboard410c using a recent Bionic or Cosmic kernel,
> there's some noise like:
> 
> ...
> [ 3.665431] msm_dsi_phy 1a98300.dsi-phy: Failed to get supply 'vddio':
> -517
> [ 3.669243] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_regulator_init: failed to
> init regulator, ret=-517
> [ 3.676180] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_driver_probe:
> failed to init regulator
> ...
> 
> or
> 
> ...
> [ 4.192280] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
> Failed to get supply 'vdd-cdc-io': -517
> [ 4.195660] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
> Failed to get regulator supplies -517
> ...
> 
> and similar.
> 
> This is mainly due to DRM_MSM* and SND_QCOM_MSM* that were built-in, and try to
> initialize before the voltage regulators are ready to work, resulting in a
> noisy bootlog.
> 
> These patches factor out some code as modules, so when the kmods are loaded and
> initialized, regulators are already present and ready to attach - all these
> config changes shave around ~3K bytes from dmesg, making the bootlog easir to
> parse.
> 
> Fix:
> 
> Apply the attached patches and recompile
> 
> How to test:
> 
> Boot a patched kernel and check for the above noise in dmesg
> 
> Regression potential:
> 
> None, we are just turning some code into kmods, and turning off a couple of not
> used feature for this flavour - all the other flavours are untouched.
> 
> Paolo Pisati (5):
>   UBUNTU: [Config] arm64: snapdragon: DRM_MSM=m
>   UBUNTU: [Config] arm64: snapdragon: SND*=m
>   UBUNTU: [Config] arm64: snapdragon: disable ARM_SDE_INTERFACE
>   UBUNTU: [Config] arm64: snapdragon: disable DRM_I2C_ADV7511_CEC
>   UBUNTU: [Config] arm64: snapdragon: disable VIDEO_ADV7511,
>     VIDEO_COBALT
> 
>  debian.master/config/amd64/config.common.amd64     |  6 ++----
>  debian.master/config/arm64/config.common.arm64     |  7 +++++++
>  debian.master/config/arm64/config.flavour.generic  | 22 ++++------------------
>  .../config/arm64/config.flavour.snapdragon         | 22 ++++------------------
>  debian.master/config/armhf/config.common.armhf     | 14 +++-----------
>  debian.master/config/config.common.ubuntu          | 16 +++++++++++-----
>  debian.master/config/i386/config.common.i386       |  6 ++----
>  debian.master/config/ppc64el/config.common.ppc64el |  7 +++----
>  8 files changed, 36 insertions(+), 64 deletions(-)
> 
Disabling drivers that are not required is a good idea anyhow, plus it
reduces kernel noise, which is a good thing. So...

Acked-by: Colin Ian King <colin.king@canonical.com>
Paolo Pisati Oct. 12, 2018, 10:38 a.m. UTC | #6
On Thu, Oct 11, 2018 at 11:18:43AM +0200, Stefan Bader wrote:

> I wonder whether all those changes to config should not be reflected (and
> possibly enforced) in the annotations file? The changes themselves look okaish...

I didn't modify annotations because none of the changes here are mandatory to
boot the board or cripple / fix any feature beyond repair.
Khalid Elmously Oct. 23, 2018, 6:30 a.m. UTC | #7
On 2018-10-10 17:32:46 , Paolo Pisati wrote:
> BugLink: https://bugs.launchpad.net/bugs/1797154
> 
> Impact:
> 
> During boot on a Dragonboard410c using a recent Bionic or Cosmic kernel,
> there's some noise like:
> 
> ...
> [ 3.665431] msm_dsi_phy 1a98300.dsi-phy: Failed to get supply 'vddio':
> -517
> [ 3.669243] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_regulator_init: failed to
> init regulator, ret=-517
> [ 3.676180] msm_dsi_phy 1a98300.dsi-phy: dsi_phy_driver_probe:
> failed to init regulator
> ...
> 
> or
> 
> ...
> [ 4.192280] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
> Failed to get supply 'vdd-cdc-io': -517
> [ 4.195660] qcom,pm8916-wcd-spmi-codec 200f000.spmi:pm8916@1:codec@f000:
> Failed to get regulator supplies -517
> ...
> 
> and similar.
> 
> This is mainly due to DRM_MSM* and SND_QCOM_MSM* that were built-in, and try to
> initialize before the voltage regulators are ready to work, resulting in a
> noisy bootlog.
> 
> These patches factor out some code as modules, so when the kmods are loaded and
> initialized, regulators are already present and ready to attach - all these
> config changes shave around ~3K bytes from dmesg, making the bootlog easir to
> parse.
> 
> Fix:
> 
> Apply the attached patches and recompile
> 
> How to test:
> 
> Boot a patched kernel and check for the above noise in dmesg
> 
> Regression potential:
> 
> None, we are just turning some code into kmods, and turning off a couple of not
> used feature for this flavour - all the other flavours are untouched.
> 
> Paolo Pisati (5):
>   UBUNTU: [Config] arm64: snapdragon: DRM_MSM=m
>   UBUNTU: [Config] arm64: snapdragon: SND*=m
>   UBUNTU: [Config] arm64: snapdragon: disable ARM_SDE_INTERFACE
>   UBUNTU: [Config] arm64: snapdragon: disable DRM_I2C_ADV7511_CEC
>   UBUNTU: [Config] arm64: snapdragon: disable VIDEO_ADV7511,
>     VIDEO_COBALT
> 
>  debian.master/config/amd64/config.common.amd64     |  6 ++----
>  debian.master/config/arm64/config.common.arm64     |  7 +++++++
>  debian.master/config/arm64/config.flavour.generic  | 22 ++++------------------
>  .../config/arm64/config.flavour.snapdragon         | 22 ++++------------------
>  debian.master/config/armhf/config.common.armhf     | 14 +++-----------
>  debian.master/config/config.common.ubuntu          | 16 +++++++++++-----
>  debian.master/config/i386/config.common.i386       |  6 ++----
>  debian.master/config/ppc64el/config.common.ppc64el |  7 +++----
>  8 files changed, 36 insertions(+), 64 deletions(-)
> 
> -- 
> 2.7.4
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team