Re: [PATCH v2 0/7] Add support for Allwinner H6 DVFS
From: ClÃment PÃron
Date: Mon Apr 13 2020 - 09:37:36 EST
Hi Maxime,
On Mon, 6 Apr 2020 at 11:07, ClÃment PÃron <peron.clem@xxxxxxxxx> wrote:
>
> Hi Maxime,
>
> On Mon, 6 Apr 2020 at 10:10, Maxime Ripard <maxime@xxxxxxxxxx> wrote:
> >
> > Hi,
> >
> > On Sun, Apr 05, 2020 at 07:35:54PM +0200, ClÃment PÃron wrote:
> > > Now that required drivers are merged we can contibute on DVFS
> > > support for Allwinner H6.
> > >
> > > This serie is based on Yangtao Li serie[0] and OndÅej Jirman work[1].
> > >
> > > Most of the OPP tables are taken from original vendor kernel[2].
> > > Plus there is a new CPU frequencies at 1.6GHz, 1.7GHz and 1.8GHz.
> > >
> > > I wrote a simple script to randomly set a frequency during
> > > a random time[3].
> >
> > If you ever need to do that ever again, cpufreq-ljt-stress-test (found
> > here https://github.com/ssvb/cpuburn-arm) has proven to be very
> > reliable to detect cpufreq related issues. stress-ng might not be
> > enough since the (at least older) Allwinner SoCs tend to create cache
> > corruption when undervolted, and that might not be unnoticed by
> > stress-ng but will be catched by cpufreq-ljt-stress-test.
The test seems good (see result below) :
# cpufreq-ljt-stress-test
Creating './whitenoise-1920x1080.jpg' ... done
CPU stress test, which is doing JPEG decoding by libjpeg-turbo
at different cpufreq operating points.
Testing CPU 0
1800 MHz ............................................................ OK
1704 MHz ............................................................ OK
1608 MHz ............................................................ OK
1488 MHz ............................................................ OK
1320 MHz ............................................................ OK
1080 MHz ............................................................ OK
888 MHz ............................................................ OK
816 MHz ............................................................ OK
720 MHz ............................................................ OK
480 MHz ............................................................ OK
Testing CPU 1
1800 MHz ............................................................ OK
1704 MHz ............................................................ OK
1608 MHz ............................................................ OK
1488 MHz ............................................................ OK
1320 MHz ............................................................ OK
1080 MHz ............................................................ OK
888 MHz ............................................................ OK
816 MHz ............................................................ OK
720 MHz ............................................................ OK
480 MHz ............................................................ OK
Testing CPU 2
1800 MHz ............................................................ OK
1704 MHz ............................................................ OK
1608 MHz ............................................................ OK
1488 MHz ............................................................ OK
1320 MHz ............................................................ OK
1080 MHz ............................................................ OK
888 MHz ............................................................ OK
816 MHz ............................................................ OK
720 MHz ............................................................ OK
480 MHz ............................................................ OK
Testing CPU 3
1800 MHz ............................................................ OK
1704 MHz ............................................................ OK
1608 MHz ............................................................ OK
1488 MHz ............................................................ OK
1320 MHz ............................................................ OK
1080 MHz ............................................................ OK
888 MHz ............................................................ OK
816 MHz ............................................................ OK
720 MHz ............................................................ OK
480 MHz ............................................................ OK
Overall result : PASSED
>
> Thanks for the tool and explanation. I will test the v3 with this one.
>
> >
> > Also, it will test each frequency, while random frequencies might skip
> > a few.
>
> I didn't count them but there was more than 2000lines, probability to miss
> a frequency is really low. Also changing from 500MHz to 1.8GHz could have
> trigger some out-of-spec issue.
>
> But just to be sure I will add an init phase before doing random stuff.
>
> >
> > > With this script and using stress-ng during several hours, I didn't
> > > see any issue. Moreover I have tested specifically the 1.8GHz on my
> > > Beelink GS1, max thermal 85ÂC is reached very quickly and then the
> > > SoC oscillates quickly between 1.5 and 1.8GHz. So i have added
> > > 1.6GHz and 1.7GHz my board now oscillate slower between 1.5GHz and
> > > 1.6GHz swapping every second and temperature is also morestable.
> > >
> > > I also test that that offlining CPU0 and doing DVFS on other CPUs
> > > works. As CPU regulator is only set for CPU0.
> > >
> > > But maybe it doesn't cost much to set the regulator for all the CPUs?
> > >
> > > Jernej test the GPU devfreq on several H6 board particulary the
> > > Tanix TX6 which doesn't have a proper dedicated PMIC and doesn't
> > > had any trouble with it.
> > >
> > > Do you think I can enable GPU OPP for all H6 Boards?
> >
> > It seems you're doing it?
> No I don't, see my answer on patch 4/7.
>
> Thanks for your review,
> ClÃment
>
> >
> > Maxime