[PATCH] ppc64: cleanup iseries runlight support
The iseries has a bar graph on the front panel that shows how busy it is. The operating system sets and clears a bit in the CTRL register to control it. Instead of going to the complexity of using a thread info bit, just set and clear it in the idle loop. Also create two helper functions, ppc64_runlatch_on and ppc64_runlatch_off. Finally don't use the short form of the SPR defines. Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
79f1248962
commit
6dc2f0c7df
7 changed files with 33 additions and 36 deletions
|
|
@ -164,6 +164,9 @@
|
|||
#define SPRN_USIA 0x3AB /* User Sampled Instruction Address Register */
|
||||
#define SPRN_XER 0x001 /* Fixed Point Exception Register */
|
||||
#define SPRN_VRSAVE 0x100 /* Vector save */
|
||||
#define SPRN_CTRLF 0x088
|
||||
#define SPRN_CTRLT 0x098
|
||||
#define CTRL_RUNLATCH 0x1
|
||||
|
||||
/* Performance monitor SPRs */
|
||||
#define SPRN_SIAR 780
|
||||
|
|
@ -279,12 +282,6 @@
|
|||
#define XGLUE(a,b) a##b
|
||||
#define GLUE(a,b) XGLUE(a,b)
|
||||
|
||||
/* iSeries CTRL register (for runlatch) */
|
||||
|
||||
#define CTRLT 0x098
|
||||
#define CTRLF 0x088
|
||||
#define RUNLATCH 0x0001
|
||||
|
||||
#ifdef __ASSEMBLY__
|
||||
|
||||
#define _GLOBAL(name) \
|
||||
|
|
@ -499,6 +496,24 @@ static inline void prefetchw(const void *x)
|
|||
|
||||
#define HAVE_ARCH_PICK_MMAP_LAYOUT
|
||||
|
||||
static inline void ppc64_runlatch_on(void)
|
||||
{
|
||||
unsigned long ctrl;
|
||||
|
||||
ctrl = mfspr(SPRN_CTRLF);
|
||||
ctrl |= CTRL_RUNLATCH;
|
||||
mtspr(SPRN_CTRLT, ctrl);
|
||||
}
|
||||
|
||||
static inline void ppc64_runlatch_off(void)
|
||||
{
|
||||
unsigned long ctrl;
|
||||
|
||||
ctrl = mfspr(SPRN_CTRLF);
|
||||
ctrl &= ~CTRL_RUNLATCH;
|
||||
mtspr(SPRN_CTRLT, ctrl);
|
||||
}
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue