All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dual-core powernow-k8
@ 2005-05-02 19:23 Langsdorf, Mark
  2005-05-02 21:14 ` Michał Pytasz
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Langsdorf, Mark @ 2005-05-02 19:23 UTC (permalink / raw)
  To: cpufreq

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]

With the release of the dual-core AMD Opterons last week,
it's high time that cpufreq supported them.  The attached
patch applies cleanly to 2.6.12-rc3 and updates powernow-k8
to support the latest Athlon 64 and Opteron processors.

Update the driver to version 1.40.0 and provide support
for dual-core processors.

Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>

-Mark Langsdorf
AMD, Inc.

[-- Attachment #2: powernow-k8-dual-core-on2.6.12.patch --]
[-- Type: application/octet-stream, Size: 8662 bytes --]

--- arch/i386/kernel/cpu/cpufreq/powernow-k8.c.orig	2005-04-14 15:12:15.057801240 -0500
+++ arch/i386/kernel/cpu/cpufreq/powernow-k8.c	2005-04-14 16:27:47.130821416 -0500
@@ -4,7 +4,7 @@
  *  GNU general public license version 2. See "COPYING" or
  *  http://www.gnu.org/licenses/gpl.html
  *
- *  Support : paul.devriendt@amd.com
+ *  Support : mark.langsdorf@amd.com
  *
  *  Based on the powernow-k7.c module written by Dave Jones.
  *  (C) 2003 Dave Jones <davej@codemonkey.org.uk> on behalf of SuSE Labs
@@ -15,12 +15,13 @@
  *
  *  Valuable input gratefully received from Dave Jones, Pavel Machek,
  *  Dominik Brodowski, and others.
+ *  Originally developed by Paul Devriendt.
  *  Processor information obtained from Chapter 9 (Power and Thermal Management)
  *  of the "BIOS and Kernel Developer's Guide for the AMD Athlon 64 and AMD
  *  Opteron Processors" available for download from www.amd.com
  *
  *  Tables for specific CPUs can be infrerred from
- *	http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/30430.pdf
+ *     http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/30430.pdf
  */
 
 #include <linux/kernel.h>
@@ -30,6 +31,7 @@
 #include <linux/cpufreq.h>
 #include <linux/slab.h>
 #include <linux/string.h>
+#include <linux/cpumask.h>
 
 #include <asm/msr.h>
 #include <asm/io.h>
@@ -42,9 +44,11 @@
 
 #define PFX "powernow-k8: "
 #define BFX PFX "BIOS error: "
-#define VERSION "version 1.00.09e"
+#define VERSION "version 1.40.0"
 #include "powernow-k8.h"
 
+cpumask_t cpu_sharedcore_mask[NR_CPUS];
+
 /* serialize freq changes  */
 static DECLARE_MUTEX(fidvid_sem);
 
@@ -286,7 +290,7 @@
 			return 1;
 	}
 
-	while ((rvosteps > 0)  && ((data->rvo + data->currvid) > reqvid)) {
+	while ((rvosteps > 0) && ((data->rvo + data->currvid) > reqvid)) {
 		if (data->currvid == 0) {
 			rvosteps = 0;
 		} else {
@@ -671,7 +675,7 @@
 	 * BIOS and Kernel Developer's Guide, which is available on
 	 * www.amd.com
 	 */
-	printk(KERN_ERR PFX "BIOS error - no PSB\n");
+	printk(KERN_INFO PFX "BIOS error - no PSB or ACPI _PSS objects\n");
 	return -ENODEV;
 }
 
@@ -695,7 +699,7 @@
 	struct cpufreq_frequency_table *powernow_table;
 
 	if (acpi_processor_register_performance(&data->acpi_data, data->cpu)) {
-		dprintk("register performance failed\n");
+		dprintk("register performance failed: bad ACPI data\n");
 		return -EIO;
 	}
 
@@ -746,22 +750,23 @@
 			continue;
 		}
 
- 		if (fid < HI_FID_TABLE_BOTTOM) {
- 			if (cntlofreq) {
- 				/* if both entries are the same, ignore this
- 				 * one... 
- 				 */
- 				if ((powernow_table[i].frequency != powernow_table[cntlofreq].frequency) ||
- 				    (powernow_table[i].index != powernow_table[cntlofreq].index)) {
- 					printk(KERN_ERR PFX "Too many lo freq table entries\n");
- 					goto err_out_mem;
- 				}
-				
- 				dprintk("double low frequency table entry, ignoring it.\n");
- 				powernow_table[i].frequency = CPUFREQ_ENTRY_INVALID;
- 				continue;
- 			} else
- 				cntlofreq = i;
+		/* 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 ((powernow_table[i].frequency != powernow_table[cntlofreq].frequency) ||
+				    (powernow_table[i].index != powernow_table[cntlofreq].index)) {
+					printk(KERN_ERR PFX "Too many lo freq table entries\n");
+					goto err_out_mem;
+				}
+
+				dprintk("double low frequency table entry, ignoring it.\n");
+				powernow_table[i].frequency = CPUFREQ_ENTRY_INVALID;
+				continue;
+			} else
+				cntlofreq = i;
 		}
 
 		if (powernow_table[i].frequency != (data->acpi_data.states[i].core_frequency * 1000)) {
@@ -816,7 +821,7 @@
 {
 	u32 fid;
 	u32 vid;
-	int res;
+	int res, i;
 	struct cpufreq_freqs freqs;
 
 	dprintk("cpu %d transition to index %u\n", smp_processor_id(), index);
@@ -841,7 +846,8 @@
 	}
 
 	if ((fid < HI_FID_TABLE_BOTTOM) && (data->currfid < HI_FID_TABLE_BOTTOM)) {
-		printk("ignoring illegal change in lo freq table-%x to 0x%x\n",
+		printk(KERN_ERR PFX
+		       "ignoring illegal change in lo freq table-%x to 0x%x\n",
 		       data->currfid, fid);
 		return 1;
 	}
@@ -850,18 +856,20 @@
 		smp_processor_id(), fid, vid);
 
 	freqs.cpu = data->cpu;
-
 	freqs.old = find_khz_freq_from_fid(data->currfid);
 	freqs.new = find_khz_freq_from_fid(fid);
-	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
+	for_each_cpu_mask(i, cpu_sharedcore_mask[data->cpu]) {
+		freqs.cpu = i;
+		cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
+	}
 
-	down(&fidvid_sem);
 	res = transition_fid_vid(data, fid, vid);
-	up(&fidvid_sem);
 
 	freqs.new = find_khz_freq_from_fid(data->currfid);
-	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
-
+	for_each_cpu_mask(i, cpu_sharedcore_mask[data->cpu]) {
+		freqs.cpu = i;
+		cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
+        }
 	return res;
 }
 
@@ -874,6 +882,7 @@
 	u32 checkvid = data->currvid;
 	unsigned int newstate;
 	int ret = -EIO;
+	int i;
 
 	/* only run on specific CPU from here on */
 	oldmask = current->cpus_allowed;
@@ -902,22 +911,41 @@
 		data->currfid, data->currvid);
 
 	if ((checkvid != data->currvid) || (checkfid != data->currfid)) {
-		printk(KERN_ERR PFX
-		       "error - out of sync, fid 0x%x 0x%x, vid 0x%x 0x%x\n",
-		       checkfid, data->currfid, checkvid, data->currvid);
+		printk(KERN_INFO PFX
+			"error - out of sync, fix 0x%x 0x%x, vid 0x%x 0x%x\n",
+			checkfid, data->currfid, checkvid, data->currvid);
 	}
 
 	if (cpufreq_frequency_table_target(pol, data->powernow_table, targfreq, relation, &newstate))
 		goto err_out;
 
+	down(&fidvid_sem);
+
+	for_each_cpu_mask(i, cpu_sharedcore_mask[pol->cpu]) {
+		/* make sure the sibling is initialized */
+		if (!powernow_data[i]) {
+                        ret = 0;
+                        up(&fidvid_sem);
+                        goto err_out;
+                }
+	}
+
 	powernow_k8_acpi_pst_values(data, newstate);
 
 	if (transition_frequency(data, newstate)) {
 		printk(KERN_ERR PFX "transition frequency failed\n");
 		ret = 1;
+		up(&fidvid_sem);
 		goto err_out;
 	}
 
+	/* Update all the fid/vids of our siblings */
+	for_each_cpu_mask(i, cpu_sharedcore_mask[pol->cpu]) {
+		powernow_data[i]->currvid = data->currvid;
+		powernow_data[i]->currfid = data->currfid;
+	}	
+	up(&fidvid_sem);
+
 	pol->cur = find_khz_freq_from_fid(data->currfid);
 	ret = 0;
 
@@ -962,7 +990,7 @@
 		 */
 
 		if ((num_online_cpus() != 1) || (num_possible_cpus() != 1)) {
-			printk(KERN_INFO PFX "MP systems not supported by PSB BIOS structure\n");
+			printk(KERN_ERR PFX "MP systems not supported by PSB BIOS structure\n");
 			kfree(data);
 			return -ENODEV;
 		}
@@ -1003,6 +1031,7 @@
 	schedule();
 
 	pol->governor = CPUFREQ_DEFAULT_GOVERNOR;
+	pol->cpus = cpu_sharedcore_mask[pol->cpu]; 
 
 	/* Take a crude guess here. 
 	 * That guess was in microseconds, so multiply with 1000 */
@@ -1069,7 +1098,7 @@
 		return 0;
 	}
 	preempt_disable();
-
+	
 	if (query_current_values_with_pending_wait(data))
 		goto out;
 
@@ -1108,6 +1137,8 @@
 			continue;
 		if (check_supported_cpu(i))
 			supported_cpus++;
+		/* find our siblings if this is a dual core system */
+		define_siblings(i, cpu_sharedcore_mask);
 	}
 
 	if (supported_cpus == num_online_cpus()) {
@@ -1127,9 +1158,10 @@
 	cpufreq_unregister_driver(&cpufreq_amd64_driver);
 }
 
-MODULE_AUTHOR("Paul Devriendt <paul.devriendt@amd.com>");
+MODULE_AUTHOR("Paul Devriendt <paul.devriendt@amd.com> and Mark Langsdorf <mark.langsdorf@amd.com.");
 MODULE_DESCRIPTION("AMD Athlon 64 and Opteron processor frequency driver.");
 MODULE_LICENSE("GPL");
 
 late_initcall(powernowk8_init);
 module_exit(powernowk8_exit);
+
--- arch/i386/kernel/cpu/cpufreq/powernow-k8.h.orig	2005-04-14 14:57:11.814115152 -0500
+++ arch/i386/kernel/cpu/cpufreq/powernow-k8.h	2005-04-14 16:19:30.477324224 -0500
@@ -174,3 +174,24 @@
 static int core_frequency_transition(struct powernow_k8_data *data, u32 reqfid);
 
 static void powernow_k8_acpi_pst_values(struct powernow_k8_data *data, unsigned int index);
+
+#ifndef for_each_cpu_mask
+#define for_each_cpu_mask(i,mask) for (i=0;i<1;i++)
+#endif
+                                                                                
+#ifdef CONFIG_SMP
+static inline void define_siblings(int cpu, cpumask_t cpu_sharedcore_mask[])
+{
+	int i;
+	for (i=0;i<NR_CPUS;i++) {
+		if (phys_proc_id[cpu] == phys_proc_id[i]) {
+			cpu_set(cpu, cpu_sharedcore_mask[i]);
+			cpu_set(i, cpu_sharedcore_mask[cpu]);
+		}
+	}
+}
+#else
+static inline void define_siblings(int cpu, cpumask_t cpu_sharedcore_mask[])
+{
+}
+#endif

[-- Attachment #3: Type: text/plain, Size: 147 bytes --]

_______________________________________________
Cpufreq mailing list
Cpufreq@lists.linux.org.uk
http://lists.linux.org.uk/mailman/listinfo/cpufreq

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] dual-core powernow-k8
  2005-05-02 19:23 Langsdorf, Mark
@ 2005-05-02 21:14 ` Michał Pytasz
  2005-05-02 21:16 ` Michał Pytasz
  2005-05-04 16:51 ` Dominik Brodowski
  2 siblings, 0 replies; 10+ messages in thread
From: Michał Pytasz @ 2005-05-02 21:14 UTC (permalink / raw)
  To: cpufreq

Hi,

On Monday 02 of May 2005 21:23, Langsdorf, Mark wrote:
> With the release of the dual-core AMD Opterons last week,
> it's high time that cpufreq supported them.  The attached
> patch applies cleanly to 2.6.12-rc3 and updates powernow-k8
> to support the latest Athlon 64 and Opteron processors.
>
> Update the driver to version 1.40.0 and provide support
> for dual-core processors.
>
> Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
>
> -Mark Langsdorf
> AMD, Inc.

I just tried applying patch against 2.6.11.8, well it builds fine, however 
when I try to use it (Athlon64 3200+ s939) I get:

powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.40.0)
powernow-k8:    0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
powernow-k8:    1 : fid 0xa (1800 MHz), vid 0x8 (1350 mV)
powernow-k8:    2 : fid 0xc (2000 MHz), vid 0x6 (1400 mV)
Losing some ticks... checking if CPU frequency changed.
cpu_init done, current fid 0xc, vid 0x6

which looks quite fine, but after ondemand govenor is started:

powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed

and so on.

Here is my cpuinfo (when I see above):

# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 31
model name      : AMD Athlon(tm) 64 Processor 3200+
stepping        : 0
cpu MHz         : 2000.108
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pat pse36 clflush mmx fxsr sse sse2 pni syscall nx mmxext fxsr_opt lm 
3dnowext 3dnow
bogomips        : 3915.77
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

built with gcc:
# gcc --version
gcc (GCC) 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r2, 
ssp-3.4.3.20050110-0, pie-8.7.7)

system is running in native x86_64 mode.

Michal

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] dual-core powernow-k8
  2005-05-02 19:23 Langsdorf, Mark
  2005-05-02 21:14 ` Michał Pytasz
@ 2005-05-02 21:16 ` Michał Pytasz
  2005-05-02 21:48   ` Michał Pytasz
  2005-05-04 16:51 ` Dominik Brodowski
  2 siblings, 1 reply; 10+ messages in thread
From: Michał Pytasz @ 2005-05-02 21:16 UTC (permalink / raw)
  To: cpufreq

Hi,

On Monday 02 of May 2005 21:23, Langsdorf, Mark wrote:
> With the release of the dual-core AMD Opterons last week,
> it's high time that cpufreq supported them.  The attached
> patch applies cleanly to 2.6.12-rc3 and updates powernow-k8
> to support the latest Athlon 64 and Opteron processors.
>
> Update the driver to version 1.40.0 and provide support
> for dual-core processors.
>
> Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
>
> -Mark Langsdorf
> AMD, Inc.

I just tried applying patch against 2.6.11.8, well it builds fine, however 
when I try to use it (Athlon64 3200+ s939) I get:

powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.40.0)
powernow-k8:    0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
powernow-k8:    1 : fid 0xa (1800 MHz), vid 0x8 (1350 mV)
powernow-k8:    2 : fid 0xc (2000 MHz), vid 0x6 (1400 mV)
Losing some ticks... checking if CPU frequency changed.
cpu_init done, current fid 0xc, vid 0x6

which looks quite fine, but after ondemand govenor is started:

powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
powernow-k8: transition frequency failed

and so on.

Here is my cpuinfo (when I see above):

# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 31
model name      : AMD Athlon(tm) 64 Processor 3200+
stepping        : 0
cpu MHz         : 2000.108
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pat pse36 clflush mmx fxsr sse sse2 pni syscall nx mmxext fxsr_opt lm 
3dnowext 3dnow
bogomips        : 3915.77
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

built with gcc:
# gcc --version
gcc (GCC) 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r2, 
ssp-3.4.3.20050110-0, pie-8.7.7)

system is running in native x86_64 mode.

Michal

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] dual-core powernow-k8
  2005-05-02 21:16 ` Michał Pytasz
@ 2005-05-02 21:48   ` Michał Pytasz
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Pytasz @ 2005-05-02 21:48 UTC (permalink / raw)
  To: cpufreq

Hi,

I know it's quite silly to reply to own posts, however I wanted to add more 
information to what is written below:

One change to 1000MHz was successful, than frequency (on demand) changed to 
2000, after that no changes are possible.

Michal

On Monday 02 of May 2005 23:16, Micha³ Pytasz wrote:
> Hi,
>
> On Monday 02 of May 2005 21:23, Langsdorf, Mark wrote:
> > With the release of the dual-core AMD Opterons last week,
> > it's high time that cpufreq supported them.  The attached
> > patch applies cleanly to 2.6.12-rc3 and updates powernow-k8
> > to support the latest Athlon 64 and Opteron processors.
> >
> > Update the driver to version 1.40.0 and provide support
> > for dual-core processors.
> >
> > Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
> >
> > -Mark Langsdorf
> > AMD, Inc.
>
> I just tried applying patch against 2.6.11.8, well it builds fine, however
> when I try to use it (Athlon64 3200+ s939) I get:
>
> powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.40.0)
> powernow-k8:    0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
> powernow-k8:    1 : fid 0xa (1800 MHz), vid 0x8 (1350 mV)
> powernow-k8:    2 : fid 0xc (2000 MHz), vid 0x6 (1400 mV)
> Losing some ticks... checking if CPU frequency changed.
> cpu_init done, current fid 0xc, vid 0x6
>
> which looks quite fine, but after ondemand govenor is started:
>
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: vid trans failed, vid 0x3, curr 0x4
> powernow-k8: transition frequency failed
> powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> powernow-k8: transition frequency failed
>
> and so on.
>
> Here is my cpuinfo (when I see above):
>
> # cat /proc/cpuinfo
> processor       : 0
> vendor_id       : AuthenticAMD
> cpu family      : 15
> model           : 31
> model name      : AMD Athlon(tm) 64 Processor 3200+
> stepping        : 0
> cpu MHz         : 2000.108
> cache size      : 512 KB
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 1
> wp              : yes
> flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> cmov pat pse36 clflush mmx fxsr sse sse2 pni syscall nx mmxext fxsr_opt lm
> 3dnowext 3dnow
> bogomips        : 3915.77
> TLB size        : 1024 4K pages
> clflush size    : 64
> cache_alignment : 64
> address sizes   : 40 bits physical, 48 bits virtual
> power management: ts fid vid ttp
>
> built with gcc:
> # gcc --version
> gcc (GCC) 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r2,
> ssp-3.4.3.20050110-0, pie-8.7.7)
>
> system is running in native x86_64 mode.
>
> Michal
>
> _______________________________________________
> Cpufreq mailing list
> Cpufreq@lists.linux.org.uk
> http://lists.linux.org.uk/mailman/listinfo/cpufreq

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH] dual-core powernow-k8
@ 2005-05-02 22:02 Langsdorf, Mark
  0 siblings, 0 replies; 10+ messages in thread
From: Langsdorf, Mark @ 2005-05-02 22:02 UTC (permalink / raw)
  To: Michal Pytasz, cpufreq

Thanks for the additional information.

I didn't change anything in that part of the code, so I'm not sure what
the issue is.  But I'll investigate it and get back to you.

-Mark Langsdorf
AMD, Inc.

> I know it's quite silly to reply to own posts, however I 
> wanted to add more information to what is written below:
> 
> One change to 1000MHz was successful, than frequency (on 
> demand) changed to 
> 2000, after that no changes are possible.
> 
> Michal
> 
> On Monday 02 of May 2005 23:16, Micha³ Pytasz wrote:
> > Hi,
> >
> > On Monday 02 of May 2005 21:23, Langsdorf, Mark wrote:
> > > With the release of the dual-core AMD Opterons last week, 
> it's high 
> > > time that cpufreq supported them.  The attached patch applies 
> > > cleanly to 2.6.12-rc3 and updates powernow-k8 to support 
> the latest 
> > > Athlon 64 and Opteron processors.
> > >
> > > Update the driver to version 1.40.0 and provide support
> > > for dual-core processors.
> > >
> > > Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
> > >
> > > -Mark Langsdorf
> > > AMD, Inc.
> >
> > I just tried applying patch against 2.6.11.8, well it builds fine, 
> > however when I try to use it (Athlon64 3200+ s939) I get:
> >
> > powernow-k8: Found 1 AMD Athlon 64 / Opteron processors 
> (version 1.40.0)
> > powernow-k8:    0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
> > powernow-k8:    1 : fid 0xa (1800 MHz), vid 0x8 (1350 mV)
> > powernow-k8:    2 : fid 0xc (2000 MHz), vid 0x6 (1400 mV)
> > Losing some ticks... checking if CPU frequency changed. 
> cpu_init done, 
> > current fid 0xc, vid 0x6
> >
> > which looks quite fine, but after ondemand govenor is started:
> >
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > powernow-k8: transition frequency failed
> > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > powernow-k8: transition frequency failed
> >
> > and so on.
> >
> > Here is my cpuinfo (when I see above):
> >
> > # cat /proc/cpuinfo
> > processor       : 0
> > vendor_id       : AuthenticAMD
> > cpu family      : 15
> > model           : 31
> > model name      : AMD Athlon(tm) 64 Processor 3200+
> > stepping        : 0
> > cpu MHz         : 2000.108
> > cache size      : 512 KB
> > fpu             : yes
> > fpu_exception   : yes
> > cpuid level     : 1
> > wp              : yes
> > flags           : fpu vme de pse tsc msr pae mce cx8 apic 
> sep mtrr pge mca
> > cmov pat pse36 clflush mmx fxsr sse sse2 pni syscall nx mmxext 
> > fxsr_opt lm 3dnowext 3dnow
> > bogomips        : 3915.77
> > TLB size        : 1024 4K pages
> > clflush size    : 64
> > cache_alignment : 64
> > address sizes   : 40 bits physical, 48 bits virtual
> > power management: ts fid vid ttp
> >
> > built with gcc:
> > # gcc --version
> > gcc (GCC) 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r2, 
> > ssp-3.4.3.20050110-0, pie-8.7.7)
> >
> > system is running in native x86_64 mode.
> >
> > Michal
> >
> > _______________________________________________
> > Cpufreq mailing list
> > Cpufreq@lists.linux.org.uk 
> > http://lists.linux.org.uk/mailman/listinfo/cpufreq
> 
> _______________________________________________
> Cpufreq mailing list
> Cpufreq@lists.linux.org.uk 
> http://lists.linux.org.uk/mailman/listinfo/cpufreq
> 
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] dual-core powernow-k8
       [not found] <84EA05E2CA77634C82730353CBE3A84301CFBFBC@SAUSEXMB1.amd.com>
@ 2005-05-03  7:48 ` Michał Pytasz
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Pytasz @ 2005-05-03  7:48 UTC (permalink / raw)
  To: cpufreq

[-- Attachment #1: Type: text/plain, Size: 12524 bytes --]

Hi,

On Tuesday 03 of May 2005 02:11, you wrote:
> Do you have your kernel compiled for uniprocessor or SMP
> operation?  I can't reproduce the issue on my laptop (HP3000z)
> in uniprocessor mode.

It is compiled for uniprocesor, I'm attaching my kernel config. I've noticed 
one more thing. When I'm using userspace (instead of ondemand) govenor and 
powernowd the frequency gets changed, however I also get in dmesg (with one 
new message):

powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ph2 null fid transition 0xa
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ph2 null fid transition 0xa
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: vid trans failed, vid 0x3, curr 0x4
powernow-k8: transition frequency failed
powernow-k8: ph2 null fid transition 0xa <- This is new...

as if not all transition attempts were successful.
I don't know if it is important at the moment, but I have stability issues 
with the old driver. (Well I even changed memory recently thinking it was 
causing problems, had one Hynix 512/PC3200 module, have Kingston 1G Dual 
channel set). I guess it was happening on frequency transition from low to 
high, but I'm unable to provide log since the behaviour is not fully 
repeatable, sometimes it works stable, sometimes it hangs or reboots on login 
with no logged information.

So far I have not attached mainboard infomation, I haven't thought it could be  
important, it's MSI K8T Neo2 (MS6702E).

Michal

>
> -Mark Langsdorf
> AMD, Inc.
>
> > -----Original Message-----
> > From: cpufreq-bounces@lists.linux.org.uk
> > [mailto:cpufreq-bounces@lists.linux.org.uk] On Behalf Of Michal Pytasz
> > Sent: Monday, May 02, 2005 4:49 PM
> > To: cpufreq@lists.linux.org.uk
> > Subject: Re: [PATCH] dual-core powernow-k8
> >
> >
> > Hi,
> >
> > I know it's quite silly to reply to own posts, however I
> > wanted to add more
> > information to what is written below:
> >
> > One change to 1000MHz was successful, than frequency (on
> > demand) changed to
> > 2000, after that no changes are possible.
> >
> > Michal
> >
> > On Monday 02 of May 2005 23:16, Michał Pytasz wrote:
> > > Hi,
> > >
> > > On Monday 02 of May 2005 21:23, Langsdorf, Mark wrote:
> > > > With the release of the dual-core AMD Opterons last week,
> >
> > it's high
> >
> > > > time that cpufreq supported them.  The attached patch applies
> > > > cleanly to 2.6.12-rc3 and updates powernow-k8 to support
> >
> > the latest
> >
> > > > Athlon 64 and Opteron processors.
> > > >
> > > > Update the driver to version 1.40.0 and provide support
> > > > for dual-core processors.
> > > >
> > > > Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
> > > >
> > > > -Mark Langsdorf
> > > > AMD, Inc.
> > >
> > > I just tried applying patch against 2.6.11.8, well it builds fine,
> > > however when I try to use it (Athlon64 3200+ s939) I get:
> > >
> > > powernow-k8: Found 1 AMD Athlon 64 / Opteron processors
> >
> > (version 1.40.0)
> >
> > > powernow-k8:    0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
> > > powernow-k8:    1 : fid 0xa (1800 MHz), vid 0x8 (1350 mV)
> > > powernow-k8:    2 : fid 0xc (2000 MHz), vid 0x6 (1400 mV)
> > > Losing some ticks... checking if CPU frequency changed.
> >
> > cpu_init done,
> >
> > > current fid 0xc, vid 0x6
> > >
> > > which looks quite fine, but after ondemand govenor is started:
> > >
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: vid trans failed, vid 0x3, curr 0x4
> > > powernow-k8: transition frequency failed
> > > powernow-k8: ignoring illegal change in lo freq table-2 to 0x2
> > > powernow-k8: transition frequency failed
> > >
> > > and so on.
> > >
> > > Here is my cpuinfo (when I see above):
> > >
> > > # cat /proc/cpuinfo
> > > processor       : 0
> > > vendor_id       : AuthenticAMD
> > > cpu family      : 15
> > > model           : 31
> > > model name      : AMD Athlon(tm) 64 Processor 3200+
> > > stepping        : 0
> > > cpu MHz         : 2000.108
> > > cache size      : 512 KB
> > > fpu             : yes
> > > fpu_exception   : yes
> > > cpuid level     : 1
> > > wp              : yes
> > > flags           : fpu vme de pse tsc msr pae mce cx8 apic
> >
> > sep mtrr pge mca
> >
> > > cmov pat pse36 clflush mmx fxsr sse sse2 pni syscall nx mmxext
> > > fxsr_opt lm 3dnowext 3dnow
> > > bogomips        : 3915.77
> > > TLB size        : 1024 4K pages
> > > clflush size    : 64
> > > cache_alignment : 64
> > > address sizes   : 40 bits physical, 48 bits virtual
> > > power management: ts fid vid ttp
> > >
> > > built with gcc:
> > > # gcc --version
> > > gcc (GCC) 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r2,
> > > ssp-3.4.3.20050110-0, pie-8.7.7)
> > >
> > > system is running in native x86_64 mode.
> > >
> > > Michal
> > >
> > > _______________________________________________
> > > Cpufreq mailing list
> > > Cpufreq@lists.linux.org.uk
> > > http://lists.linux.org.uk/mailman/listinfo/cpufreq
> >
> > _______________________________________________
> > Cpufreq mailing list
> > Cpufreq@lists.linux.org.uk
> > http://lists.linux.org.uk/mailman/listinfo/cpufreq

[-- Attachment #2: 2611_gentoo_5th.zip --]
[-- Type: application/x-zip, Size: 9325 bytes --]

PK\x03\x04\x14\0\0\0\b\0pGŁ2Œƒ\v+ä#\0\0Ö‰\0\0\x0f\0\0\02611_gentoo_5th][w#§˛~ßżB+űa'kí‰-É’ĺœ5\x0f¨›–ˆú憖äy鼹{lx$\x1fIN2˙ţ\x14ôEĐ\x14r\x1e2ąę+ €˘(  ˙ýŻ\x7f÷Čűi˙}sÚ>n^_\x7fôžË]yŘœĘ§Ţ÷Í\x1feďqżűś}ţ­÷´ßýçÔ+Ÿś'H\x11nwď\x7f÷ţ(\x0fťňľ÷gy8n÷ťßzƒ_ÇżöűŸ ƒÓ~˙éí\x16\x18ŁýŽ\x17m~ôzƒŢ`đŰÍđˇŃ°7¸ž\x1eýëß˙ň’8`łb=\x19\x17ă›Ď?šßă›)\x13çŸ\0Ÿ\x7fDQ~ţ‘­8Š\x19iĆź‚§,\x0e\x13oqĆ^[Ä#!›fDЧ!y0˛.ź(]{óŮ™HI\x16>\x14iĆbĄĺ5OŠ(\x04‹hÖĄŃ(\x0feÖ™đě’\x19'…\x1f\x11\x04H"’\x02\x19Záß=o˙TBSŸŢ\x0fŰӏŢků'4éţí\x04-z<ˇ\x12]§2˘ą á9?/¤$.ź$JYHĎäi–,h\$qÁŁôL–ÍS,h\x16Ó°){Śúúľw,OďoçŇ€“„Kšq–ÄŸ\x7fúŠ!ó\x15Ѳă\x0f|ÉR­ÚiÂŮşˆîsšëÂp\x1fš3ń(ç\x05ń<ŮľPg\x1c+–ĂŢöŘŰíOR"­ O„z:’űL œa\x02yćAÁç,\x10Ÿű7mW%"\rs­—\x17Éôw
ĺĺt	MzŚłEő‡MQrę2ĐhJ}Ÿúˆ\x18\v\x12†ü!â:{Cƒž\x14\x19)RÂ9’2Č\x05]kĘ˜&ĄQqĎ+’\x14ô}ĄEd\x05‡?°\x16›G4ŇÔÄ+`\fĚbČ>ö\x04ô)˙|ma!™Ň\x10\x05’$Ĺčżç‘˘ˇÂ	\x16?TEë")=\v÷›§Í×WĐóýÓ;üďřţöś?œÎ\x1a\x17%~\x1eRŽ\ruE(r\x18ÔġČPwĎ\x06“)OB
Ł\x11¸R’EF˛ZNŠsă™WŁPľ\x10ëP`l†LzŘ?–ÇăţĐ;ýx+{›ÝSď[)Goyʆsőb˘gtڧÜCJhUš›\x06*ěƒ\x01óć´˜>\bhŸţ`‚˘•Ćßę˜ŕž™Ő,Iü‚¤ĚPăˆy Ř‰Š‘L\x14ńĚĚ\x05$džIbI“­.š´!\x1dz$˛L/\x1cĚ\x13RlšQ\x1aĽÚ¨Ź	Ĺta\f†8\bÚĆ3’	icŁ\x1cÉÝĎŁčĄBM#Z„\x02Ś\x01Ş\x19ÜŚ›ć$óYvĎm\x04¨ŇTLiŤ/űżĘ\x03Ř÷Ýćšü\x0e3ŁmŰÓHŻU\x1aÁ<5ÍgذN\x02ą"\x19ôvÎS\x1ak˝\0‰¸\0[
\x15gB\x19퍧ňĎŤ—§ÍíO•\x18ÄKYďgňôçf÷\bSť§főw˜çA\x16ĽÄ•œlw*\x0fß6ĺ/=Ţ\x1dŁ2‹s‘ňW1M\x12Ń!É\x16Ë Ç„>W*„‡”Ś\x18MŮÖ"ŕ\x1dŒxÝŇˆ€\\x1fşÔ\\b¨ąI\2Ÿ&Ÿż^[´€tšęš'éJ*ć4‹ˆ9ĺ(‰ áQŤj>Ü H`ˆN	ŇŤU%Bâ-BĆEń\0\x1eˆnU\x15ěŇˆş\x01ş-Gť-—&+Ť;RŻŰ›0Ń
\x1aYľ†ż\x05a Ţ–Y\a[Đ\v\x0eĺ˙˝—ťÇ\x1f˝#řŰÝóYa\0.‚ŒŢ^[3XMsVŠeŕ‚ˆs\x0f\x1adH\f\x12…Zľľl\x03’‡\x02ŒÝ˛\0—	&ŠˆÄjdc"œys\x0e3@J<Ě\x0eś	ěLQ\x0eŮŘœ,)"˝Q”\x03ObŸBţ>\x02\v2\re˛Śőeă÷ŢÚ\x19é鰕θé\+qâdU,&ç\x1c;@3śŰ6’8Ř\x18ęƒF¤…\aN\x12xĉcލ´\x04¤‘}]\vw|Ů\x1cŔ̍‘ľž˘\x1aý`6\x02KżŚďÇ&‡ŢĎ Ż˝ňôřë/šĺÔU\x18~\x14`”Š'LZ\x14ľ>]+C\x1e'™O3ęĂD€ŽY•3lv\x02$¤3â=4.Ą\x06Ä$RNLeů=\x0fŚ	)xä1rĺm\x0eOPĄ_4çG+NąvëŸzŸ\x1e!UďëaűôŹü‹šĚzóýéíőýYłŇmfľˇ+\x05˛r¤\x7f—ď'ĺŠ}ŰĘ\x7fö\aXz\x1c{W=úýýuÓ™™Ś,\x0e"X䄁ćĎW´ˆ{ŃŞ\x13#ĂA˝\x16bş-Vt’äZ—ČŐ
Ń~×Ë\b‹\x0e^F\x7fÜ4Ľ_ţš},{~ŤßçŐËöą&÷’îÄ
Ś"öI˜ÄÚH…™IşüEŔ˛HÍĽÓœ…ÚL\x1aŹ
éT‚ľŹ\x159*żď\x0f?z˘||Ůí_÷Ď?ja@##á˙bř|\x02éÂ\rŹŻ^aI'{Éö{aĆN“Lłs5\x01:\x0fŁÁz5ě\x03pVœ\x1a\x02“Â\bćşji\x03\x16$ZCœ\x01žËĹ%‚%r"´Éŕ„Ţ´J.•Pů\x0fŻ°Ěˇë\x17§†s\x13§śáoÜęÓţq˙z4ŇÖfŠ2\x06ŻűÇ?zOUăk:\x1a. Ëe\x11řFƒÁüßý­5śŮ5€ő^śĎ/ŸŞĹˇeE›äV	Đx\b-°IÂ&ÍP1Ţęf¨\x17J†áŹS\x12AcÜfUř4ő\x16—p\x18h¸ŸRă`ňłKxŔÄŕ\x03|x	§0Ě/ă\fwë›ü3v\x7f\x19OW—đĹ”y\x17q!Ř%<‰\a×\x1fŕc\x14—šęĽŕvŕŐk`q~‰G*ťOźť1.EĂ’wÖá\x16ƒ\a3żÔ…$FĚFĂ$\x17˙šío’f\x0fŠHp,žúşjČ|Ż‡[q§\x17¤ČHd\x17\x04D?Ĺçţ\x18ĂäŢČçI˙nĐ\x05YĚDŚ™|ő›D\x01‡\x05Vž[vŢń
§žá9úY\x12\x15éBxţŇ6őŕJđÇ—RŽ[Ýz°„Ă
Ý/bŁš\x1a*á6ͧÄ\x0f™>k5ˆ\x17\x18Î4\x11¤H–4+¨˜[â\0x\x05˙Ľě*
˘Ť,\fmë,¤ŐŽ\x15ą6îĺćXB–0őî\x1fßĺňUš\bWۧň×Óß'é>ô^ĘסŤíîŰž\a+IiĂ”ý4,—–uÁAŚ‹š0÷%ß\x05m\0Ôg|Ą7DM*Ŕ\x03\x11Lnë|ŢóŃzCkił†\x06\x04a’Ś\x0f(Ä=Ît…—u\x14\x04da‰'B[I@´Ç—í^[\x10šţ¸úúţüműˇ>ŠÉLę\x1d\x05cż´\x19\x7f‘?žš<ü!\a˜?/ˇ‚á>Wż\v>—N\x11Ëîąr“ ˜&\x1dGľĂrAjšs9\x1eô/Š}é___\x7fĐů\x111=˙\x0eŚ6\a}Łfu’‚ä"éę\r@I\x1c>Hýš(\x1aĄŢx°^_ć	Y\x7f´Ć§ż–'ňoo>ĘG0śN/›oŠ\x03—s5[\x10ŇË<ŢĂdŕď.‹ěńŃČ1éé,ĂË,óT\f?X˛ŒÝł§šHźţŕúrA)4ŢE†˜OnoúŁË™řŢŕ\x1aúťHB˙Ÿ1Ć\x14÷;ZÉ—Ť\x05ž}Ôr0\x16‘\x19ý€\aZş\x7fšżxčÝ]Ó\x0f\x1aRdŃŕîŇP[2\x02şą^Ż;#Ś Yôá\bEF\x19[bs|\rvGćy6°L¨´¸ő:ŔžŇ”9ţĄ˙Ňv\x17ĎÉëtŐ\x1eţĎOŰă\x1f˙í6oĺ\x7f{ž˙	&ů_ě\x05\x06×LŠ7Ď*šžCUÓ\x12ŽSŰÔ\x19V;ž\x15°\x1aő“\fi˜śŒY+ůţ{Š×\x1e– ĺŻĎż‚Č˝˙}˙Łüş˙ťÝ\čÁjţ´}ƒ\x15~˜ÇGłyęY\x12\0c/^"đˇ\4\v\M\x15K˜Ěf,ś\x17pJ.qŘ쎪|r:\x1dś_ßOeˇp.÷Q…Čřš\x14=đZ˛Y S˙*\f/ôu˙—ľrłZz¸*@“×ŕ\x192|8ŤR€ëní°Í•\x18Ý}š\x0eLźË\x05\x10ćÝ^. bpZ–éΑKDgDĘ ÍŃĚąRlyލ,ě¨Au\x15¸j–ŠHbAć\x1ežF:ł€ľťP\x01`pZés\x1eńŇ͐Ş<”í˝ý(\x1f°\0\x11ă¸]=sÝs‘ŕ+_­V뛏8Xř!Ç…áĽ8ň\x10Űy<ă`™­aR\x03‚ňK\x15ć\x1c\x06°c\x01Ź8üh=ěßő/h\x1fuyđ-
}‹oŤV#=\x179ř˜~\x12\x11†ë§b›ů梌c\x15Ň\v(Wt—$\0œôQ7łR­”tŒ\x13‹˘.ĺ\vK\všŚj˛“ť„ ™ayíŘIŠ:ě!\x1a\r˝	Œu|;ĽŽć…\x1cîUW‚Ä=E'¸Đă5K\x7f0qśČ}H\x06\x1dG Ľ÷/™3Éŕrš[†ĄĂŸ;3\f.4\x110Œ‡ý\v\fž7ź^[ý}\x19żĆˇ¤*\x1cݰŒä\x04űÉtCz?+ë/ˇCĂĽîCDČz3Ňś\x0e#0Űŕ'™A’™][\x14c˙ˇĄa=Wc#„\x7fŒł+Ç\0\fëź“D\x1d“aÓDť\x1fĽ\r\x0f?Şö‡ô<€Ćc’ňy‚ˇ3ŕ\x11Ë2‡ů\x05ô\vÍ\x12Ť\v‚w\x19wÖ‹Raťƒmâ —\x1dö:œRÚë\x0fďnz?\aŰCš‚˙Đ“\x19ɧ؏\f\x06É…R%ÚM\x11—§żö‡?śťgŰmŠhź<Í\x0e\x15 Ţ‚ęç[ęw\x11Uádmé^[¨“ę\x1a¤Óň˜i1FŔ[,¨v¨Îb˝\x040eJ+<ÂM*ń—ň\f\x14ô)ɍłţ&E\x1aŇęź’^[˜b/‚UD˛\x05\x02œUĐĆ–4›&œ\x1aHuŔ`ü.üšg\x13e¨‚ŃH5=#\x19n>eð”]\x02g\x19śĎ$^[@	Ü-E<*–}<I\x0eŒý˝,uĚĂ\x0f2ě/Y0ŠE‘É\x1e\x04\x17M;ž“\x04ĘÓ\x0e…ĽňĐ­C\x14y,\x03\x04żk˘	/ő\x19™\x19MZÓŕĎe{JÇŇßzËíáôžyíńň ĎäŒ8\x13c€¤Ĺ\x12•˝ĘOű%ƒ1—༚\x1a:ś*8śk8FŤ8F긴‰Ŕ\x19°ĐPí–TÍ	z˝aÔ~Űžž*Ÿ+\x1c\ar\x15‹\fF­ąeXABĹ@˘ýÝI\ČÁs‰QH—W$0\x7f	l\x0f°â
Djt3XćuI\x02a#2<tŠUŕg7Ç´ś\x01\x1dzD„7‡I/b\x02‡Ŕó!ńĚĘŻ\x02#bÉY\x01éBˆ‡Ô™*[8\x10euŒƒX\x1d\x16‰CţŒĘĐ\b\x1cŁ^Œ\x03>÷Ź\x16­\x102ďč°ŢT4ž‰šC>\x11:\0/¸Cö9\rSšá˜\f˛q4˘ŽÁ\bœŹbWŚÄ÷3wçd”„‘C\x1aĎVÁF˜(rvŔœđ9Ş`ő°î*:Éf`˙2*#ƒ\x1d xĘ\x0e$wCx'ÄÄ*\x04H`b¨ol^ë9E„Ă Ëˆoľa+|\x1d\x01ƒĂ`ż¤§€ƒœDVśR"\x1eG0{\x12ÎŹ!'QÄbH2b4$\x193&’Ž^[\x14 ÎBWU‘1Y#ČŔŤ\x11läľMkۆ\x1aňBÂ9\v\x1eşpFVŽvNĐ\x11\x02Ó9n\f\x01Ŕu\x12€s+ÔsÍŸăKł6\x13Œ[ŁŒN\x01c—y\x1e_°Ď\x1aÖąÁ\x1a’š’$Šp•\x14ddć€ćĄK\x02ĚjëĹum‘!˝Ůß\x1a$˝9­c€0\x062ďXi˝Ĺ,3­4gă^[\vłť~ě69c|`Œ/¨ňŘRÖu \aÇË_*(ąŃ1ĺ5˜\x11Â?ë\x17P~1źšÚ:kkf\x01.ř\x14\x16Ž|ćXT×\fÉôw/v-źg\x0e*\x06c)víg5,|N0§úĚ\x10Á"Ř86wDFdĚŸaƒe\x19’¸˜\\x0fú÷Ƣ\x16\f\rĹĹ\x0fC\x0fߐ`)ž\x17B Yqn=ŔĎŠB’NK\x13ŸÁZ	\x17Â˙\x1dRŻ –ŐjÎZťŢďšÜÖ¸Ú\x1fzß6ŰCď˙ŢË÷Ň\bö•ĹŞ \x05siÉĺ,\x1d.ŠßY\x100Ę;ŤÔ\x16\x06˝•׍’Ŕ'\x0fÎZ5Ě2ěŘczo8ńŠ8\x17S„\x18č1Œ\r5•Ąp\x16\x15fV›Č\x03¤(AďC„:\rlâ\fÍŐçć\bnčđ\x7f\x1aŮd\x16C6ş\x7f!ű„›ý@9´/\x11‰ššćä\x16\x01\x1c\x16\x16űtmć(\x01Ľ\x1c7\x0eşO°˛Yóá@\x1fC5IEU;úT˛°ŘŒĂŠSu—A]ąř2E„\x05ęŘ&\x13=nX- ĺ**	™ŠÓ6ôP"3âXŞ5\fr?‹âŤ÷†\x05&ß‹xJ;×ÜôýĄŢŠ<žŞ\x11h$„\x15PçŘç\fvŻ“Ő¤"ÍR\x03ƒ3ƒ­"Ui\x12‡ß"ƒ?¨qĆ9'\x11xŞ\f\v\x1ag™rö*‡ćŕ“6ěQ\x0fÉŔčjÓX&ˇĽ´ŸŇő7\x16ѐ'xá Ť˝U'‹@"ŃU’ęţ\x14¸x0Őr‚ďö(Ć@˛dř\x0eĽbŔ÷‰ŮîŰA†Â\x7fR^[ÄőŽá“\x19ČĚYf#mÖ°˘-€Łi0\x7fż{~E7\x1dýDş\x05–\x04ÉëÓ\a%T!Äç"TŠň°ÝźĘkż\x17Kë\x1eTV^[łXimœOUƒáł:›™˘Ą\fĐFgby€Ä4oiŞ\x1fśC\x1f\x0e<}…3•62Ńő\x04(YŕŒ\x05t\x1aS4nJ\x14sć§M\x13M_ßËÓ~\x7fzq6ŤLŕ1¨l§ôŠ(Ĺr”\x028ÉĚZŐ´bŽ]”ÖČS§N \x10k/3\x03˛\x14ĂÔ‹\x06×CG LĹ‘’ţőE†\0jr\x01_vŽ‰Ď†Ă§K0ŹÚÜŁŽĺiuNb\x1f&ś3Ţç$d_”“Ú–"rüüPMÓn$Y\x15\x15™yťň¤…‘k›­]wŽş1qz‘×ÜO˝Ÿű×=p\x7f ×čëöôK×îR\x19+˙Q\x06 •˜x4v\x1cČúá\0w
iˇngQřd8qÄjE\x06c‡\x1fÜ?Đ0LV\x01ĂfŽlŇ\x1fßé
¤\b°pOńź*X:Íř\x10_8Bœřân\x12:Ž„\x05›%ńđƒĆEZ—­g¸†ň\x01łhÄţr×ËäŮ\v˘!Âö‹ĺšŃky<öde\x7fŢíwŸ^6ß\x0f›§íţ\x17Ó5VSałaœ|=î_ËSyN.Żů\x1cĎLjo‡ň\x13Ź7~í÷Ęp‘™ç\x11Ś\fUŠŻ=ĆÉ•źücdz\x16G^nÔWüi¸śh"ňĎ´ś|\x19BYQ\x1d‹˜ˆÚ\x11Żéa{üŢ›‰+\x1f,&Ôš’ňçÍŐ׍ç_ä]&u3ęë;")¸â<\x1au\x1cÎ\x15Ëh(\x1dŢş1W›]oŰ\[5úkĺPŔŔ÷qŝł4Eď|…L›SŇÔXďÂĎj'B\x1ešĄŮJŽj‘ĺ\r á\x0fąg\x14 Oxź\x02f~“*#‘YIœrß<ä\0b˘ńpCzůK]ś’‹\x06j¸Ő
’‹\x0fÇš\Â2śZý…\x1d!Ëî	ŒŠ\x06–ć)Zm`…żä}ýÖ\x11ä~\f*đőřăx*ż^[cX"ÖP\x05\x7f{Ůď~`WŕŇyg× vĹŢŢOÎČA\x16§y{\b›\x1fËĂŤ<Ç74Kç„–ČĄýčR?—ŇéEĘIžv˘ÜË(‹őçţőŕć2ĎĂçŰńÄdů=y¨Š>7’˘\vŽŸůV(]˘‰č\x12w\ekąŤÄvmf$˘ćž^[OňŘ×ém\x11\r\rfŚŃ\bż\x03Ҳ„xpU‹Ó(ď_/đ\bň–i	˙8‚ž[ž š\\x7fÇoĆý5Ҕܟ+§~\x16lr}3č\x12á_Ő\x1aúxP€'&\x03ďśďˆzQ,),m§ŽĂߊÁc)\x1f¸ä+BđŢřŔ.:#+GO[w,\r\x1dYĐ\a\x15ú\x7fŽcC\x01łż0ŻÉ´\bĎcW%Zžpń!ËZ|Č\x12Ó•@/2i#ę,şúYtÚ§"Ú\x17);\fKž^Ż	žxiÇ&\x17Ěq	Ż\x1eŚIîÍŤŃ}KŢąľ:Ë{Ů\x1c6rëßş
šÔv0–˘hěëůŢ•MŤę+wYŤŰ˛™šŃ\x02óD.\;°Y"ŁO¤ŠŁ°÷ŕ…Äwř
>›1šzx;JĐŃ\x05kR˝É\x11:âű\x14‡šĂ\x1c\fŒ;"WaÂuÎŕ\r\x189˘AŠš\x1fâ.<x0Đˆ¸Ýă)ő ń]a°89s\x056
\x12úŮŇŇ—f\x1dß\x1dÖuÇO\x06ŁkK^[$ŃŠ*
4ß\x02Ń‘8+äŇ“\x7fž1MOƒÓľ qçݤj_\vœgÉ\x01\x14%1~aşÎĘK2[2I´Ĺ–áNw“"\x15\x0fÚrłšÁď Ö\x17\v\aŁöfĄz\x11Ě\}†iS\x18ęÖÉŠV_Ť20éśéM#fžÚEŕbĂ@\f‘MřŐćôřň´\x7fîI‡YëĘ•<\ň\x13ă…ƒ†\x06#{E\x1e’Ü^—śšY†˙ÜoI Úœp—ßťĎÁ\x1f/V>n\x03T”˜ ŢÜÍ\x11˛¨?\x1aŽ.2Ŕ\Ůw2po4¸v˘4Ď’‹\x02°éíľ;ůŠ\x044s§•áťÂs…\x1aË›J\x17Äţű\x12<ž†Ź] —ćî\x06[M†ăÁí<¸Ä0š˝uăr—ŕK\x17m^žřôus,Ÿl]Ô\x17‰ŠwQi gěmŠœO?Ě\x1cxđĚĎS\\x06Ł'ŃŽ7ăĽq}¸zŠďlN‡wcÜë$),űŔvŰť›ŐEĄÓKŮűöş\x7f{űĄn\x0e™ű€F\x04ŞźVŠČJfÚ˛\f~Č›ęxř,\x02\x10ŐlWDŢ\x1cÉÁĎŒ-přY\b?Ŕç\r	fýÁ\x04ĎFîOĐ$îć\x16Í\x1c\x13t\x169Ż1D+˛tř\vd\x05)ĺŃ$Ös)5<eőź"t–ź‹ę`ˇâ^ÁpÎź9ő\x16Ő[śľ\x1dxČşo =â\x02?
OžîĽŒw›ˆź>ď\x0fŰÓË÷Ł‘\x0elÓ,™\x1a\x11\x1251ő\x02ŒHôLç Ü\x7fm\x0eĽzć\x06\x13ŤşN:\x1cus\x02âxˆ\x10×]bäߎĆ\x18­ŕ7“ÉŔB&ý~ß$ºƢôŻ;\x14NLBŹnŕv˛ˇ^:Ńˆ°Z™ÍťP–p˛$F\x04 +šś%T›QâM;ŒňžäÝČ"އ×\x16ínźîĐDŢÉŽşrc\x12@Ä\x0e-Iü$éô\x02ôzÝDŞçŰ^çĺî¸?\x1cÁĄßžáÝĎi,ß&;WUýć0ŠFýëAß\x05Œ\ŔŘ\x01\fąŹÔţšM÷y\x7fŒ\x15\x1dČł\x7fDÖY8ęOxd\x03LLnmj\x18éš}ŚŢ"•\x02*šĂí\x04ŁNĘ\0\x15-m‚–†Ë{‡ä^[‘u\x7fÜżłÔ›Ü\x0eÇH
\x1eqďćv:źCʨ°\bitĐÁńdLl\0fřŰIßGđv2Ňð4Hš\rí! ÜZW†
×Đ&\x1dĽňz\x1dV×`2ş˝q\0wHuŔÚOFć\f(‡:WUÎ=îƒľ,ŇĆ~Ŕ2u<ŕ§•3GśŘýÍëëćřŸcŻ˙éŻ-ŒÝŻďćFsßJ\x11mŘ\x19\x02›F0śl§B]'ú^>m7Čş^>fXhSŇrűTî{ÁţP=ÄÜ\x1c#Wdň´y;u\x1ců*‡Š˜Üŕ+Ń\x1a_Ý{\x04?\x17­\x18ź\x0fđŐݝăŇyŢő´O\x05sBFƒ›ńÇ,wř\x11Q\x1eƒŤ>ź\x1e^\x12\vy\x12ƒ+AĹń%É\x1cç\x06­\bˇý!î3V\x1cŃ\x1a?rŞű1Ĺw
*tN×,Š$ë\ZÂŮf4b1vbQˇ÷z2ŃGSEM–Đ‹¨šgňŕ
U u|%‹\x13tŃ}XŽĂ\x04ƏY\x1f\x16\x0f…ްĎßüíóö\x04k˙J“§‡ýćéqŁÂ\šW׌\b\x04ôAŞ’J\x19Î&ŚVđ<°HÂ[7ĂjvŘź˝l\x1f\x11g,˜ęnf0­ŽAŞ\bz\—€G°NC&DçşźÎăą,s˜$@Ó\b"”	\x1fŚ4^[¸Np\x162X{ťp\x16qá\x04—3ŇÇ\x0ex$Dšö˘yMŻĎvZH‘EŒ-ŇęqDCj>\a\x0eŠćŽ\x05\a@ň\x16\v‹\bh\x13žî‘)ŐÚĆyĽžĺp6Ľxč,œ:¨\vŞœU'ę0C\0Ĺ4‰ˆëš6ŕ‹‡\f\x1f^€\r]+@Ů)ĘAĹO>¤ĆĘ\aĚÜ*łd™Č‰}Âëíwň<ť÷´=žÉW\0Ť%°=Š@Ťěíšę=f‹\x1cŔ˘\x1dćă@îžœÁł4Iç‘
^Lţžh\x19U”ó[’áţy_\x7fŐŔş¤\x15&3ă\x15\x12ů[ŢĚÍ×0âcźÉ5\x1e×°ŃXź0\x17ƒ\x1eĆŁ\x1eţ…ĺO\x11zňÄ$­Œ,X]C(ŞŔ\x19-PŚĹkäź›	Ůái$Ňĺ–ú˜\x02÷ź}lä­Üüńţ&[Juîń­,\x1f_ŒÝÁ”’EŽĹJŐHóŔîçŸvű]ůSóˆÉűîIó"ĺÁaSfű<uő}	ĹÚ#‡Ç—íŠ|”OŹkéôçŻáG÷ë\f’”z‘I˜Ż|ý\x05jIĘČ*b>3‰œŢç4öĚxĆ\x1a¨\x14\x16Ť4ŕ	çň\x15T3ˇˆ­A‰\x13Î-élb[˛\rM™¨\x1fYíÔ@xMÝ\rYë۲őˇ,đ-ČŘwD-6OŤZž¨ŞPšß\÷‹:JÍĚíBă€ůPMÝI\x12‰”`GÖUs¨ýź?\x1eôUS+D3uK—\x04••xwˇ…|ßŢ3““nFýŽ0\x17\x1eŢ:ĂjöÇý`Ĺ”O&ŽłÝ\x1av\x04h5°ă!-\x05\x7f\x11ĂĄc2RZ\x02ËjÇy\x12 ňPŰő\x1aC\x05\x0f&řě áKÇď\x1a~!\x7frݿƽs	/’lÖ\x1f¸žr¨F’38\x05ŕ8\x1aŒÜšg\x11\x1dşł\x06ôîbÚťńȝzîťŢŕ–éÂŹ*ń‡(pyÔ•Śň^[—Ÿ§\x1a5b—’ĂÚş?źu'Żđ\vĘűwCˇžIxě†kG\x1f\x7fŽL2¸#1$
ST˙ö‚B(|pă°\x1ejë|˛î\x18ކ\x1auÇ>Obć-Ů\x14˝S_\x1902\x19Ź×fv5ą˛	Ý,—ëůtIsЁm\rČ\x0422X~ÝĆq˘Tsä|=x°˛MŢĘ]=gr+†Ş
ĐIĺ\x15.T\x1eËY“Ëú‹éPŹă!”íńą|}ÝěĘýűQĺe=[Q%–\x0e‡ţ‘\aI’Ř_1_=÷`–ő\x10“ˆy0äăÄąÄRQÔŐ—0œx"°\x05ˆj叺"\ĚőÇ@\r$™{íëÓ˛^óýń$ÝÓa˙ú
\x0eŽ\x15*#SÓš\f’Ôß…nŠŕ`1Q0ž˜ĺ),K\x12QĚsđÁ…‰&h~ů™jśG8é÷%€vr}Ňë˝nŽGWdžĽ}męsČť€%Ďăf×Űď^\x7fôž–˝wyh÷×V\x06Ăoňqů'\x19\ré“%IgŔŐ9^Ô­Y}\0oI\x16'‚ţÖSu\x17I&—[ĺNŠpTĂýW=ĆóŸęŃźíńFĎ˙Óű\x0e\v•Íëq/ĺß•ĺSůô?=ůĐ­žÓź|}SoÜ~ß\x1fĘž|ăVž–oŹ\x184vŤ/*˛=lPŽl%żjAÍ[EXnD€LM%iŔ ŁÔÓ\x0f?uq\x7fp}cžá+ëČ<\x05oĺşÄAîűŮő^[^[pL};jž\b}téQh15g\x1dő\aB\x13Žy>üc0›`—Čę\x04Učăy03ż7\x05\x05m_žw\r\bWě™Ra\x19\x12ćD	K\x05Ĺ=o	ŻHçtšSŹ ř6˘\x1a\rňŰ\x1dň˘Œ[4\x15cć„錄\x04÷Ô$źN‰ťÖŕ\x05\x17\x19\x12O%ěűćŮŒ ×Ĺň˝‰~ŽT\x19\x02OĆh,\x1ag^fri?\Í\x0fdÚšZ#Š0Ĺ86¨U\x1a>ĹNžŐ}¤i\x04)Mą\x16Ň\x1f +Ϥ&Ë‘~HŞ´šŢ\wIń×ż\x1etˆb9VÇPm-›ť|Ř–ŤLá\x11ď\x01)ůČŠ:žČS*\x02]ěú^‘Ä3\x01sĹ\bw\f+'cŠ]g‘bWWٰŮ/çüv`TąŽ?ƒi\x13¸OĆśi\a­ŔËł.\x18\x1e†c˜ŇˆqGąF\aŘÎL5ăŃŒŻHhMŚ\x19KF\x0eÇ[Â!%BŽCGžawŇ\x0eŠU„÷ ž5ĺîÄšź’.\x16\f_>h,Đ~KÜkTúí_6U\x02Üt´í‰ˆŽ|\x1evo,Jhśyz.OXř˝ĚqF¤Tśˇ\x18yWÜW=˜&\0l%aťoŰÝv*'rěĽ5ř7fҏ´\x12\x06ŰĂwuÔn9jÔo÷œ\x02ů\x19œĘA1žˇ)\x06Ć\x17ÉjBą–\x0fŃÚäęŰ—Ä3Ž×6 §^ž1ô\x01=`\x19vË\x19âĺ\f/•3ü œßÍ\bmřéü\0\x17d\x14MŐ­X-hŠ2ĐŻ€W˘ž\x0fs\x1a˛
şÁĎ{\x1a–ú+O\x01vëQËž[q\x1dB+Ż3\j€Fxí7šßďŽ|\f\x06WŰŠÄ\x02ćG\x19\0Ž•Ö)L)Ţ:ŕöŞkmľą¤d˜S(ű<1Ÿč]_n…uGfÔÁ\bZËr[s•%Q%É9”\x05\x1cmů\bN›Č*ű^~\x17
}ŢŽB\x06´ŐG]kŠßÍ^>\bŢ\x11Ą"ÝhoyWu_ÉŻqČql\rcXkݍÇ×fĎ'!Ó_8ü\x02L:^ý6’ä~`\b"\x7fÇa+…ŸđŤ€ˆŤXŕR\x04ňA$-yÄ!…AYvY\x02ő‘ťęótr÷2•ë‹›á-†łDFŹq¨ÓOŰă~2\x19Ý}ęˇ_0‰EÓˆm?)’Kƒ\x15˜­šŞĽÇňýiŻž\x15fUËújŁ",:ĄŮ\x0f\g\x01'ÜŇđŠ\x16ɈktŔU¸{\x15\x05x*Îś\x03Š”ˆRłHEp˛Ďs˜šÂŠ.wM*T?œ“üjLÓTŚ—‚ś\x18ń­Î¨IĐäˆ $čŒ€šý;\rs“6ĽV!Šäęńi'OÚůí5ľlzô>'|nśç˛˛[X[ŚěîăőM‡$?\x01gŽ/Ť\x06\x15ĽX]ł\x17\x1d\x17­ŚrŢmô¸Sšü˝\x1cjńÁň÷^^[IŠŢQsěĂ\x01\x03ö\r\x14ůmÍĺS?ŤŹ›ŠćqŚ\x7fŘ­ú]Ěô×[€\0\x06\ŇŠE65\x1eďŐ ž."ô[ŮŃ´Ór’\x02śŞą\x16h}<\x16ŕë„ŘK\v\a\x04V‰¸0biCeL6‡ÓV='%~źé\vşöťľíŤ˛zwŔ29‹Ď<h‰	\x0f>ŕ \x11›‘x\x04É\x18ÎÓ˜nâi_Ů=O Ę˘#€üšü˛ŒúşvwÂĺů\x14I“\x10¤ŕŐ':mX^gQ\x1f.D˛\rýČHr>Łö/|UxĆđDň1\x15ňRs€\x02c2ŇŔ̲\x1aĽ›\x13xá˝pł{~ß<—ö÷…că-˘łĘ~ţéýômň“Ž4Sb\x01S˘1ľéŘíđ\x16Wjƒé\x16\x7f^Ë`šŒ°÷ľ;,\x03§ “Ń?*ă\x1fH;q|ô­Ă„\x1f¨t˜đĹr‡	?¸é0áąp\x1dŚ\x7fŇ\x04ŽŕÁ\x0e\x13\x1eýg0Ý9b\0M&ÇćG'§\x7fĐNwŽˆDSđ[w;Ë)ýś\x02ťadŇ\x1f¨spź\x04\01ď[ň\x10î1ŚÍZ™}œlŠs\x03¸U˘ář¸žneh8Üý×p¸‡KĂáî\x1fWŚ.\x1a\fŁnK-\x126)đ‡˘Z\x18}ÁN>k&‚I^[ÔpŘƒ^[iž\x17ßć\x04Îv Ÿœ°\x0fä\x16ňE”×ŢËćńÎű`U„óBžSƒ}+ś‚ÓŒŇ(mˇćyůř~Řž~`\x0fh-č\x03zVZ/@ÍŰç\x15M>ü°JĐgŰZ\x16¤d
u\x13\a\x03[\x06yX&?qŒ\x1f’6\đG¸t|Œḷ́²Ź6ô\x0e?ŢNűç* Ô>ĐŹ>€yž­ŞßęąI‹\x18ça¨{ÓŠ\x18ů7\bmd%–O[ZŒ@\x1cč÷zÎäQ\x7f`‘W)Fő)ˇhSő\x02\x10Ÿ[R@)şU"ÍRăůĺšNô—jšü€ŔČâ”Tť&‚\x12;ĎĚł›l1'_ˆoóĆů”Ůőł^Oi\x1ažÁ\x02Z^˛ÓŸ8n\x04ĚźáŔîTš_jÝčyTJŁWTń†Ű݇ÍáGď°\x7f?mwĽĄE^áyL?ńUĹi\x0e\x1d›v\x05ř\x024šŚjbRĎőű\x7fPK\x01\x02\x14\x03\x14\0\0\0\b\0pGŁ2Œƒ\v+ä#\0\0Ö‰\0\0\x0f\0	\0\0\0\0\0\0\0\0\0¤\0\0\0\02611_gentoo_5thUT\x05\0\aT!wBPK\x05\x06\0\0\0\0\x01\0\x01\0F\0\0\0\x11$\0\0\0\0

[-- Attachment #3: Type: text/plain, Size: 147 bytes --]

_______________________________________________
Cpufreq mailing list
Cpufreq@lists.linux.org.uk
http://lists.linux.org.uk/mailman/listinfo/cpufreq

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] dual-core powernow-k8
  2005-05-02 19:23 Langsdorf, Mark
  2005-05-02 21:14 ` Michał Pytasz
  2005-05-02 21:16 ` Michał Pytasz
@ 2005-05-04 16:51 ` Dominik Brodowski
  2 siblings, 0 replies; 10+ messages in thread
From: Dominik Brodowski @ 2005-05-04 16:51 UTC (permalink / raw)
  To: Langsdorf, Mark; +Cc: cpufreq

Hi,

On Mon, May 02, 2005 at 02:23:41PM -0500, Langsdorf, Mark wrote:
> Update the driver to version 1.40.0 and provide support
> for dual-core processors.

Looks good to me, though it'd be great if you could provide step-by-step
patches in future (e.g. split up printk cleanups, adding feature and so
on...). One small bit, though:

+cpumask_t cpu_sharedcore_mask[NR_CPUS];

can be static, AFAICS.

	Dominik

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH] dual-core powernow-k8
@ 2005-05-04 16:53 Langsdorf, Mark
  2005-05-04 16:55 ` Dominik Brodowski
  0 siblings, 1 reply; 10+ messages in thread
From: Langsdorf, Mark @ 2005-05-04 16:53 UTC (permalink / raw)
  To: Dominik Brodowski; +Cc: cpufreq

> On Mon, May 02, 2005 at 02:23:41PM -0500, Langsdorf, Mark wrote:
> > Update the driver to version 1.40.0 and provide support
> > for dual-core processors.
> 
> Looks good to me, though it'd be great if you could provide 
> step-by-step patches in future (e.g. split up printk 
> cleanups, adding feature and so on...). One small bit, though:

Will do.
 
> +cpumask_t cpu_sharedcore_mask[NR_CPUS];
> 
> can be static, AFAICS.

I'll add it to my copy.  Do you want me to resubmit?

-Mark Langsdorf
AMD, Inc.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] dual-core powernow-k8
  2005-05-04 16:53 [PATCH] dual-core powernow-k8 Langsdorf, Mark
@ 2005-05-04 16:55 ` Dominik Brodowski
  2005-05-04 23:27   ` Dave Jones
  0 siblings, 1 reply; 10+ messages in thread
From: Dominik Brodowski @ 2005-05-04 16:55 UTC (permalink / raw)
  To: Langsdorf, Mark, davej; +Cc: cpufreq

On Wed, May 04, 2005 at 11:53:48AM -0500, Langsdorf, Mark wrote:
> > On Mon, May 02, 2005 at 02:23:41PM -0500, Langsdorf, Mark wrote:
> > > Update the driver to version 1.40.0 and provide support
> > > for dual-core processors.
> > 
> > Looks good to me, though it'd be great if you could provide 
> > step-by-step patches in future (e.g. split up printk 
> > cleanups, adding feature and so on...). One small bit, though:
> 
> Will do.
>  
> > +cpumask_t cpu_sharedcore_mask[NR_CPUS];
> > 
> > can be static, AFAICS.
> 
> I'll add it to my copy.  Do you want me to resubmit?

That's Dave's call...

Thanks,
	Dominik

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] dual-core powernow-k8
  2005-05-04 16:55 ` Dominik Brodowski
@ 2005-05-04 23:27   ` Dave Jones
  0 siblings, 0 replies; 10+ messages in thread
From: Dave Jones @ 2005-05-04 23:27 UTC (permalink / raw)
  To: Dominik Brodowski; +Cc: cpufreq

On Wed, May 04, 2005 at 06:55:59PM +0200, Dominik Brodowski wrote:
 > On Wed, May 04, 2005 at 11:53:48AM -0500, Langsdorf, Mark wrote:
 > > > On Mon, May 02, 2005 at 02:23:41PM -0500, Langsdorf, Mark wrote:
 > > > > Update the driver to version 1.40.0 and provide support
 > > > > for dual-core processors.
 > > > 
 > > > Looks good to me, though it'd be great if you could provide 
 > > > step-by-step patches in future (e.g. split up printk 
 > > > cleanups, adding feature and so on...). One small bit, though:
 > > 
 > > Will do.
 > >  
 > > > +cpumask_t cpu_sharedcore_mask[NR_CPUS];
 > > > 
 > > > can be static, AFAICS.
 > > 
 > > I'll add it to my copy.  Do you want me to resubmit?
 > 
 > That's Dave's call...

I'm travelling for the next day or so, so I'm not going to look
at much until I get back, feel free to send an incremental,
or I'll just do it myself if it hasnt turned up when I return.

thanks,

		Dave

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2005-05-04 23:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-04 16:53 [PATCH] dual-core powernow-k8 Langsdorf, Mark
2005-05-04 16:55 ` Dominik Brodowski
2005-05-04 23:27   ` Dave Jones
     [not found] <84EA05E2CA77634C82730353CBE3A84301CFBFBC@SAUSEXMB1.amd.com>
2005-05-03  7:48 ` Michał Pytasz
  -- strict thread matches above, loose matches on Subject: below --
2005-05-02 22:02 Langsdorf, Mark
2005-05-02 19:23 Langsdorf, Mark
2005-05-02 21:14 ` Michał Pytasz
2005-05-02 21:16 ` Michał Pytasz
2005-05-02 21:48   ` Michał Pytasz
2005-05-04 16:51 ` Dominik Brodowski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.