summaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm/pcr.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-08-17 08:26:01 +0200
committerDavid S. Miller <davem@davemloft.net>2012-08-19 08:26:18 +0200
commit73a6b0538c131d489fe7a2581deddb72faca496b (patch)
tree3d74b564d96900134d168eff200f802970fb7d70 /arch/sparc/include/asm/pcr.h
parentsparc64: Abstract away PIC register accesses. (diff)
downloadlinux-73a6b0538c131d489fe7a2581deddb72faca496b.tar.xz
linux-73a6b0538c131d489fe7a2581deddb72faca496b.zip
sparc64: Abstract away the NMI PIC counter computation.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/include/asm/pcr.h')
-rw-r--r--arch/sparc/include/asm/pcr.h15
1 files changed, 1 insertions, 14 deletions
diff --git a/arch/sparc/include/asm/pcr.h b/arch/sparc/include/asm/pcr.h
index d53abf75198f..4c71bec20659 100644
--- a/arch/sparc/include/asm/pcr.h
+++ b/arch/sparc/include/asm/pcr.h
@@ -6,6 +6,7 @@ struct pcr_ops {
void (*write_pcr)(unsigned long, u64);
u64 (*read_pic)(unsigned long);
void (*write_pic)(unsigned long, u64);
+ u64 (*nmi_picl_value)(unsigned int nmi_hz);
};
extern const struct pcr_ops *pcr_ops;
@@ -29,20 +30,6 @@ extern void schedule_deferred_pcr_work(void);
#define PCR_N2_SL1_SHIFT 27
#define PCR_N2_OV1 0x80000000
-extern unsigned int picl_shift;
-
-/* In order to commonize as much of the implementation as
- * possible, we use PICH as our counter. Mostly this is
- * to accommodate Niagara-1 which can only count insn cycles
- * in PICH.
- */
-static inline u64 picl_value(unsigned int nmi_hz)
-{
- u32 delta = local_cpu_data().clock_tick / (nmi_hz << picl_shift);
-
- return ((u64)((0 - delta) & 0xffffffff)) << 32;
-}
-
extern u64 pcr_enable;
extern int pcr_arch_init(void);