pci_epc_ops
Regular
4.4
: Absent ⚠️
4.8
: Absent ⚠️
4.10
: Absent ⚠️
4.13
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, enum pci_barno, dma_addr_t, size_t, int);
void (*clear_bar)(struct pci_epc *, enum pci_barno);
int (*map_addr)(struct pci_epc *, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8);
int (*get_msi)(struct pci_epc *);
int (*raise_irq)(struct pci_epc *, enum pci_epc_irq_type, u8);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
struct module *owner;
};
4.15
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, enum pci_barno, dma_addr_t, size_t, int);
void (*clear_bar)(struct pci_epc *, enum pci_barno);
int (*map_addr)(struct pci_epc *, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8);
int (*get_msi)(struct pci_epc *);
int (*raise_irq)(struct pci_epc *, enum pci_epc_irq_type, u8);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
struct module *owner;
};
4.18
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u8);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
struct module *owner;
};
5.0
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
struct module *owner;
};
5.3
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.4
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.8
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.11
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.13
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
5.15
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
5.19
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
6.2
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
6.5
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
6.8
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8, u8);
int (*get_msi)(struct pci_epc *, u8, u8);
int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32);
int (*get_msix)(struct pci_epc *, u8, u8);
int (*raise_irq)(struct pci_epc *, u8, u8, unsigned int, u16);
int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8);
struct module *owner;
};
arm64
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
armhf
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
ppc64el
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
riscv64
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
aws
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
azure
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
gcp
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
lowlatency
: ✅struct pci_epc_ops {
int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *);
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *);
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t);
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t);
int (*set_msi)(struct pci_epc *, u8, u8);
int (*get_msi)(struct pci_epc *, u8);
int (*set_msix)(struct pci_epc *, u8, u16);
int (*get_msix)(struct pci_epc *, u8);
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16);
int (*start)(struct pci_epc *);
void (*stop)(struct pci_epc *);
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8);
struct module *owner;
};
Regular
4.13
and 4.15
✅
4.15
and 4.18
⚠️int (*write_header)(struct pci_epc *, struct pci_epf_header *)
➡️ int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *)
int (*set_bar)(struct pci_epc *, enum pci_barno, dma_addr_t, size_t, int)
➡️ int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *)
void (*clear_bar)(struct pci_epc *, enum pci_barno)
➡️ void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *)
int (*map_addr)(struct pci_epc *, phys_addr_t, u64, size_t)
➡️ int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t)
void (*unmap_addr)(struct pci_epc *, phys_addr_t)
➡️ void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t)
int (*set_msi)(struct pci_epc *, u8)
➡️ int (*set_msi)(struct pci_epc *, u8, u8)
int (*get_msi)(struct pci_epc *)
➡️ int (*get_msi)(struct pci_epc *, u8)
int (*raise_irq)(struct pci_epc *, enum pci_epc_irq_type, u8)
➡️ int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u8)
4.18
and 5.0
⚠️int (*set_msix)(struct pci_epc *, u8, u16)
int (*get_msix)(struct pci_epc *, u8)
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u8)
➡️ int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16)
5.0
and 5.3
⚠️const struct pci_epc_features * (*get_features)(struct pci_epc *, u8)
5.3
and 5.4
✅
5.4
and 5.8
⚠️int (*set_msix)(struct pci_epc *, u8, u16)
➡️ int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32)
5.8
and 5.11
✅
5.11
and 5.13
⚠️int (*map_msi_irq)(struct pci_epc *, u8, phys_addr_t, u8, u32, u32 *, u32 *)
5.13
and 5.15
⚠️int (*write_header)(struct pci_epc *, u8, struct pci_epf_header *)
➡️ int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *)
int (*set_bar)(struct pci_epc *, u8, struct pci_epf_bar *)
➡️ int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *)
void (*clear_bar)(struct pci_epc *, u8, struct pci_epf_bar *)
➡️ void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *)
int (*map_addr)(struct pci_epc *, u8, phys_addr_t, u64, size_t)
➡️ int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t)
void (*unmap_addr)(struct pci_epc *, u8, phys_addr_t)
➡️ void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t)
int (*set_msi)(struct pci_epc *, u8, u8)
➡️ int (*set_msi)(struct pci_epc *, u8, u8, u8)
int (*get_msi)(struct pci_epc *, u8)
➡️ int (*get_msi)(struct pci_epc *, u8, u8)
int (*set_msix)(struct pci_epc *, u8, u16, enum pci_barno, u32)
➡️ int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32)
int (*get_msix)(struct pci_epc *, u8)
➡️ int (*get_msix)(struct pci_epc *, u8, u8)
int (*raise_irq)(struct pci_epc *, u8, enum pci_epc_irq_type, u16)
➡️ int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16)
int (*map_msi_irq)(struct pci_epc *, u8, phys_addr_t, u8, u32, u32 *, u32 *)
➡️ int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *)
const struct pci_epc_features * (*get_features)(struct pci_epc *, u8)
➡️ const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8)
5.15
and 5.19
✅
5.19
and 6.2
✅
6.2
and 6.5
✅
6.5
and 6.8
⚠️int (*raise_irq)(struct pci_epc *, u8, u8, enum pci_epc_irq_type, u16)
➡️ int (*raise_irq)(struct pci_epc *, u8, u8, unsigned int, u16)
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅