Linux Kernel
3.7.1
|
#include <linux/mutex.h>
#include <linux/device.h>
#include <linux/mod_devicetable.h>
#include <asm/chpid.h>
#include <asm/cio.h>
#include <asm/fcx.h>
#include <asm/schid.h>
#include "chsc.h"
Go to the source code of this file.
Data Structures | |
struct | pmcw |
struct | schib_config |
struct | schib |
struct | subchannel |
Macros | |
#define | to_subchannel(n) container_of(n, struct subchannel, dev) |
#define | cio_is_console(schid) 0 |
#define | cio_get_console_subchannel() NULL |
#define | cio_get_console_lock() NULL |
#define | cio_get_console_priv() NULL |
Enumerations | |
enum | sch_todo { SCH_TODO_NOTHING, SCH_TODO_EVAL, SCH_TODO_UNREG } |
enum | { SUBCHANNEL_TYPE_IO = 0, SUBCHANNEL_TYPE_CHSC = 1, SUBCHANNEL_TYPE_MSG = 2, SUBCHANNEL_TYPE_ADM = 3 } |
Functions | |
struct pmcw | __attribute__ ((packed)) |
struct schib | __attribute__ ((packed, aligned(4))) |
struct subchannel | __attribute__ ((aligned(8))) |
Packet vector entry. | |
int | cio_validate_subchannel (struct subchannel *, struct subchannel_id) |
int | cio_enable_subchannel (struct subchannel *, u32) |
int | cio_disable_subchannel (struct subchannel *) |
int | cio_cancel (struct subchannel *) |
int | cio_clear (struct subchannel *) |
int | cio_resume (struct subchannel *) |
int | cio_halt (struct subchannel *) |
int | cio_start (struct subchannel *, struct ccw1 *, __u8) |
int | cio_start_key (struct subchannel *, struct ccw1 *, __u8, __u8) |
int | cio_set_options (struct subchannel *, int) |
int | cio_update_schib (struct subchannel *sch) |
int | cio_commit_config (struct subchannel *sch) |
int | cio_tm_start_key (struct subchannel *sch, struct tcw *tcw, u8 lpm, u8 key) |
int | cio_tm_intrg (struct subchannel *sch) |
int | cio_create_sch_lock (struct subchannel *) |
void | do_adapter_IO (u8 isc) |
void | do_IRQ (struct pt_regs *) |
Variables | |
u32 | intparm |
u32 | qf |
u32 | w |
u32 | isc |
u32 | res5 |
u32 | ena |
u32 | lm |
u32 | mme |
u32 | mp |
u32 | tf |
u32 | dnv |
u32 | dev |
u8 | lpm |
u8 | pnom |
u8 | lpum |
u8 | pim |
u16 | mbi |
u8 | pom |
u8 | pam |
u8 | chpid [8] |
u32 | unused1 |
u32 | st |
u32 | unused2 |
u32 | mbfc |
u32 | xmwme |
u32 | csense |
u64 | mba |
struct pmcw | pmcw |
union scsw | scsw |
__u8 | mda [4] |
enum sch_todo | __attribute__ |
struct subchannel_id | schid |
spinlock_t * | lock |
struct mutex | reg_mutex |
__u8 | vpm |
__u8 | opm |
struct schib | schib |
struct chsc_ssd_info | ssd_info |
enum sch_todo | todo |
struct work_struct | todo_work |
struct schib_config | config |
: name of the device to match | |
bus_find_device_by_name - device iterator for locating a particular device of a specific name : bus type : Device to begin with This is similar to the bus_find_device() function above, but it handles searching by a name automatically, no need to write another strcmp matching function. | |
struct css_driver * | driver |
#define to_subchannel | ( | n | ) | container_of(n, struct subchannel, dev) |
anonymous enum |
enum sch_todo |
|
read |
Definition at line 171 of file esd_usb2.c.
|
read |
Scatter-gather list for preada/pwritea calls.
< Client physical address of the buffer segment.
< Page table entry describing the caching and location override characteristics of the buffer segment. Some drivers ignore this element and will require that the NOCACHE flag be set on their requests.
< Length of the buffer segment.
Definition at line 1740 of file hypervisor.h.
|
read |
Packet vector entry.
This data structure is used with netio_send_packet_vector() to send multiple packets with one NetIO call. The structure should be initialized by calling netio_pkt_vector_set(), rather than by setting the fields directly.
This structure is guaranteed to be a power of two in size, no bigger than one L2 cache line, and to be aligned modulo its size.
Reserved for use by the user application. When initialized with the netio_set_pkt_vector_entry() function, this field is guaranteed to be visible to readers only after all other fields are already visible. This way it can be used as a valid flag or generation counter.
Low 8 bits of the packet address to send. The high bits are acquired from the 'handle' field.
Number of bytes to transmit.
The raw handle from a netio_pkt_t. If this is NETIO_PKT_HANDLE_NONE, this vector entry will be skipped and no packet will be transmitted.
int cio_cancel | ( | struct subchannel * | ) |
int cio_clear | ( | struct subchannel * | ) |
int cio_commit_config | ( | struct subchannel * | sch | ) |
int cio_create_sch_lock | ( | struct subchannel * | ) |
int cio_disable_subchannel | ( | struct subchannel * | sch | ) |
int cio_enable_subchannel | ( | struct subchannel * | sch, |
u32 | intparm | ||
) |
int cio_halt | ( | struct subchannel * | ) |
int cio_resume | ( | struct subchannel * | ) |
int cio_tm_intrg | ( | struct subchannel * | sch | ) |
int cio_update_schib | ( | struct subchannel * | sch | ) |
int cio_validate_subchannel | ( | struct subchannel * | sch, |
struct subchannel_id | schid | ||
) |
cio_validate_subchannel - basic validation of subchannel : subchannel structure to be filled out : subchannel id
Find out subchannel type and initialize struct subchannel. Return codes: 0 on success -ENXIO for non-defined subchannels -ENODEV for invalid subchannels or blacklisted devices -EIO for subchannels in an invalid subchannel set
enum sch_todo __attribute__ |
spinlock_t* lock |
struct subchannel_id schid |
struct chsc_ssd_info ssd_info |
struct work_struct todo_work |