Linux Kernel
3.7.1
|
#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" |
Variables | |
struct bus_type | ps3_system_bus_type |
struct ps3_prealloc | ps3fb_videomemory |
struct ps3_prealloc | ps3flash_bounce_buffer |
enum lv1_result |
enum ps3_cpu_binding |
enum ps3_dma_page_size |
enum ps3_dma_region_type |
enum ps3_lpm_rights |
enum ps3_lpm_tb_type |
enum ps3_match_id |
enum ps3_match_sub_id |
enum ps3_mmio_page_size |
int ps3_close_hv_device | ( | struct ps3_system_bus_device * | dev | ) |
Definition at line 203 of file system-bus.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 | ||
) |
int ps3_dma_region_create | ( | struct ps3_dma_region * | r | ) |
int ps3_dma_region_free | ( | struct ps3_dma_region * | r | ) |
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_unmap | ( | struct ps3_dma_region * | r, |
dma_addr_t | bus_addr, | ||
unsigned long | len | ||
) |
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.
void ps3_get_firmware_version | ( | union ps3_firmware_version * | v | ) |
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.
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_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.
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.
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.
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 | ) |
enum ps3_param_av_multi_out ps3_os_area_get_av_multi_out | ( | void | ) |
u32 ps3_read_pm | ( | u32 | cpu, |
enum pm_reg_name | reg | ||
) |
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.
Definition at line 385 of file interrupt.c.
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.
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.
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.
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_pm | ( | u32 | cpu, |
enum pm_reg_name | reg, | ||
u32 | val | ||
) |
Definition at line 480 of file system-bus.c.
struct ps3_prealloc ps3fb_videomemory |
struct ps3_prealloc ps3flash_bounce_buffer |