drivers/s390/cio/chsc.h

Source file repositories/reference/linux-study-clean/drivers/s390/cio/chsc.h

File Facts

System
Linux kernel
Corpus path
drivers/s390/cio/chsc.h
Extension
.h
Size
5253 bytes
Lines
245
Domain
Driver Families
Bucket
drivers/s390
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct cmg_chars {
	u32 values[NR_MEASUREMENT_CHARS];
};

struct cmg_cmcb {
	u32 not_valid : 1;
	u32 shared    : 1;
	u32 extended  : 1;
	u32	      : 21;
	u32 chpid     : 8;
	u32 cmcv      : 5;
	u32	      : 7;
	u32 cmgp      : 4;
	u32 cmgq      : 8;
	u32 cmg       : 8;
	u32	      : 16;
	u32 cmgs      : 16;
	u32 data[NR_MEASUREMENT_CHARS];
};

#define NR_MEASUREMENT_ENTRIES 8
struct cmg_entry {
	u32 values[NR_MEASUREMENT_ENTRIES];
};

#define NR_EXT_MEASUREMENT_ENTRIES 16
struct cmg_ext_entry {
	u32 values[NR_EXT_MEASUREMENT_ENTRIES];
};

struct channel_path_desc_fmt1 {
	u8 flags;
	u8 lsn;
	u8 desc;
	u8 chpid;
	u32:16;
	u8 esc;
	u8 chpp;
	u32 unused[2];
	u16 chid;
	u32:16;
	u16 mdc;
	u16:13;
	u8 r:1;
	u8 s:1;
	u8 f:1;
	u32 zeros[2];
};

struct channel_path_desc_fmt3 {
	struct channel_path_desc_fmt1 fmt1_desc;
	u8 util_str[64];
};

struct channel_path;

struct css_chsc_char {
	u64 res;
	u64 : 20;
	u32 secm : 1; /* bit 84 */
	u32 : 1;
	u32 scmc : 1; /* bit 86 */
	u32 : 20;
	u32 scssc : 1;  /* bit 107 */
	u32 scsscf : 1; /* bit 108 */
	u32:7;
	u32 pnso:1; /* bit 116 */
	u32:11;
} __packed;

extern struct css_chsc_char css_chsc_characteristics;

struct chsc_ssd_info {
	u8 path_mask;
	u8 fla_valid_mask;
	struct chp_id chpid[8];
	u16 fla[8];
};

struct chsc_ssqd_area {
	struct chsc_header request;
	u16:10;
	u8 ssid:2;
	u8 fmt:4;
	u16 first_sch;
	u16:16;
	u16 last_sch;
	u32:32;
	struct chsc_header response;
	u32:32;

Annotation

Implementation Notes