Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ps3.h File Reference
#include <linux/init.h>
#include <linux/types.h>
#include <linux/device.h>
#include <asm/cell-pmu.h>

Go to the source code of this file.

Data Structures

union  ps3_firmware_version
 
struct  ps3_os_area_flash_ops
 
struct  ps3_dma_region
 
struct  ps3_dma_region_ops
 
struct  ps3_mmio_region
 
struct  ps3_mmio_region_ops
 
struct  ps3_system_bus_device
 
struct  ps3_system_bus_driver
 
struct  ps3_sys_manager_ops
 
struct  ps3_prealloc
 

Macros

#define PS3_MODULE_ALIAS_EHCI   "ps3:1:0"
 
#define PS3_MODULE_ALIAS_OHCI   "ps3:2:0"
 
#define PS3_MODULE_ALIAS_GELIC   "ps3:3:0"
 
#define PS3_MODULE_ALIAS_AV_SETTINGS   "ps3:4:0"
 
#define PS3_MODULE_ALIAS_SYSTEM_MANAGER   "ps3:5:0"
 
#define PS3_MODULE_ALIAS_STOR_DISK   "ps3:6:0"
 
#define PS3_MODULE_ALIAS_STOR_ROM   "ps3:7:0"
 
#define PS3_MODULE_ALIAS_STOR_FLASH   "ps3:8:0"
 
#define PS3_MODULE_ALIAS_SOUND   "ps3:9:0"
 
#define PS3_MODULE_ALIAS_GPU_FB   "ps3:10:1"
 
#define PS3_MODULE_ALIAS_GPU_RAMDISK   "ps3:10:2"
 
#define PS3_MODULE_ALIAS_LPM   "ps3:11:0"
 

Enumerations

enum  ps3_param_av_multi_out { PS3_PARAM_AV_MULTI_OUT_NTSC = 0, PS3_PARAM_AV_MULTI_OUT_PAL_RGB = 1, PS3_PARAM_AV_MULTI_OUT_PAL_YCBCR = 2, PS3_PARAM_AV_MULTI_OUT_SECAM = 3 }
 
enum  ps3_dma_page_size { PS3_DMA_4K = 12U, PS3_DMA_64K = 16U, PS3_DMA_1M = 20U, PS3_DMA_16M = 24U }
 
enum  ps3_dma_region_type { PS3_DMA_OTHER = 0, PS3_DMA_INTERNAL = 2 }
 
enum  ps3_mmio_page_size { PS3_MMIO_4K = 12U, PS3_MMIO_64K = 16U }
 
enum  ps3_cpu_binding { PS3_BINDING_CPU_ANY = -1, PS3_BINDING_CPU_0 = 0, PS3_BINDING_CPU_1 = 1 }
 
enum  lv1_result {
  LV1_SUCCESS = 0, LV1_RESOURCE_SHORTAGE = -2, LV1_NO_PRIVILEGE = -3, LV1_DENIED_BY_POLICY = -4,
  LV1_ACCESS_VIOLATION = -5, LV1_NO_ENTRY = -6, LV1_DUPLICATE_ENTRY = -7, LV1_TYPE_MISMATCH = -8,
  LV1_BUSY = -9, LV1_EMPTY = -10, LV1_WRONG_STATE = -11, LV1_NO_MATCH = -13,
  LV1_ALREADY_CONNECTED = -14, LV1_UNSUPPORTED_PARAMETER_VALUE = -15, LV1_CONDITION_NOT_SATISFIED = -16, LV1_ILLEGAL_PARAMETER_VALUE = -17,
  LV1_BAD_OPTION = -18, LV1_IMPLEMENTATION_LIMITATION = -19, LV1_NOT_IMPLEMENTED = -20, LV1_INVALID_CLASS_ID = -21,
  LV1_CONSTRAINT_NOT_SATISFIED = -22, LV1_ALIGNMENT_ERROR = -23, LV1_HARDWARE_ERROR = -24, LV1_INVALID_DATA_FORMAT = -25,
  LV1_INVALID_OPERATION = -26, LV1_INTERNAL_ERROR = -32768
}
 
enum  ps3_match_id {
  PS3_MATCH_ID_EHCI = 1, PS3_MATCH_ID_OHCI = 2, PS3_MATCH_ID_GELIC = 3, PS3_MATCH_ID_AV_SETTINGS = 4,
  PS3_MATCH_ID_SYSTEM_MANAGER = 5, PS3_MATCH_ID_STOR_DISK = 6, PS3_MATCH_ID_STOR_ROM = 7, PS3_MATCH_ID_STOR_FLASH = 8,
  PS3_MATCH_ID_SOUND = 9, PS3_MATCH_ID_GPU = 10, PS3_MATCH_ID_LPM = 11
}
 
enum  ps3_match_sub_id { PS3_MATCH_SUB_ID_GPU_FB = 1, PS3_MATCH_SUB_ID_GPU_RAMDISK = 2 }
 
enum  ps3_system_bus_device_type { PS3_DEVICE_TYPE_IOC0 = 1, PS3_DEVICE_TYPE_SB, PS3_DEVICE_TYPE_VUART, PS3_DEVICE_TYPE_LPM }
 
enum  ps3_lpm_rights { PS3_LPM_RIGHTS_USE_LPM = 0x001, PS3_LPM_RIGHTS_USE_TB = 0x100 }
 
enum  ps3_lpm_tb_type { PS3_LPM_TB_TYPE_NONE = 0, PS3_LPM_TB_TYPE_INTERNAL = 1 }
 

Functions

void ps3_get_firmware_version (union ps3_firmware_version *v)
 
int ps3_compare_firmware_version (u16 major, u16 minor, u16 rev)
 
enum ps3_param_av_multi_out ps3_os_area_get_av_multi_out (void)
 
u64 ps3_os_area_get_rtc_diff (void)
 
void ps3_os_area_set_rtc_diff (u64 rtc_diff)
 
void ps3_os_area_flash_register (const struct ps3_os_area_flash_ops *ops)
 
int ps3_dma_region_init (struct ps3_system_bus_device *dev, struct ps3_dma_region *r, enum ps3_dma_page_size page_size, enum ps3_dma_region_type region_type, void *addr, unsigned long len)
 
int ps3_dma_region_create (struct ps3_dma_region *r)
 
int ps3_dma_region_free (struct ps3_dma_region *r)
 
int ps3_dma_map (struct ps3_dma_region *r, unsigned long virt_addr, unsigned long len, dma_addr_t *bus_addr, u64 iopte_pp)
 
int ps3_dma_unmap (struct ps3_dma_region *r, dma_addr_t bus_addr, unsigned long len)
 
int ps3_mmio_region_init (struct ps3_system_bus_device *dev, struct ps3_mmio_region *r, unsigned long bus_addr, unsigned long len, enum ps3_mmio_page_size page_size)
 
int ps3_mmio_region_create (struct ps3_mmio_region *r)
 
int ps3_free_mmio_region (struct ps3_mmio_region *r)
 
unsigned long ps3_mm_phys_to_lpar (unsigned long phys_addr)
 
int ps3_irq_plug_setup (enum ps3_cpu_binding cpu, unsigned long outlet, unsigned int *virq)
 
int ps3_irq_plug_destroy (unsigned int virq)
 
int ps3_event_receive_port_setup (enum ps3_cpu_binding cpu, unsigned int *virq)
 
int ps3_event_receive_port_destroy (unsigned int virq)
 
int ps3_send_event_locally (unsigned int virq)
 
int ps3_io_irq_setup (enum ps3_cpu_binding cpu, unsigned int interrupt_id, unsigned int *virq)
 
int ps3_io_irq_destroy (unsigned int virq)
 
int ps3_vuart_irq_setup (enum ps3_cpu_binding cpu, void *virt_addr_bmp, unsigned int *virq)
 
int ps3_vuart_irq_destroy (unsigned int virq)
 
int ps3_spe_irq_setup (enum ps3_cpu_binding cpu, unsigned long spe_id, unsigned int class, unsigned int *virq)
 
int ps3_spe_irq_destroy (unsigned int virq)
 
int ps3_sb_event_receive_port_setup (struct ps3_system_bus_device *dev, enum ps3_cpu_binding cpu, unsigned int *virq)
 
int ps3_sb_event_receive_port_destroy (struct ps3_system_bus_device *dev, unsigned int virq)
 
int ps3_open_hv_device (struct ps3_system_bus_device *dev)
 
int ps3_close_hv_device (struct ps3_system_bus_device *dev)
 
int ps3_system_bus_device_register (struct ps3_system_bus_device *dev)
 
int ps3_system_bus_driver_register (struct ps3_system_bus_driver *drv)
 
void ps3_system_bus_driver_unregister (struct ps3_system_bus_driver *drv)
 
void ps3_sys_manager_register_ops (const struct ps3_sys_manager_ops *ops)
 
void __noreturn ps3_sys_manager_power_off (void)
 
void __noreturn ps3_sys_manager_restart (void)
 
void __noreturn ps3_sys_manager_halt (void)
 
int ps3_sys_manager_get_wol (void)
 
void ps3_sys_manager_set_wol (int state)
 
int ps3_lpm_open (enum ps3_lpm_tb_type tb_type, void *tb_cache, u64 tb_cache_size)
 
int ps3_lpm_close (void)
 
int ps3_lpm_copy_tb (unsigned long offset, void *buf, unsigned long count, unsigned long *bytes_copied)
 
int ps3_lpm_copy_tb_to_user (unsigned long offset, void __user *buf, unsigned long count, unsigned long *bytes_copied)
 
void ps3_set_bookmark (u64 bookmark)
 
void ps3_set_pm_bookmark (u64 tag, u64 incident, u64 th_id)
 
int ps3_set_signal (u64 rtas_signal_group, u8 signal_bit, u16 sub_unit, u8 bus_word)
 
u32 ps3_read_phys_ctr (u32 cpu, u32 phys_ctr)
 
void ps3_write_phys_ctr (u32 cpu, u32 phys_ctr, u32 val)
 
u32 ps3_read_ctr (u32 cpu, u32 ctr)
 
void ps3_write_ctr (u32 cpu, u32 ctr, u32 val)
 
u32 ps3_read_pm07_control (u32 cpu, u32 ctr)
 
void ps3_write_pm07_control (u32 cpu, u32 ctr, u32 val)
 
u32 ps3_read_pm (u32 cpu, enum pm_reg_name reg)
 
void ps3_write_pm (u32 cpu, enum pm_reg_name reg, u32 val)
 
u32 ps3_get_ctr_size (u32 cpu, u32 phys_ctr)
 
void ps3_set_ctr_size (u32 cpu, u32 phys_ctr, u32 ctr_size)
 
void ps3_enable_pm (u32 cpu)
 
void ps3_disable_pm (u32 cpu)
 
void ps3_enable_pm_interrupts (u32 cpu, u32 thread, u32 mask)
 
void ps3_disable_pm_interrupts (u32 cpu)
 
u32 ps3_get_and_clear_pm_interrupts (u32 cpu)
 
void ps3_sync_irq (int node)
 
u32 ps3_get_hw_thread_id (int cpu)
 
u64 ps3_get_spe_id (void *arg)
 

Variables

struct bus_type ps3_system_bus_type
 
struct ps3_prealloc ps3fb_videomemory
 
struct ps3_prealloc ps3flash_bounce_buffer
 

Macro Definition Documentation

#define PS3_MODULE_ALIAS_AV_SETTINGS   "ps3:4:0"

Definition at line 339 of file ps3.h.

#define PS3_MODULE_ALIAS_EHCI   "ps3:1:0"

Definition at line 336 of file ps3.h.

#define PS3_MODULE_ALIAS_GELIC   "ps3:3:0"

Definition at line 338 of file ps3.h.

#define PS3_MODULE_ALIAS_GPU_FB   "ps3:10:1"

Definition at line 345 of file ps3.h.

#define PS3_MODULE_ALIAS_GPU_RAMDISK   "ps3:10:2"

Definition at line 346 of file ps3.h.

#define PS3_MODULE_ALIAS_LPM   "ps3:11:0"

Definition at line 347 of file ps3.h.

#define PS3_MODULE_ALIAS_OHCI   "ps3:2:0"

Definition at line 337 of file ps3.h.

#define PS3_MODULE_ALIAS_SOUND   "ps3:9:0"

Definition at line 344 of file ps3.h.

#define PS3_MODULE_ALIAS_STOR_DISK   "ps3:6:0"

Definition at line 341 of file ps3.h.

#define PS3_MODULE_ALIAS_STOR_FLASH   "ps3:8:0"

Definition at line 343 of file ps3.h.

#define PS3_MODULE_ALIAS_STOR_ROM   "ps3:7:0"

Definition at line 342 of file ps3.h.

#define PS3_MODULE_ALIAS_SYSTEM_MANAGER   "ps3:5:0"

Definition at line 340 of file ps3.h.

Enumeration Type Documentation

enum lv1_result
Enumerator:
LV1_SUCCESS 
LV1_RESOURCE_SHORTAGE 
LV1_NO_PRIVILEGE 
LV1_DENIED_BY_POLICY 
LV1_ACCESS_VIOLATION 
LV1_NO_ENTRY 
LV1_DUPLICATE_ENTRY 
LV1_TYPE_MISMATCH 
LV1_BUSY 
LV1_EMPTY 
LV1_WRONG_STATE 
LV1_NO_MATCH 
LV1_ALREADY_CONNECTED 
LV1_UNSUPPORTED_PARAMETER_VALUE 
LV1_CONDITION_NOT_SATISFIED 
LV1_ILLEGAL_PARAMETER_VALUE 
LV1_BAD_OPTION 
LV1_IMPLEMENTATION_LIMITATION 
LV1_NOT_IMPLEMENTED 
LV1_INVALID_CLASS_ID 
LV1_CONSTRAINT_NOT_SATISFIED 
LV1_ALIGNMENT_ERROR 
LV1_HARDWARE_ERROR 
LV1_INVALID_DATA_FORMAT 
LV1_INVALID_OPERATION 
LV1_INTERNAL_ERROR 

Definition at line 215 of file ps3.h.

Enumerator:
PS3_BINDING_CPU_ANY 
PS3_BINDING_CPU_0 
PS3_BINDING_CPU_1 

Definition at line 185 of file ps3.h.

Enumerator:
PS3_DMA_4K 
PS3_DMA_64K 
PS3_DMA_1M 
PS3_DMA_16M 

Definition at line 65 of file ps3.h.

Enumerator:
PS3_DMA_OTHER 
PS3_DMA_INTERNAL 

Definition at line 72 of file ps3.h.

enum ps3_lpm_rights - Rigths granted by the system policy module.

: The right to use the lpm. : The right to use the internal trace buffer.

Enumerator:
PS3_LPM_RIGHTS_USE_LPM 
PS3_LPM_RIGHTS_USE_TB 

Definition at line 477 of file ps3.h.

enum ps3_lpm_tb_type - Type of trace buffer lv1 should use.

: Do not use a trace buffer. : Use the lv1 internal trace buffer. Must have rights .

Enumerator:
PS3_LPM_TB_TYPE_NONE 
PS3_LPM_TB_TYPE_INTERNAL 

Definition at line 490 of file ps3.h.

Enumerator:
PS3_MATCH_ID_EHCI 
PS3_MATCH_ID_OHCI 
PS3_MATCH_ID_GELIC 
PS3_MATCH_ID_AV_SETTINGS 
PS3_MATCH_ID_SYSTEM_MANAGER 
PS3_MATCH_ID_STOR_DISK 
PS3_MATCH_ID_STOR_ROM 
PS3_MATCH_ID_STOR_FLASH 
PS3_MATCH_ID_SOUND 
PS3_MATCH_ID_GPU 
PS3_MATCH_ID_LPM 

Definition at line 317 of file ps3.h.

Enumerator:
PS3_MATCH_SUB_ID_GPU_FB 
PS3_MATCH_SUB_ID_GPU_RAMDISK 

Definition at line 331 of file ps3.h.

Enumerator:
PS3_MMIO_4K 
PS3_MMIO_64K 

Definition at line 144 of file ps3.h.

Enumerator:
PS3_PARAM_AV_MULTI_OUT_NTSC 
PS3_PARAM_AV_MULTI_OUT_PAL_RGB 
PS3_PARAM_AV_MULTI_OUT_PAL_YCBCR 
PS3_PARAM_AV_MULTI_OUT_SECAM 

Definition at line 44 of file ps3.h.

Enumerator:
PS3_DEVICE_TYPE_IOC0 
PS3_DEVICE_TYPE_SB 
PS3_DEVICE_TYPE_VUART 
PS3_DEVICE_TYPE_LPM 

Definition at line 349 of file ps3.h.

Function Documentation

int ps3_close_hv_device ( struct ps3_system_bus_device dev)

Definition at line 203 of file system-bus.c.

int ps3_compare_firmware_version ( u16  major,
u16  minor,
u16  rev 
)

Definition at line 58 of file setup.c.

void ps3_disable_pm ( u32  cpu)

ps3_disable_pm - Disable the entire performance monitoring unit.

Definition at line 894 of file ps3-lpm.c.

void ps3_disable_pm_interrupts ( u32  cpu)

ps3_enable_pm_interrupts -

Disabling interrupts for the entire performance monitoring unit.

Definition at line 1068 of file ps3-lpm.c.

int ps3_dma_map ( struct ps3_dma_region r,
unsigned long  virt_addr,
unsigned long  len,
dma_addr_t bus_addr,
u64  iopte_pp 
)

Definition at line 1170 of file mm.c.

int ps3_dma_region_create ( struct ps3_dma_region r)

Definition at line 1152 of file mm.c.

int ps3_dma_region_free ( struct ps3_dma_region r)

Definition at line 1161 of file mm.c.

int ps3_dma_region_init ( struct ps3_system_bus_device dev,
struct ps3_dma_region r,
enum ps3_dma_page_size  page_size,
enum ps3_dma_region_type  region_type,
void addr,
unsigned long  len 
)

Definition at line 1119 of file mm.c.

int ps3_dma_unmap ( struct ps3_dma_region r,
dma_addr_t  bus_addr,
unsigned long  len 
)

Definition at line 1177 of file mm.c.

void ps3_enable_pm ( u32  cpu)

ps3_enable_pm - Enable the entire performance monitoring unit.

When we enable the LPM, all pending writes to counters get committed.

Definition at line 850 of file ps3-lpm.c.

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

ps3_enable_pm_interrupts -

Enabling interrupts for the entire performance monitoring unit. Enables the interrupt bits in the pm_status register.

Definition at line 1055 of file ps3-lpm.c.

int ps3_event_receive_port_destroy ( unsigned int  virq)

ps3_event_receive_port_destroy - Destroy an event receive port. : The assigned Linux virq.

Since ps3_event_receive_port_destroy destroys the receive port outlet, SB devices need to call disconnect_interrupt_event_receive_port() before this.

Definition at line 362 of file interrupt.c.

int ps3_event_receive_port_setup ( enum ps3_cpu_binding  cpu,
unsigned int virq 
)

ps3_event_receive_port_setup - Setup an event receive port. : enum ps3_cpu_binding indicating the cpu the interrupt should be serviced on. : The assigned Linux virq.

The virq can be used with lv1_connect_interrupt_event_receive_port() to arrange to receive interrupts from system-bus devices, or with ps3_send_event_locally() to signal events.

Definition at line 332 of file interrupt.c.

int ps3_free_mmio_region ( struct ps3_mmio_region r)

Definition at line 306 of file system-bus.c.

u32 ps3_get_and_clear_pm_interrupts ( u32  cpu)

ps3_get_and_clear_pm_interrupts -

Clearing interrupts for the entire performance monitoring unit. Reading pm_status clears the interrupt bits.

Definition at line 1042 of file ps3-lpm.c.

u32 ps3_get_ctr_size ( u32  cpu,
u32  phys_ctr 
)

ps3_get_ctr_size - Get the size of a physical counter.

Returns either 16 or 32.

Definition at line 521 of file ps3-lpm.c.

void ps3_get_firmware_version ( union ps3_firmware_version v)

Definition at line 52 of file setup.c.

u32 ps3_get_hw_thread_id ( int  cpu)

Definition at line 838 of file ps3-lpm.c.

u64 ps3_get_spe_id ( void arg)
inline

Definition at line 146 of file spu.c.

int ps3_io_irq_destroy ( unsigned int  virq)

Definition at line 498 of file interrupt.c.

int ps3_io_irq_setup ( enum ps3_cpu_binding  cpu,
unsigned int  interrupt_id,
unsigned int virq 
)

ps3_io_irq_setup - Setup a system bus io irq. : enum ps3_cpu_binding indicating the cpu the interrupt should be serviced on. : The device interrupt id read from the system repository. : The assigned Linux virq.

An io irq represents a non-virtualized device interrupt. interrupt_id coresponds to the interrupt number of the interrupt controller.

Definition at line 477 of file interrupt.c.

int ps3_irq_plug_destroy ( unsigned int  virq)

ps3_irq_plug_destroy - Generic outlet and virq related teardown. : The assigned Linux virq.

Disconnects the irq plug and tears down virq. Do not call for system bus event interrupts setup with ps3_sb_event_receive_port_setup().

Definition at line 299 of file interrupt.c.

int ps3_irq_plug_setup ( enum ps3_cpu_binding  cpu,
unsigned long  outlet,
unsigned int virq 
)

ps3_irq_plug_setup - Generic outlet and virq related setup. : enum ps3_cpu_binding indicating the cpu the interrupt should be serviced on. : The HV outlet from the various create outlet routines. : The assigned Linux virq.

Sets up virq and connects the irq plug.

Definition at line 254 of file interrupt.c.

int ps3_lpm_close ( void  )

ps3_lpm_close - Close the lpm device.

Definition at line 1173 of file ps3-lpm.c.

int ps3_lpm_copy_tb ( unsigned long  offset,
void buf,
unsigned long  count,
unsigned long bytes_copied 
)

ps3_lpm_copy_tb - Copy data from the trace buffer to a kernel buffer. : Offset in bytes from the start of the trace buffer. : Copy destination. : Maximum count of bytes to copy. : Pointer to a variable that will receive the number of bytes copied to .

On error will contain any successfully copied trace buffer data and bytes_copied will be set to the number of bytes successfully copied.

Definition at line 929 of file ps3-lpm.c.

int ps3_lpm_copy_tb_to_user ( unsigned long  offset,
void __user buf,
unsigned long  count,
unsigned long bytes_copied 
)

ps3_lpm_copy_tb_to_user - Copy data from the trace buffer to a user buffer. : Offset in bytes from the start of the trace buffer. : A __user copy destination. : Maximum count of bytes to copy. : Pointer to a variable that will receive the number of bytes copied to .

On error will contain any successfully copied trace buffer data and bytes_copied will be set to the number of bytes successfully copied.

Definition at line 984 of file ps3-lpm.c.

int ps3_lpm_open ( enum ps3_lpm_tb_type  tb_type,
void tb_cache,
u64  tb_cache_size 
)

ps3_lpm_open - Open the logical performance monitor device. : Specifies the type of trace buffer lv1 should use for this lpm instance, specified by one of enum ps3_lpm_tb_type. : Optional user supplied buffer to use as the trace buffer cache. If NULL, the driver will allocate and manage an internal buffer. Unused when when is PS3_LPM_TB_TYPE_NONE. : The size in bytes of the user supplied buffer. Unused when is NULL or is PS3_LPM_TB_TYPE_NONE.

Definition at line 1086 of file ps3-lpm.c.

unsigned long ps3_mm_phys_to_lpar ( unsigned long  phys_addr)

ps3_mm_phys_to_lpar - translate a linux physical address to lpar address : linux physical address

Definition at line 137 of file mm.c.

int ps3_mmio_region_create ( struct ps3_mmio_region r)

Definition at line 277 of file system-bus.c.

int ps3_mmio_region_init ( struct ps3_system_bus_device dev,
struct ps3_mmio_region r,
unsigned long  bus_addr,
unsigned long  len,
enum ps3_mmio_page_size  page_size 
)

struct ps3_mmio_region_init - Helper to initialize structure variables

Helper to properly initialize variables prior to calling ps3_system_bus_device_register.

Definition at line 323 of file system-bus.c.

int ps3_open_hv_device ( struct ps3_system_bus_device dev)

Definition at line 165 of file system-bus.c.

void ps3_os_area_flash_register ( const struct ps3_os_area_flash_ops ops)

Definition at line 236 of file os-area.c.

enum ps3_param_av_multi_out ps3_os_area_get_av_multi_out ( void  )

ps3_os_area_get_av_multi_out - Returns the default video mode.

Definition at line 847 of file os-area.c.

u64 ps3_os_area_get_rtc_diff ( void  )

ps3_os_area_get_rtc_diff - Returns the rtc diff value.

Definition at line 821 of file os-area.c.

void ps3_os_area_set_rtc_diff ( u64  rtc_diff)

ps3_os_area_set_rtc_diff - Set the rtc diff value.

An asynchronous write is needed to support writing updates from the timer interrupt context.

Definition at line 834 of file os-area.c.

u32 ps3_read_ctr ( u32  cpu,
u32  ctr 
)

ps3_read_ctr - Read counter.

Read 16 or 32 bits depending on the current size of the counter. Counters 4, 5, 6 & 7 are always 16 bit.

Definition at line 315 of file ps3-lpm.c.

u32 ps3_read_phys_ctr ( u32  cpu,
u32  phys_ctr 
)

ps3_read_phys_ctr - Read physical counter registers.

Each physical counter can act as one 32 bit counter or as two 16 bit counters.

Definition at line 210 of file ps3-lpm.c.

u32 ps3_read_pm ( u32  cpu,
enum pm_reg_name  reg 
)

ps3_read_pm - Read Other LPM control registers.

Definition at line 399 of file ps3-lpm.c.

u32 ps3_read_pm07_control ( u32  cpu,
u32  ctr 
)

ps3_read_pm07_control - Read counter control registers.

Each logical counter has a corresponding control register.

Definition at line 362 of file ps3-lpm.c.

int ps3_sb_event_receive_port_destroy ( struct ps3_system_bus_device dev,
unsigned int  virq 
)

Definition at line 432 of file interrupt.c.

int ps3_sb_event_receive_port_setup ( struct ps3_system_bus_device dev,
enum ps3_cpu_binding  cpu,
unsigned int virq 
)

ps3_sb_event_receive_port_setup - Setup a system bus event receive port. : enum ps3_cpu_binding indicating the cpu the interrupt should be serviced on. : The system bus device instance. : The assigned Linux virq.

An event irq represents a virtual device interrupt. The interrupt_id coresponds to the software interrupt number.

Definition at line 401 of file interrupt.c.

int ps3_send_event_locally ( unsigned int  virq)

Definition at line 385 of file interrupt.c.

void ps3_set_bookmark ( u64  bookmark)

Definition at line 176 of file ps3-lpm.c.

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

ps3_set_ctr_size - Set the size of a physical counter to 16 or 32 bits.

Definition at line 540 of file ps3-lpm.c.

void ps3_set_pm_bookmark ( u64  tag,
u64  incident,
u64  th_id 
)

Definition at line 191 of file ps3-lpm.c.

int ps3_set_signal ( u64  rtas_signal_group,
u8  signal_bit,
u16  sub_unit,
u8  bus_word 
)

Definition at line 776 of file ps3-lpm.c.

int ps3_spe_irq_destroy ( unsigned int  virq)

Definition at line 612 of file interrupt.c.

int ps3_spe_irq_setup ( enum ps3_cpu_binding  cpu,
unsigned long  spe_id,
unsigned int  class,
unsigned int virq 
)

Definition at line 590 of file interrupt.c.

void ps3_sync_irq ( int  node)
int ps3_sys_manager_get_wol ( void  )

ps3_sys_manager_get_wol - Get wake-on-lan setting.

Definition at line 669 of file ps3-sys-manager.c.

void __noreturn ps3_sys_manager_halt ( void  )

Definition at line 66 of file sys-manager-core.c.

void __noreturn ps3_sys_manager_power_off ( void  )

Definition at line 50 of file sys-manager-core.c.

void ps3_sys_manager_register_ops ( const struct ps3_sys_manager_ops ops)

ps3_register_sys_manager_ops - Bind ps3_sys_manager_ops to a module. : struct ps3_sys_manager_ops.

To be called from ps3_sys_manager_probe() and ps3_sys_manager_remove() to register call back ops for power control. Copies data to the static variable ps3_sys_manager_ops.

Definition at line 42 of file sys-manager-core.c.

void __noreturn ps3_sys_manager_restart ( void  )

Definition at line 58 of file sys-manager-core.c.

void ps3_sys_manager_set_wol ( int  state)

ps3_sys_manager_set_wol - Set wake-on-lan setting.

Definition at line 681 of file ps3-sys-manager.c.

int ps3_system_bus_device_register ( struct ps3_system_bus_device dev)

ps3_system_bus_device_register - add a device to the system bus

ps3_system_bus_device_register() expects the dev object to be allocated dynamically by the caller. The system bus takes ownership of the dev object and frees the object in ps3_system_bus_release_device().

Definition at line 744 of file system-bus.c.

int ps3_system_bus_driver_register ( struct ps3_system_bus_driver drv)

Definition at line 788 of file system-bus.c.

void ps3_system_bus_driver_unregister ( struct ps3_system_bus_driver drv)

Definition at line 806 of file system-bus.c.

int ps3_vuart_irq_destroy ( unsigned int  virq)

Definition at line 560 of file interrupt.c.

int ps3_vuart_irq_setup ( enum ps3_cpu_binding  cpu,
void virt_addr_bmp,
unsigned int virq 
)

ps3_vuart_irq_setup - Setup the system virtual uart virq. : enum ps3_cpu_binding indicating the cpu the interrupt should be serviced on. : The caller supplied virtual uart interrupt bitmap. : The assigned Linux virq.

The system supports only a single virtual uart, so multiple calls without freeing the interrupt will return a wrong state error.

Definition at line 534 of file interrupt.c.

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

ps3_write_ctr - Write counter.

Write 16 or 32 bits depending on the current size of the counter. Counters 4, 5, 6 & 7 are always 16 bit.

Definition at line 336 of file ps3-lpm.c.

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

ps3_write_phys_ctr - Write physical counter registers.

Each physical counter can act as one 32 bit counter or as two 16 bit counters.

Definition at line 254 of file ps3-lpm.c.

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

ps3_write_pm - Write Other LPM control registers.

Definition at line 451 of file ps3-lpm.c.

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

ps3_write_pm07_control - Write counter control registers.

Each logical counter has a corresponding control register.

Definition at line 374 of file ps3-lpm.c.

Variable Documentation

struct bus_type ps3_system_bus_type

Definition at line 480 of file system-bus.c.

struct ps3_prealloc ps3fb_videomemory
struct ps3_prealloc ps3flash_bounce_buffer