[Letux-kernel] Strange things happening with latest kernels

Andreas Kemnade andreas at kemnade.info
Wed Jun 12 23:09:48 CEST 2019


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.

Regards,
Andreas


More information about the Letux-kernel mailing list