[Letux-kernel] Strange things happening with latest kernels
Andreas Kemnade
andreas at kemnade.info
Sat Jun 15 18:16:10 CEST 2019
On Sat, 15 Jun 2019 17:16:20 +0200
Andreas Kemnade <andreas at kemnade.info> wrote:
> On Thu, 13 Jun 2019 06:58:17 +0200
> Andreas Kemnade <andreas at kemnade.info> wrote:
>
> > On Wed, 12 Jun 2019 23:09:48 +0200
> > Andreas Kemnade <andreas at kemnade.info> wrote:
> >
> > > Hi,
> > >
> > > On Wed, 12 Jun 2019 20:35:42 +0200
> > > Andreas Kemnade <andreas at kemnade.info> wrote:
> > >
> > > > On Tue, 11 Jun 2019 21:21:22 +0200
> > > > "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> > > >
> > > > > I think the latest kernels 4.19.49 and 5.4-rc2 have bugs...
> > > > >
> > > > > A) 4.19.49 seems to make the OMAP3 run ca. 70% of the time
> > > > > at 800MHz driving the GTA04A4 hot (have seen 90°) although
> > > > > I have only 10% system load and not too many or strange
> > > > > interrupts.
> > > > >
> > > > > Idle modes broken?
> > > > >
> > > > > B) 5.2-rc4 seems to have broken cpufreq-info (also GTA04A4)
> > > > >
> > > > That looks interesting
> > > >
> > > > [ 3.140655] core: _opp_supported_by_regulators: OPP minuV: 1012500 maxuV: 1012500, not supported by regulator
> > > > [ 3.152709] cpu cpu0: _opp_add: OPP not supported by regulators (300000000)
> > > > [ 3.160278] core: _opp_supported_by_regulators: OPP minuV: 1200000 maxuV: 1200000, not supported by regulator
> > > > [ 3.171142] cpu cpu0: _opp_add: OPP not supported by regulators (600000000)
> > > > [ 3.178710] core: _opp_supported_by_regulators: OPP minuV: 1325000 maxuV: 1325000, not supported by regulator
> > > > [ 3.189483] cpu cpu0: _opp_add: OPP not supported by regulators (800000000)
> > > >
> > > > letux-5.2-rc4 does not fully boot here, neither on gta04a5 nor on
> > > > letux3704, still investigating.
> > > >
> > >
> > > in
> > > int regulator_is_supported_voltage(struct regulator *regulator,
> > > int min_uV, int max_uV)
> > >
> > > the following if fails:
> > > /* Any voltage within constrains range is fine? */
> > > if (rdev->desc->continuous_voltage_range) {
> > >
> > >
> > > this did the trick:
> > >
> > > diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c
> > > index 6fa15b2d6fb3..f7bfdf53701d 100644
> > > --- a/drivers/regulator/twl-regulator.c
> > > +++ b/drivers/regulator/twl-regulator.c
> > > @@ -478,6 +478,7 @@ static const struct twlreg_info TWL4030_INFO_##label = { \
> > > .type = REGULATOR_VOLTAGE, \
> > > .owner = THIS_MODULE, \
> > > .enable_time = turnon_delay, \
> > > + .continuous_voltage_range = true, \
> > > .of_map_mode = twl4030reg_map_mode, \
> > > }, \
> > > }
> > >
> > > I am not sure if it is really ok, but seems to work.
> > >
> > analyzed a bit further:
> > last ok: next-20190503
> > first fail: next-20190506
> >
> to point to some author of a bad commit I do a
> git bisect run ~/kerneltest/test-grep-kernel.sh '_opp_add: OPP not supported by regulator' root=/dev/mmcblk0p2
>
> Hopefully it finds something interesting.
> ... besides too hot cpu during build
> 636288.334384] CPU2: Core temperature above threshold, cpu clock throttled (total events = 146)
> [636288.334386] CPU3: Package temperature above threshold, cpu clock throttled (total events = 155)
> [636288.334387] CPU1: Package temperature above threshold, cpu clock throttled (total events = 155)
> [636288.334388] CPU0: Core temperature above threshold, cpu clock throttled (total events = 146)
> [636288.334390] CPU0: Package temperature above threshold, cpu clock throttled (total events = 155)
> [636288.334394] CPU2: Package temperature above threshold, cpu clock throttled (total events = 155)
>
> sounds like airplane starts soon ;-)
>
> seems to be 10 minutes per step.
which gets lower later
drwxr-xr-x 2 andi andi 4096 Jun 15 16:09 v5.1
drwxr-xr-x 2 andi andi 4096 Jun 15 16:21 v5.2-rc1
drwxr-xr-x 2 andi andi 4096 Jun 15 16:32 v5.1-6352-g2646719a48c2
drwxr-xr-x 2 andi andi 4096 Jun 15 16:42 v5.1-3125-g8b35ad6232c4
drwxr-xr-x 2 andi andi 4096 Jun 15 16:53 v5.1-1572-gb4dd05dee0db
drwxr-xr-x 2 andi andi 4096 Jun 15 17:03 v5.1-747-g59df1c2bdecb
drwxr-xr-x 2 andi andi 4096 Jun 15 17:12 v5.1-1169-g81ff5d2cba4f
drwxr-xr-x 2 andi andi 4096 Jun 15 17:22 v5.1-1345-g61be53f9ef37
drwxr-xr-x 2 andi andi 4096 Jun 15 17:32 v5.1-rc1-88-g2564002abcde
drwxr-xr-x 2 andi andi 4096 Jun 15 17:34 v5.1-rc1-130-g498209445124
drwxr-xr-x 2 andi andi 4096 Jun 15 17:36 v5.1-rc1-109-g87dbc5eb3cff
drwxr-xr-x 2 andi andi 4096 Jun 15 17:38 v5.1-rc1-119-gc7e3ddd129d5
drwxr-xr-x 2 andi andi 4096 Jun 15 17:39 v5.1-rc1-124-g0ae3b061df30
drwxr-xr-x 2 andi andi 4096 Jun 15 17:41 v5.1-rc1-127-g7bcbdbe01fa8
drwxr-xr-x 2 andi andi 4096 Jun 15 17:43 v5.1-rc1-129-gfd2f02f9724c
# first bad commit: [498209445124920b365ef43aac93d6f1acbaa1b7] regulator: core: simplify return value on suported_voltage
ok,
1. opp code does not do error checks there
2. twl regulator has neither a voltage list nor the
continuous flag set
-> voltage invalid.
now things are clear. I am about to submit an official patch.
Regards,
Andreas
More information about the Letux-kernel
mailing list