Lines Matching refs:cxl_afu
444 #define to_cxl_afu(d) container_of(d, struct cxl_afu, dev)
467 struct cxl_afu *parent;
477 struct cxl_afu { struct
541 struct cxl_afu *afu; argument
630 int (*afu_regs_init)(struct cxl_afu *afu);
631 int (*sanitise_afu_regs)(struct cxl_afu *afu);
632 int (*register_serr_irq)(struct cxl_afu *afu);
633 void (*release_serr_irq)(struct cxl_afu *afu);
635 irqreturn_t (*fail_irq)(struct cxl_afu *afu, struct cxl_irq_info *irq_info);
636 int (*activate_dedicated_process)(struct cxl_afu *afu);
641 void (*debugfs_add_afu_regs)(struct cxl_afu *afu, struct dentry *dir);
682 struct cxl_afu *afu[CXL_MAX_SLICES];
765 static inline bool cxl_adapter_link_ok(struct cxl *cxl, struct cxl_afu *afu) in cxl_adapter_link_ok()
796 static inline void __iomem *_cxl_p1n_addr(struct cxl_afu *afu, cxl_p1n_reg_t reg) in _cxl_p1n_addr()
802 static inline void cxl_p1n_write(struct cxl_afu *afu, cxl_p1n_reg_t reg, u64 val) in cxl_p1n_write()
808 static inline u64 cxl_p1n_read(struct cxl_afu *afu, cxl_p1n_reg_t reg) in cxl_p1n_read()
816 static inline void __iomem *_cxl_p2n_addr(struct cxl_afu *afu, cxl_p2n_reg_t reg) in _cxl_p2n_addr()
821 static inline void cxl_p2n_write(struct cxl_afu *afu, cxl_p2n_reg_t reg, u64 val) in cxl_p2n_write()
827 static inline u64 cxl_p2n_read(struct cxl_afu *afu, cxl_p2n_reg_t reg) in cxl_p2n_read()
851 ssize_t cxl_pci_afu_read_err_buffer(struct cxl_afu *afu, char *buf,
865 void cxl_release_spa(struct cxl_afu *afu);
871 int cxl_register_afu(struct cxl_afu *afu);
872 int cxl_chardev_d_afu_add(struct cxl_afu *afu);
873 int cxl_chardev_m_afu_add(struct cxl_afu *afu);
874 int cxl_chardev_s_afu_add(struct cxl_afu *afu);
875 void cxl_chardev_afu_remove(struct cxl_afu *afu);
877 void cxl_context_detach_all(struct cxl_afu *afu);
883 int cxl_sysfs_afu_add(struct cxl_afu *afu);
884 void cxl_sysfs_afu_remove(struct cxl_afu *afu);
885 int cxl_sysfs_afu_m_add(struct cxl_afu *afu);
886 void cxl_sysfs_afu_m_remove(struct cxl_afu *afu);
889 struct cxl_afu *cxl_alloc_afu(struct cxl *adapter, int slice);
890 int cxl_afu_select_best_mode(struct cxl_afu *afu);
892 int cxl_native_register_psl_irq(struct cxl_afu *afu);
893 void cxl_native_release_psl_irq(struct cxl_afu *afu);
896 int cxl_native_register_serr_irq(struct cxl_afu *afu);
897 void cxl_native_release_serr_irq(struct cxl_afu *afu);
904 int cxl_activate_dedicated_process_psl9(struct cxl_afu *afu);
905 int cxl_activate_dedicated_process_psl8(struct cxl_afu *afu);
917 void cxl_debugfs_afu_add(struct cxl_afu *afu);
918 void cxl_debugfs_afu_remove(struct cxl_afu *afu);
921 void cxl_debugfs_add_afu_regs_psl9(struct cxl_afu *afu, struct dentry *dir);
922 void cxl_debugfs_add_afu_regs_psl8(struct cxl_afu *afu, struct dentry *dir);
942 static inline void cxl_debugfs_afu_add(struct cxl_afu *afu) in cxl_debugfs_afu_add()
946 static inline void cxl_debugfs_afu_remove(struct cxl_afu *afu) in cxl_debugfs_afu_remove()
960 static inline void cxl_debugfs_add_afu_regs_psl9(struct cxl_afu *afu, struct dentry *dir) in cxl_debugfs_add_afu_regs_psl9()
964 static inline void cxl_debugfs_add_afu_regs_psl8(struct cxl_afu *afu, struct dentry *dir) in cxl_debugfs_add_afu_regs_psl8()
981 int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master);
1014 irqreturn_t cxl_fail_irq_psl(struct cxl_afu *afu, struct cxl_irq_info *irq_info);
1019 int cxl_check_error(struct cxl_afu *afu);
1020 int cxl_afu_slbia(struct cxl_afu *afu);
1022 int cxl_afu_disable(struct cxl_afu *afu);
1023 int cxl_psl_purge(struct cxl_afu *afu);
1034 int cxl_pci_vphb_add(struct cxl_afu *afu);
1035 void cxl_pci_vphb_remove(struct cxl_afu *afu);
1055 ssize_t cxl_guest_read_afu_vpd(struct cxl_afu *afu, void *buf, size_t len);
1057 void cxl_guest_remove_afu(struct cxl_afu *afu);
1058 int cxl_of_read_afu_handle(struct cxl_afu *afu, struct device_node *afu_np);
1059 int cxl_of_read_afu_properties(struct cxl_afu *afu, struct device_node *afu_np);
1086 bool (*link_ok)(struct cxl *cxl, struct cxl_afu *afu);
1088 ssize_t (*afu_read_err_buffer)(struct cxl_afu *afu, char *buf,
1090 int (*afu_check_and_enable)(struct cxl_afu *afu);
1091 int (*afu_activate_mode)(struct cxl_afu *afu, int mode);
1092 int (*afu_deactivate_mode)(struct cxl_afu *afu, int mode);
1093 int (*afu_reset)(struct cxl_afu *afu);
1094 int (*afu_cr_read8)(struct cxl_afu *afu, int cr_idx, u64 offset, u8 *val);
1095 int (*afu_cr_read16)(struct cxl_afu *afu, int cr_idx, u64 offset, u16 *val);
1096 int (*afu_cr_read32)(struct cxl_afu *afu, int cr_idx, u64 offset, u32 *val);
1097 int (*afu_cr_read64)(struct cxl_afu *afu, int cr_idx, u64 offset, u64 *val);
1098 int (*afu_cr_write8)(struct cxl_afu *afu, int cr_idx, u64 offset, u8 val);
1099 int (*afu_cr_write16)(struct cxl_afu *afu, int cr_idx, u64 offset, u16 val);
1100 int (*afu_cr_write32)(struct cxl_afu *afu, int cr_idx, u64 offset, u32 val);
1111 void cxl_afu_decode_psl_serr(struct cxl_afu *afu, u64 serr);