#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/workqueue.h>
#include <linux/bitops.h>
#include <asm/ps3.h>
#include <asm/firmware.h>
#include <asm/lv1call.h>
#include "vuart.h"
Go to the source code of this file.
|
enum | { PORT_COUNT = 3
} |
|
enum | vuart_param {
PARAM_TX_TRIGGER = 0,
PARAM_RX_TRIGGER = 1,
PARAM_INTERRUPT_MASK = 2,
PARAM_RX_BUF_SIZE = 3,
PARAM_RX_BYTES = 4,
PARAM_TX_BUF_SIZE = 5,
PARAM_TX_BYTES = 6,
PARAM_INTERRUPT_STATUS = 7
} |
|
enum | vuart_interrupt_bit { INTERRUPT_BIT_TX = 0,
INTERRUPT_BIT_RX = 1,
INTERRUPT_BIT_DISCONNECT = 2
} |
|
enum | vuart_interrupt_mask { INTERRUPT_MASK_TX = 1,
INTERRUPT_MASK_RX = 2,
INTERRUPT_MASK_DISCONNECT = 4
} |
|
#define dump_port_params |
( |
|
_b | ) |
_dump_port_params(_b, __func__, __LINE__) |
#define dump_ports_bmp |
( |
|
_b | ) |
_dump_ports_bmp(_b, __func__, __LINE__) |
vuart - An inter-partition data link service. port 0: PS3 AV Settings. port 2: PS3 System Manager.
The vuart provides a bi-directional byte stream data link between logical partitions. Its primary role is as a communications link between the guest OS and the system policy module. The current HV does not support any connections other than those listed.
- Enumerator:
-
Definition at line 49 of file ps3-vuart.c.
- Enumerator:
INTERRUPT_BIT_TX |
|
INTERRUPT_BIT_RX |
|
INTERRUPT_BIT_DISCONNECT |
|
Definition at line 62 of file ps3-vuart.c.
- Enumerator:
INTERRUPT_MASK_TX |
|
INTERRUPT_MASK_RX |
|
INTERRUPT_MASK_DISCONNECT |
|
Definition at line 68 of file ps3-vuart.c.
- Enumerator:
PARAM_TX_TRIGGER |
|
PARAM_RX_TRIGGER |
|
PARAM_INTERRUPT_MASK |
|
PARAM_RX_BUF_SIZE |
|
PARAM_RX_BYTES |
|
PARAM_TX_BUF_SIZE |
|
PARAM_TX_BYTES |
|
PARAM_INTERRUPT_STATUS |
|
Definition at line 51 of file ps3-vuart.c.
core_initcall |
( |
ps3_vuart_bus_init |
| ) |
|
MODULE_AUTHOR |
( |
"Sony Corporation" |
| ) |
|
MODULE_DESCRIPTION |
( |
"PS3 vuart" |
| ) |
|
module_exit |
( |
ps3_vuart_bus_exit |
| ) |
|
MODULE_LICENSE |
( |
"GPL v2" |
| ) |
|
ps3_vuart_clear_rx_bytes - Discard bytes received. : The struct ps3_system_bus_device instance. : Max byte count to discard, zero = all pending.
Used to clear pending rx interrupt source. Will not block.
Definition at line 431 of file ps3-vuart.c.
ps3_vuart_port_driver_register - Add a vuart port device driver.
Definition at line 1244 of file ps3-vuart.c.
ps3_vuart_port_driver_unregister - Remove a vuart port device driver.
Definition at line 1266 of file ps3-vuart.c.
ps3_vuart_read - The entry point for reading data from a port.
Queue data waiting at the port, and if enough bytes to satisfy the request are held in the buffer list those bytes are dequeued and copied to the caller's buffer. Emptied list buffers are retiered. If the request cannot be statified by bytes held in the list buffers -EAGAIN is returned.
Definition at line 615 of file ps3-vuart.c.
ps3_vuart_write - the entry point for writing data to a port : The struct ps3_system_bus_device instance.
If the port is idle on entry as much of the incoming data is written to the port as the port will accept. Otherwise a list buffer is created and any remaning incoming data is copied to that buffer. The buffer is then enqueued for transmision via the transmit interrupt.
Definition at line 491 of file ps3-vuart.c.