idxd: Add definitions for missing registers to spec header
Change-Id: Ie3ddc6fd0b5e3b10bc13fb0edf212d097d75bc94 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11434 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
dbdd27ff47
commit
7ddc75abdb
@ -389,6 +389,28 @@ union idxd_offsets_register {
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_offsets_register) == 16, "size mismatch");
|
||||
|
||||
union idxd_gencfg_register {
|
||||
struct {
|
||||
uint8_t global_read_buf_limit;
|
||||
uint8_t reserved0 : 4;
|
||||
uint8_t user_mode_int_enabled : 1;
|
||||
uint8_t reserved1 : 3;
|
||||
uint16_t reserved2;
|
||||
};
|
||||
uint32_t raw;
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_gencfg_register) == 4, "size mismatch");
|
||||
|
||||
union idxd_genctrl_register {
|
||||
struct {
|
||||
uint32_t sw_err_int_enable : 1;
|
||||
uint32_t halt_state_int_enable : 1;
|
||||
uint32_t reserved : 30;
|
||||
};
|
||||
uint32_t raw;
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_genctrl_register) == 4, "size mismatch");
|
||||
|
||||
union idxd_gensts_register {
|
||||
struct {
|
||||
uint32_t state: 2;
|
||||
@ -399,6 +421,31 @@ union idxd_gensts_register {
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_gensts_register) == 4, "size mismatch");
|
||||
|
||||
union idxd_intcause_register {
|
||||
struct {
|
||||
uint32_t software_err : 1;
|
||||
uint32_t command_completion : 1;
|
||||
uint32_t wq_occupancy_below_limit : 1;
|
||||
uint32_t perfmon_counter_overflow : 1;
|
||||
uint32_t halt_state : 1;
|
||||
uint32_t reserved : 26;
|
||||
uint32_t int_handles_revoked : 1;
|
||||
};
|
||||
uint32_t raw;
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_intcause_register) == 4, "size mismatch");
|
||||
|
||||
union idxd_cmd_register {
|
||||
struct {
|
||||
uint32_t operand : 20;
|
||||
uint32_t command_code : 5;
|
||||
uint32_t reserved : 6;
|
||||
uint32_t request_completion_interrupt : 1;
|
||||
};
|
||||
uint32_t raw;
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_cmd_register) == 4, "size mismatch");
|
||||
|
||||
union idxd_cmdsts_register {
|
||||
struct {
|
||||
uint32_t err : 8;
|
||||
@ -410,6 +457,29 @@ union idxd_cmdsts_register {
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_cmdsts_register) == 4, "size mismatch");
|
||||
|
||||
union idxd_cmdcap_register {
|
||||
struct {
|
||||
uint32_t reserved0 : 1;
|
||||
uint32_t enable_device : 1;
|
||||
uint32_t disable_device : 1;
|
||||
uint32_t drain_all : 1;
|
||||
uint32_t abort_all : 1;
|
||||
uint32_t reset_device : 1;
|
||||
uint32_t enable_wq : 1;
|
||||
uint32_t disable_wq : 1;
|
||||
uint32_t drain_wq : 1;
|
||||
uint32_t abort_wq : 1;
|
||||
uint32_t reset_wq : 1;
|
||||
uint32_t drain_pasid : 1;
|
||||
uint32_t abort_pasid : 1;
|
||||
uint32_t request_int_handle : 1;
|
||||
uint32_t release_int_handle : 1;
|
||||
uint32_t reserved1 : 17;
|
||||
};
|
||||
uint32_t raw;
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_cmdcap_register) == 4, "size mismatch");
|
||||
|
||||
union idxd_swerr_register {
|
||||
struct {
|
||||
uint64_t valid: 1;
|
||||
@ -437,14 +507,36 @@ union idxd_swerr_register {
|
||||
SPDK_STATIC_ASSERT(sizeof(union idxd_swerr_register) == 32, "size mismatch");
|
||||
|
||||
struct idxd_registers {
|
||||
uint32_t version;
|
||||
union idxd_gencap_register gencap;
|
||||
union idxd_wqcap_register wqcap;
|
||||
union idxd_groupcap_register groupcap;
|
||||
union idxd_enginecap_register enginecap;
|
||||
struct idxd_opcap_register opcap;
|
||||
uint32_t version;
|
||||
uint32_t reserved0;
|
||||
uint64_t reserved1;
|
||||
union idxd_gencap_register gencap;
|
||||
uint64_t reserved2;
|
||||
union idxd_wqcap_register wqcap;
|
||||
uint64_t reserved3;
|
||||
union idxd_groupcap_register groupcap;
|
||||
union idxd_enginecap_register enginecap;
|
||||
struct idxd_opcap_register opcap;
|
||||
union idxd_offsets_register offsets;
|
||||
uint64_t reserved4[2];
|
||||
union idxd_gencfg_register gencfg;
|
||||
uint32_t reserved5;
|
||||
union idxd_genctrl_register genctrl;
|
||||
uint32_t reserved6;
|
||||
union idxd_gensts_register gensts;
|
||||
uint32_t reserved7;
|
||||
union idxd_intcause_register intcause;
|
||||
uint32_t reserved8;
|
||||
union idxd_cmd_register cmd;
|
||||
uint32_t reserved9;
|
||||
union idxd_cmdsts_register cmdsts;
|
||||
uint32_t reserved10;
|
||||
union idxd_cmdcap_register cmdcap;
|
||||
uint32_t reserved11;
|
||||
uint64_t reserved12;
|
||||
union idxd_swerr_register sw_err;
|
||||
};
|
||||
SPDK_STATIC_ASSERT(sizeof(struct idxd_registers) == 72, "size mismatch");
|
||||
SPDK_STATIC_ASSERT(sizeof(struct idxd_registers) == 0xE0, "size mismatch");
|
||||
|
||||
union idxd_group_flags {
|
||||
struct {
|
||||
|
Loading…
Reference in New Issue
Block a user