#include <linux/types.h>
Go to the source code of this file.
|
struct tcw | __attribute__ ((packed, aligned(64))) |
|
struct tidaw | __attribute__ ((packed, aligned(16))) |
|
struct tsa_iostat | __attribute__ ((packed)) |
|
struct tsb | __attribute__ ((packed, aligned(8))) |
|
struct tcw * | tcw_get_intrg (struct tcw *tcw) |
|
void * | tcw_get_data (struct tcw *tcw) |
|
struct tccb * | tcw_get_tccb (struct tcw *tcw) |
|
struct tsb * | tcw_get_tsb (struct tcw *tcw) |
|
void | tcw_init (struct tcw *tcw, int r, int w) |
|
void | tcw_finalize (struct tcw *tcw, int num_tidaws) |
|
void | tcw_set_intrg (struct tcw *tcw, struct tcw *intrg_tcw) |
|
void | tcw_set_data (struct tcw *tcw, void *data, int use_tidal) |
|
void | tcw_set_tccb (struct tcw *tcw, struct tccb *tccb) |
|
void | tcw_set_tsb (struct tcw *tcw, struct tsb *tsb) |
|
void | tccb_init (struct tccb *tccb, size_t tccb_size, u32 sac) |
|
void | tsb_init (struct tsb *tsb) |
|
struct dcw * | tccb_add_dcw (struct tccb *tccb, size_t tccb_size, u8 cmd, u8 flags, void *cd, u8 cd_count, u32 count) |
|
struct tidaw * | tcw_add_tidaw (struct tcw *tcw, int num_tidaws, u8 flags, void *addr, u32 count) |
|
#define _ASM_S390_FCX_H _ASM_S390_FCX_H |
Definition at line 9 of file fcx.h.
#define DCW_CMD_CONTROL 0x03 |
#define DCW_CMD_INTRG 0x40 |
#define DCW_CMD_READ 0x02 |
#define DCW_CMD_SENSE 0x04 |
#define DCW_CMD_SENSE_ID 0xe4 |
#define DCW_CMD_WRITE 0x01 |
#define DCW_FLAGS_CC 1 << (7 - 1) |
#define DCW_INTRG_FLAGS_CRIT 1 < (7 - 2) |
#define DCW_INTRG_FLAGS_MPM 1 < (7 - 0) |
#define DCW_INTRG_FLAGS_PPR 1 < (7 - 1) |
#define DCW_INTRG_FORMAT_DEFAULT 0 |
#define DCW_INTRG_RC_TIMEOUT 1 |
#define DCW_INTRG_RC_UNSPECIFIED 0 |
#define DCW_INTRG_RCQ_PRIMARY 1 |
#define DCW_INTRG_RCQ_SECONDARY 2 |
#define DCW_INTRG_RCQ_UNSPECIFIED 0 |
#define TCCB_FORMAT_DEFAULT 0x7f |
Value:
Definition at line 248 of file fcx.h.
#define TCCB_SAC_DEFAULT 0x1ffe |
#define TCCB_SAC_INTRG 0x1fff |
#define TCW_FLAGS_GET_TIDAW_FORMAT |
( |
|
x | ) |
(((x) >> (23 - 9)) & 3) |
Definition at line 19 of file fcx.h.
#define TCW_FLAGS_INPUT_TIDA 1 << (23 - 5) |
Definition at line 15 of file fcx.h.
#define TCW_FLAGS_OUTPUT_TIDA 1 << (23 - 7) |
Definition at line 17 of file fcx.h.
#define TCW_FLAGS_TCCB_TIDA 1 << (23 - 6) |
Definition at line 16 of file fcx.h.
#define TCW_FLAGS_TIDAW_FORMAT |
( |
|
x | ) |
((x) & 3) << (23 - 9) |
Definition at line 18 of file fcx.h.
#define TCW_FORMAT_DEFAULT 0 |
Definition at line 13 of file fcx.h.
#define TCW_TIDAW_FORMAT_DEFAULT 0 |
Definition at line 14 of file fcx.h.
#define TIDAW_FLAGS_DATA_INT 1 << (7 - 2) |
Definition at line 59 of file fcx.h.
#define TIDAW_FLAGS_INSERT_CBC 1 << (7 - 4) |
Definition at line 61 of file fcx.h.
#define TIDAW_FLAGS_LAST 1 << (7 - 0) |
Definition at line 57 of file fcx.h.
#define TIDAW_FLAGS_SKIP 1 << (7 - 1) |
Definition at line 58 of file fcx.h.
#define TIDAW_FLAGS_TTIC 1 << (7 - 3) |
Definition at line 60 of file fcx.h.
#define TSA_INTRG_FLAGS_CU_STATE_VALID 1 << (7 - 0) |
#define TSA_INTRG_FLAGS_DEV_STATE_VALID 1 << (7 - 1) |
#define TSA_INTRG_FLAGS_OP_STATE_VALID 1 << (7 - 2) |
#define TSB_FLAGS_CACHE_MISS 1 << (7 - 2) |
#define TSB_FLAGS_COUNT_VALID 1 << (7 - 1) |
#define TSB_FLAGS_DCW_OFFSET_VALID 1 << (7 - 0) |
#define TSB_FLAGS_FORMAT |
( |
|
x | ) |
((x) & 7) |
#define TSB_FLAGS_TIME_VALID 1 << (7 - 3) |
#define TSB_FORMAT |
( |
|
t | ) |
((t)->flags & 7) |
#define TSB_FORMAT_DDPC 2 |
#define TSB_FORMAT_INTRG 3 |
#define TSB_FORMAT_IOSTAT 1 |
#define TSB_FORMAT_NONE 0 |
tccb_add_dcw - add a dcw to the tccb : the tccb address : the maximum tccb size : the dcw command : flags for the dcw : pointer to control data for this dcw or NULL if none is required : number of control data bytes for this dcw : number of data bytes for this dcw
Add a new dcw to the specified tccb by writing the dcw information specified by , , , and to the tca of the tccb. Return a pointer to the newly added dcw on success or -ENOSPC if the new dcw would exceed the available space as defined by .
Note: the tcal field of the tccb header will be updates to reflect added content.
Definition at line 294 of file fcx.c.
tccb_init - initialize tccb : the tccb address : the maximum size of the tccb : the service-action-code to be user
Initialize the header of the specified tccb by resetting all values to zero and filling in defaults for format, sac and initial tcal fields.
Definition at line 255 of file fcx.c.
tcw_add_tidaw - add a tidaw to a tcw : the tcw address : the current number of tidaws : flags for the new tidaw : address value for the new tidaw : count value for the new tidaw
Add a new tidaw to the input/output data tidaw-list of the specified tcw (depending on the value of the r-flag and w-flag) and return a pointer to the new tidaw.
Note: the tidaw-list is assumed to be contiguous with no ttics. The caller must ensure that there is enough space for the new tidaw. The last-tidaw flag for the last tidaw in the list will be set by tcw_finalize.
Definition at line 337 of file fcx.c.
tcw_finalize - finalize tcw length fields and tidaw list : pointer to the tcw : the number of tidaws used to address input/output data or zero if no tida is used
Calculate the input-/output-count and tccbl field in the tcw, add a tcat the tccb and terminate the data tidaw list if used.
Note: in case input- or output-tida is used, the tidaw-list must be stored in contiguous storage (no ttic). The tcal field in the tccb must be up-to-date.
Definition at line 152 of file fcx.c.
tcw_get_data - return pointer to input/output data associated with tcw : pointer to the tcw
Return the input or output data address specified in the tcw depending on whether the r-bit or the w-bit is set. If neither bit is set, return NULL.
Definition at line 38 of file fcx.c.
tcw_get_intrg - return pointer to associated interrogate tcw : pointer to the original tcw
Return a pointer to the interrogate tcw associated with the specified tcw or NULL if there is no associated interrogate tcw.
Definition at line 24 of file fcx.c.
tcw_init - initialize tcw data structure : pointer to the tcw to be initialized : initial value of the r-bit : initial value of the w-bit
Initialize all fields of the specified tcw data structure with zero and fill in the format, flags, r and w fields.
Definition at line 81 of file fcx.c.
tcw_set_data - set data address and tida flag of a tcw : the tcw address : the data address : zero of the data address specifies a contiguous block of data, non-zero if it specifies a list if tidaws.
Set the input/output data address of a tcw (depending on the value of the r-flag and w-flag). If is non-zero, the corresponding tida flag is set as well.
Definition at line 206 of file fcx.c.
tcw_set_intrg - set the interrogate tcw address of a tcw : the tcw address : the address of the interrogate tcw
Set the address of the interrogate tcw in the specified tcw.
Definition at line 189 of file fcx.c.
tcw_set_tccb - set tccb address of a tcw : the tcw address : the tccb address
Set the address of the tccb in the specified tcw.
Definition at line 227 of file fcx.c.
tcw_set_tsb - set tsb address of a tcw : the tcw address : the tsb address
Set the address of the tsb in the specified tcw.
Definition at line 240 of file fcx.c.
tsb_init - initialize tsb : the tsb address
Initialize the specified tsb by resetting all values to zero.
Definition at line 270 of file fcx.c.
Definition at line 57 of file fcx.h.
Definition at line 59 of file fcx.h.
Definition at line 63 of file fcx.h.
Definition at line 70 of file fcx.h.
Definition at line 71 of file fcx.h.
Definition at line 72 of file fcx.h.
Definition at line 80 of file fcx.h.
Definition at line 79 of file fcx.h.
Definition at line 96 of file fcx.h.
Definition at line 99 of file fcx.h.
Definition at line 98 of file fcx.h.
Definition at line 95 of file fcx.h.
Definition at line 58 of file fcx.h.
Definition at line 56 of file fcx.h.
Definition at line 65 of file fcx.h.
Definition at line 69 of file fcx.h.
Definition at line 73 of file fcx.h.
Definition at line 64 of file fcx.h.
Definition at line 68 of file fcx.h.
Definition at line 97 of file fcx.h.
Definition at line 61 of file fcx.h.
Definition at line 67 of file fcx.h.
Definition at line 60 of file fcx.h.
Definition at line 66 of file fcx.h.
Definition at line 62 of file fcx.h.