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