Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
pmu.c File Reference
#include <linux/interrupt.h>
#include <linux/types.h>
#include <linux/export.h>
#include <asm/io.h>
#include <asm/irq_regs.h>
#include <asm/machdep.h>
#include <asm/pmc.h>
#include <asm/reg.h>
#include <asm/spu.h>
#include <asm/cell-regs.h>
#include "interrupt.h"

Go to the source code of this file.

Macros

#define WRITE_WO_MMIO(reg, x)
 
#define READ_SHADOW_REG(val, reg)
 
#define READ_MMIO_UPPER32(val, reg)
 

Functions

u32 cbe_read_phys_ctr (u32 cpu, u32 phys_ctr)
 
 EXPORT_SYMBOL_GPL (cbe_read_phys_ctr)
 
void cbe_write_phys_ctr (u32 cpu, u32 phys_ctr, u32 val)
 
 EXPORT_SYMBOL_GPL (cbe_write_phys_ctr)
 
u32 cbe_read_ctr (u32 cpu, u32 ctr)
 
 EXPORT_SYMBOL_GPL (cbe_read_ctr)
 
void cbe_write_ctr (u32 cpu, u32 ctr, u32 val)
 
 EXPORT_SYMBOL_GPL (cbe_write_ctr)
 
u32 cbe_read_pm07_control (u32 cpu, u32 ctr)
 
 EXPORT_SYMBOL_GPL (cbe_read_pm07_control)
 
void cbe_write_pm07_control (u32 cpu, u32 ctr, u32 val)
 
 EXPORT_SYMBOL_GPL (cbe_write_pm07_control)
 
u32 cbe_read_pm (u32 cpu, enum pm_reg_name reg)
 
 EXPORT_SYMBOL_GPL (cbe_read_pm)
 
void cbe_write_pm (u32 cpu, enum pm_reg_name reg, u32 val)
 
 EXPORT_SYMBOL_GPL (cbe_write_pm)
 
u32 cbe_get_ctr_size (u32 cpu, u32 phys_ctr)
 
 EXPORT_SYMBOL_GPL (cbe_get_ctr_size)
 
void cbe_set_ctr_size (u32 cpu, u32 phys_ctr, u32 ctr_size)
 
 EXPORT_SYMBOL_GPL (cbe_set_ctr_size)
 
void cbe_enable_pm (u32 cpu)
 
 EXPORT_SYMBOL_GPL (cbe_enable_pm)
 
void cbe_disable_pm (u32 cpu)
 
 EXPORT_SYMBOL_GPL (cbe_disable_pm)
 
void cbe_read_trace_buffer (u32 cpu, u64 *buf)
 
 EXPORT_SYMBOL_GPL (cbe_read_trace_buffer)
 
u32 cbe_get_and_clear_pm_interrupts (u32 cpu)
 
 EXPORT_SYMBOL_GPL (cbe_get_and_clear_pm_interrupts)
 
void cbe_enable_pm_interrupts (u32 cpu, u32 thread, u32 mask)
 
 EXPORT_SYMBOL_GPL (cbe_enable_pm_interrupts)
 
void cbe_disable_pm_interrupts (u32 cpu)
 
 EXPORT_SYMBOL_GPL (cbe_disable_pm_interrupts)
 
 machine_arch_initcall (cell, cbe_init_pm_irq)
 
void cbe_sync_irq (int node)
 
 EXPORT_SYMBOL_GPL (cbe_sync_irq)
 

Macro Definition Documentation

#define READ_MMIO_UPPER32 (   val,
  reg 
)
Value:
do { \
pmd_regs = cbe_get_cpu_pmd_regs(cpu); \
(val) = (u32)(in_be64(&pmd_regs->reg) >> 32); \
} while (0)

Definition at line 62 of file pmu.c.

#define READ_SHADOW_REG (   val,
  reg 
)
Value:
do { \
(val) = shadow_regs->reg; \
} while (0)

Definition at line 55 of file pmu.c.

#define WRITE_WO_MMIO (   reg,
  x 
)
Value:
do { \
u32 _x = (x); \
pmd_regs = cbe_get_cpu_pmd_regs(cpu); \
out_be64(&(pmd_regs->reg), (((u64)_x) << 32)); \
shadow_regs->reg = _x; \
} while (0)

Definition at line 44 of file pmu.c.

Function Documentation

void cbe_disable_pm ( u32  cpu)

Definition at line 322 of file pmu.c.

void cbe_disable_pm_interrupts ( u32  cpu)

Definition at line 367 of file pmu.c.

void cbe_enable_pm ( u32  cpu)

Definition at line 309 of file pmu.c.

void cbe_enable_pm_interrupts ( u32  cpu,
u32  thread,
u32  mask 
)

Definition at line 356 of file pmu.c.

u32 cbe_get_and_clear_pm_interrupts ( u32  cpu)

Definition at line 349 of file pmu.c.

u32 cbe_get_ctr_size ( u32  cpu,
u32  phys_ctr 
)

Definition at line 271 of file pmu.c.

u32 cbe_read_ctr ( u32  cpu,
u32  ctr 
)

Definition at line 126 of file pmu.c.

u32 cbe_read_phys_ctr ( u32  cpu,
u32  phys_ctr 
)

Definition at line 74 of file pmu.c.

u32 cbe_read_pm ( u32  cpu,
enum pm_reg_name  reg 
)

Definition at line 187 of file pmu.c.

u32 cbe_read_pm07_control ( u32  cpu,
u32  ctr 
)

Definition at line 165 of file pmu.c.

void cbe_read_trace_buffer ( u32  cpu,
u64 buf 
)

Definition at line 336 of file pmu.c.

void cbe_set_ctr_size ( u32  cpu,
u32  phys_ctr,
u32  ctr_size 
)

Definition at line 284 of file pmu.c.

void cbe_sync_irq ( int  node)

Definition at line 407 of file pmu.c.

void cbe_write_ctr ( u32  cpu,
u32  ctr,
u32  val 
)

Definition at line 140 of file pmu.c.

void cbe_write_phys_ctr ( u32  cpu,
u32  phys_ctr,
u32  val 
)

Definition at line 93 of file pmu.c.

void cbe_write_pm ( u32  cpu,
enum pm_reg_name  reg,
u32  val 
)

Definition at line 229 of file pmu.c.

void cbe_write_pm07_control ( u32  cpu,
u32  ctr,
u32  val 
)

Definition at line 176 of file pmu.c.

EXPORT_SYMBOL_GPL ( cbe_read_phys_ctr  )
EXPORT_SYMBOL_GPL ( cbe_write_phys_ctr  )
EXPORT_SYMBOL_GPL ( cbe_read_ctr  )
EXPORT_SYMBOL_GPL ( cbe_write_ctr  )
EXPORT_SYMBOL_GPL ( cbe_read_pm07_control  )
EXPORT_SYMBOL_GPL ( cbe_write_pm07_control  )
EXPORT_SYMBOL_GPL ( cbe_read_pm  )
EXPORT_SYMBOL_GPL ( cbe_write_pm  )
EXPORT_SYMBOL_GPL ( cbe_get_ctr_size  )
EXPORT_SYMBOL_GPL ( cbe_set_ctr_size  )
EXPORT_SYMBOL_GPL ( cbe_enable_pm  )
EXPORT_SYMBOL_GPL ( cbe_disable_pm  )
EXPORT_SYMBOL_GPL ( cbe_read_trace_buffer  )
EXPORT_SYMBOL_GPL ( cbe_get_and_clear_pm_interrupts  )
EXPORT_SYMBOL_GPL ( cbe_enable_pm_interrupts  )
EXPORT_SYMBOL_GPL ( cbe_disable_pm_interrupts  )
EXPORT_SYMBOL_GPL ( cbe_sync_irq  )
machine_arch_initcall ( cell  ,
cbe_init_pm_irq   
)