rio_devRegular
4.4: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
struct rio_switch rswitch[0];
};
4.8: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
4.10: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
4.13: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
4.15: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
4.18: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
5.0: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
5.3: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
5.4: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
5.8: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
5.11: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
5.13: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
5.15: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
5.19: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
6.2: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
6.5: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
6.8: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
arm64: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
armhf: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
ppc64el: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
riscv64: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
aws: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
azure: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
gcp: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
lowlatency: ✅struct rio_dev {
struct list_head global_list;
struct list_head net_list;
struct rio_net *net;
bool do_enum;
u16 did;
u16 vid;
u32 device_rev;
u16 asm_did;
u16 asm_vid;
u16 asm_rev;
u16 efptr;
u32 pef;
u32 swpinfo;
u32 src_ops;
u32 dst_ops;
u32 comp_tag;
u32 phys_efptr;
u32 phys_rmap;
u32 em_efptr;
u64 dma_mask;
struct rio_driver *driver;
struct device dev;
struct resource riores[16];
int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int);
u16 destid;
u8 hopcount;
struct rio_dev *prev;
atomic_t state;
struct rio_switch rswitch[0];
};
Regular
4.4 and 4.8 ⚠️u32 phys_rmap
atomic_t state
4.8 and 4.10 ✅
4.10 and 4.13 ✅
4.13 and 4.15 ✅
4.15 and 4.18 ✅
4.18 and 5.0 ✅
5.0 and 5.3 ✅
5.3 and 5.4 ✅
5.4 and 5.8 ✅
5.8 and 5.11 ✅
5.11 and 5.13 ✅
5.13 and 5.15 ✅
5.15 and 5.19 ✅
5.19 and 6.2 ✅
6.2 and 6.5 ✅
6.5 and 6.8 ✅
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅