Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db39d552 authored by Mark Langsdorf's avatar Mark Langsdorf Committed by Dave Jones
Browse files

[CPUFREQ] Powernow-k8: Enable more than 2 low P-states



Remove an obsolete check that used to prevent there being more
than 2 low P-states.  Now that low-to-low P-states changes are
enabled, it prevents otherwise workable configurations with
multiple low P-states.

Signed-off-by: default avatarMark Langsdorf <mark.langsdorf@amd.com>
Tested-by: default avatarKrists Krilovs <pow@pow.za.net>
Signed-off-by: default avatarDave Jones <davej@redhat.com>
parent 395913d0
Loading
Loading
Loading
Loading
+4 −25
Original line number Diff line number Diff line
@@ -854,6 +854,10 @@ static int powernow_k8_cpu_init_acpi(struct powernow_k8_data *data)
		goto err_out;
	}

	/* fill in data */
	data->numps = data->acpi_data.state_count;
	powernow_k8_acpi_pst_values(data, 0);

	if (cpu_family == CPU_HW_PSTATE)
		ret_val = fill_powernow_table_pstate(data, powernow_table);
	else
@@ -866,11 +870,8 @@ static int powernow_k8_cpu_init_acpi(struct powernow_k8_data *data)
	powernow_table[data->acpi_data.state_count].index = 0;
	data->powernow_table = powernow_table;

	/* fill in data */
	data->numps = data->acpi_data.state_count;
	if (cpumask_first(cpu_core_mask(data->cpu)) == data->cpu)
		print_basics(data);
	powernow_k8_acpi_pst_values(data, 0);

	/* notify BIOS that we exist */
	acpi_processor_notify_smm(THIS_MODULE);
@@ -941,7 +942,6 @@ static int fill_powernow_table_fidvid(struct powernow_k8_data *data,
		struct cpufreq_frequency_table *powernow_table)
{
	int i;
	int cntlofreq = 0;

	for (i = 0; i < data->acpi_data.state_count; i++) {
		u32 fid;
@@ -982,27 +982,6 @@ static int fill_powernow_table_fidvid(struct powernow_k8_data *data,
			continue;
		}

		/* verify only 1 entry from the lo frequency table */
		if (fid < HI_FID_TABLE_BOTTOM) {
			if (cntlofreq) {
				/* if both entries are the same,
				 * ignore this one ... */
				if ((freq != powernow_table[cntlofreq].frequency) ||
				    (index != powernow_table[cntlofreq].index)) {
					printk(KERN_ERR PFX
						"Too many lo freq table "
						"entries\n");
					return 1;
				}

				dprintk("double low frequency table entry, "
						"ignoring it.\n");
				invalidate_entry(data, i);
				continue;
			} else
				cntlofreq = i;
		}

		if (freq != (data->acpi_data.states[i].core_frequency * 1000)) {
			printk(KERN_INFO PFX "invalid freq entries "
				"%u kHz vs. %u kHz\n", freq,