version 1.8.38.2, 2020/04/13 08:04:21 |
version 1.9, 2018/11/24 18:10:29 |
Line 269 union mfi_mbox { |
|
Line 269 union mfi_mbox { |
|
uint8_t b[MFI_MBOX_SIZE]; |
uint8_t b[MFI_MBOX_SIZE]; |
uint16_t s[6]; |
uint16_t s[6]; |
uint32_t w[3]; |
uint32_t w[3]; |
}; |
} __packed __aligned(4); |
|
|
/* mfi completion codes */ |
/* mfi completion codes */ |
typedef enum { |
typedef enum { |
|
|
/* sense buffer */ |
/* sense buffer */ |
struct mfi_sense { |
struct mfi_sense { |
uint8_t mse_data[MFI_SENSE_SIZE]; |
uint8_t mse_data[MFI_SENSE_SIZE]; |
}; |
} __packed; |
|
|
/* scatter gather elements */ |
/* scatter gather elements */ |
struct mfi_sg32 { |
struct mfi_sg32 { |
uint32_t addr; |
uint32_t addr; |
uint32_t len; |
uint32_t len; |
}; |
} __packed; |
|
|
struct mfi_sg64 { |
struct mfi_sg64 { |
uint64_t addr; |
uint64_t addr; |
Line 434 struct mfi_sg_ieee { |
|
Line 434 struct mfi_sg_ieee { |
|
uint64_t addr; |
uint64_t addr; |
uint32_t len; |
uint32_t len; |
uint32_t flags; |
uint32_t flags; |
}; |
} __packed; |
|
|
|
|
union mfi_sgl { |
union mfi_sgl { |
struct mfi_sg32 sg32[1]; |
struct mfi_sg32 sg32[1]; |
struct mfi_sg64 sg64[1]; |
struct mfi_sg64 sg64[1]; |
struct mfi_sg_ieee sg_ieee[1]; |
struct mfi_sg_ieee sg_ieee[1]; |
}; |
} __packed; |
|
|
/* message frame */ |
/* message frame */ |
struct mfi_frame_header { |
struct mfi_frame_header { |
Line 458 struct mfi_frame_header { |
|
Line 458 struct mfi_frame_header { |
|
uint16_t mfh_flags; |
uint16_t mfh_flags; |
uint16_t mfh_timeout; |
uint16_t mfh_timeout; |
uint32_t mfh_data_len; |
uint32_t mfh_data_len; |
}; |
} __packed; |
|
|
union mfi_sgl_frame { |
union mfi_sgl_frame { |
struct mfi_sg32 sge32[8]; |
struct mfi_sg32 sge32[8]; |
Line 514 struct mfi_dcmd_frame { |
|
Line 514 struct mfi_dcmd_frame { |
|
uint32_t mdf_opcode; |
uint32_t mdf_opcode; |
union mfi_mbox mdf_mbox; |
union mfi_mbox mdf_mbox; |
union mfi_sgl mdf_sgl; |
union mfi_sgl mdf_sgl; |
}; |
} __packed; |
#define MFI_DCMD_MBOX_PEND_FLAG 0x1 |
#define MFI_DCMD_MBOX_PEND_FLAG 0x1 |
|
|
struct mfi_abort_frame { |
struct mfi_abort_frame { |
Line 524 struct mfi_abort_frame { |
|
Line 524 struct mfi_abort_frame { |
|
uint32_t maf_abort_mfi_addr_lo; |
uint32_t maf_abort_mfi_addr_lo; |
uint32_t maf_abort_mfi_addr_hi; |
uint32_t maf_abort_mfi_addr_hi; |
uint32_t maf_reserved[6]; |
uint32_t maf_reserved[6]; |
}; |
} __packed; |
|
|
struct mfi_smp_frame { |
struct mfi_smp_frame { |
struct mfi_frame_header msf_header; |
struct mfi_frame_header msf_header; |
Line 562 union mfi_evt_class_locale { |
|
Line 562 union mfi_evt_class_locale { |
|
uint16_t locale; |
uint16_t locale; |
uint8_t reserved; |
uint8_t reserved; |
int8_t class; |
int8_t class; |
} mec_members; |
} __packed mec_members; |
|
|
uint32_t mec_word; |
uint32_t mec_word; |
}; |
} __packed; |
|
|
struct mfi_evt_log_info { |
struct mfi_evt_log_info { |
uint32_t mel_newest_seq_num; |
uint32_t mel_newest_seq_num; |
Line 572 struct mfi_evt_log_info { |
|
Line 573 struct mfi_evt_log_info { |
|
uint32_t mel_clear_seq_num; |
uint32_t mel_clear_seq_num; |
uint32_t mel_shutdown_seq_num; |
uint32_t mel_shutdown_seq_num; |
uint32_t mel_boot_seq_num; |
uint32_t mel_boot_seq_num; |
}; |
} __packed; |
|
|
struct mfi_progress { |
struct mfi_progress { |
uint16_t mp_progress; |
uint16_t mp_progress; |
uint16_t mp_elapsed_seconds; |
uint16_t mp_elapsed_seconds; |
}; |
} __packed; |
|
|
struct mfi_evtarg_ld { |
struct mfi_evtarg_ld { |
uint16_t mel_target_id; |
uint16_t mel_target_id; |
uint8_t mel_ld_index; |
uint8_t mel_ld_index; |
uint8_t mel_reserved; |
uint8_t mel_reserved; |
}; |
} __packed; |
|
|
struct mfi_evtarg_pd { |
struct mfi_evtarg_pd { |
uint16_t mep_device_id; |
uint16_t mep_device_id; |
uint8_t mep_encl_index; |
uint8_t mep_encl_index; |
uint8_t mep_slot_number; |
uint8_t mep_slot_number; |
}; |
} __packed; |
|
|
struct mfi_evtarg_pd_state { |
struct mfi_evtarg_pd_state { |
struct mfi_evtarg_pd pd; |
struct mfi_evtarg_pd pd; |
uint32_t prev_state; |
uint32_t prev_state; |
uint32_t new_state; |
uint32_t new_state; |
}; |
} __packed; |
|
|
struct mfi_evtarg_pd_address { |
struct mfi_evtarg_pd_address { |
uint16_t device_id; |
uint16_t device_id; |
Line 605 struct mfi_evtarg_pd_address { |
|
Line 606 struct mfi_evtarg_pd_address { |
|
struct { |
struct { |
uint8_t encl_index; |
uint8_t encl_index; |
uint8_t slot_number; |
uint8_t slot_number; |
} pd_address; |
} __packed pd_address; |
struct { |
struct { |
uint8_t encl_position; |
uint8_t encl_position; |
uint8_t encl_connector_index; |
uint8_t encl_connector_index; |
} encl_address; |
} __packed encl_address; |
} address; |
} __packed address; |
|
|
uint8_t scsi_dev_type; |
uint8_t scsi_dev_type; |
|
|
union { |
union { |
uint8_t port_bitmap; |
uint8_t port_bitmap; |
uint8_t port_numbers; |
uint8_t port_numbers; |
} connected; |
} __packed connected; |
|
|
uint64_t sas_addr[2]; |
uint64_t sas_addr[2]; |
}; |
} __packed __aligned(8); |
|
|
struct mfi_evt_detail { |
struct mfi_evt_detail { |
uint32_t med_seq_num; |
uint32_t med_seq_num; |