← Back to team overview

ac100 team mailing list archive

Re: Stability Under Load

 

On Sun, 21 Aug 2011 19:50:12 +0200, Julian Andres Klode <jak@xxxxxxxxxx> wrote:
On Sun, Aug 21, 2011 at 01:09:09PM +0100, Gordan Bobic wrote:
On 08/21/2011 12:27 PM, Julian Andres Klode wrote:
>On Sun, Aug 21, 2011 at 12:06:39PM +0100, Gordan Bobic wrote:
>>Really? It complains about a max of 1000mV? On my AC100 975mV and
>>above produces no error. What model did you say you have?
>Yes, a 10V. It should be fairly obvious the cpu_millivolts in
>tegra2_dvfs.c includes 1100, the default level is 1100, as can
>be seen in cpu_speedo_max_millivolts array, and
>tegra2_dvfs_rail_vdd_cpu.

Hmm, that's interesting. So how do the differences between what's in
tegra2_dvfs.c and what's in board-paz00-power.c get reconciled?
Aren't these settings redundant?

I'm also curious how come my powertop is showing 1000MHz with no
errors in the log when I set SM1 to 975mV.

Buggy powertop? The 1000 MHz is linked to 1100 mV in the DVFS
code, I annotated the following cpu frequency table with the
corresponding voltages.

	{ 0, 216000 },	/*  750 mV */
	{ 1, 312000 },	/*  800 mV */
	{ 2, 456000 },	/*  850 mV */
	{ 3, 608000 },	/*  900 mV */
	{ 4, 760000 },	/*  950 mV */
	{ 5, 816000 },	/* 1000 mV */
	{ 6, 912000 },	/* 1050 mV */
	{ 7, 1000000 },	/* 1100 mV */

There is no way that I can see how you would be able to get
to 1 GHz @ 1 V without also modifying the corresponding
tables in tegra2_dvfs.c:

	static const int cpu_millivolts[MAX_DVFS_FREQS] =
		{750, 775, 800, 825, 850, 875, 900, 925, 950, 975, 1000, 1025,
1050, 1100, 1125};

(indexed by the frequencies above)

And of course, adjusting:
	static const int cpu_speedo_max_millivolts[NUM_SPEED_LEVELS] =
		{ 1100, 1025, 1125 };

	static struct dvfs_rail tegra2_dvfs_rail_vdd_cpu = {
		.reg_id = "vdd_cpu",
		.max_millivolts = 1100,
		.min_millivolts = 750,
		.nominal_millivolts = 1100,
	};

which both list 1100 as the default value.


I'm not disputing what the code says, but if it's a bug it's a kernel bug, not a powertop bug.
In /sys/kernel/debug/:

clock/cpu/rate:
1000000000

clock/dvfs:
vdd_cpu 975 mV:
  cpu 1000000000 975 mV
vdd_core 1200 mV:
  vdd_cpu 975 mV 1200mV
  [...]
vdd_aon 1200 mV:
  vdd_cpu 975 mV 1200 mV
  vdd_core 1200 mV 1200 mV

What is the difference between vdd_cpu and vdd_core ?

Gordan


References