[POWERPC] perfmon2: make pm_interval register read/write
authorKevin Corry <kevcorry@us.ibm.com>
Tue, 11 Dec 2007 12:49:17 +0000 (13:49 +0100)
committerArnd Bergmann <arnd@arndb.de>
Wed, 19 Dec 2007 00:00:01 +0000 (01:00 +0100)
The pm_interval register in the Cell PMU is read/write, but was implemented in
the kernel as write-only. Previously, the written value was saved in a "shadow"
copy so calls to cbe_read_pm() could return the value.

Perfmon2 needs to be able to read the current values of pm_interval, so change
cbe_read_pm() to read the actual register instead of the "shadow" copy. There
is currently no code in the kernel that tries to read the pm_interval register
with cbe_read_pm() (expecting to receive the "shadow" value), so this should
not break any existing code.

Signed-off-by: Kevin Corry <kevcorry@us.ibm.com>
Signed-off-by: Carl Love <carll@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/powerpc/platforms/cell/pmu.c

index 1ed3036..99d688e 100644 (file)
@@ -213,7 +213,7 @@ u32 cbe_read_pm(u32 cpu, enum pm_reg_name reg)
                break;
 
        case pm_interval:
-               READ_SHADOW_REG(val, pm_interval);
+               READ_MMIO_UPPER32(val, pm_interval);
                break;
 
        case pm_start_stop: