Lines Matching defs:cxl_afu
442 #define to_cxl_afu(d) container_of(d, struct cxl_afu, dev)
465 struct cxl_afu *parent;
475 struct cxl_afu {
539 struct cxl_afu *afu;
628 int (*afu_regs_init)(struct cxl_afu *afu);
629 int (*sanitise_afu_regs)(struct cxl_afu *afu);
630 int (*register_serr_irq)(struct cxl_afu *afu);
631 void (*release_serr_irq)(struct cxl_afu *afu);
633 irqreturn_t (*fail_irq)(struct cxl_afu *afu, struct cxl_irq_info *irq_info);
634 int (*activate_dedicated_process)(struct cxl_afu *afu);
639 void (*debugfs_add_afu_regs)(struct cxl_afu *afu, struct dentry *dir);
680 struct cxl_afu *afu[CXL_MAX_SLICES];
763 static inline bool cxl_adapter_link_ok(struct cxl *cxl, struct cxl_afu *afu)
794 static inline void __iomem *_cxl_p1n_addr(struct cxl_afu *afu, cxl_p1n_reg_t reg)
800 static inline void cxl_p1n_write(struct cxl_afu *afu, cxl_p1n_reg_t reg, u64 val)
806 static inline u64 cxl_p1n_read(struct cxl_afu *afu, cxl_p1n_reg_t reg)
814 static inline void __iomem *_cxl_p2n_addr(struct cxl_afu *afu, cxl_p2n_reg_t reg)
819 static inline void cxl_p2n_write(struct cxl_afu *afu, cxl_p2n_reg_t reg, u64 val)
825 static inline u64 cxl_p2n_read(struct cxl_afu *afu, cxl_p2n_reg_t reg)
849 ssize_t cxl_pci_afu_read_err_buffer(struct cxl_afu *afu, char *buf,
863 void cxl_release_spa(struct cxl_afu *afu);
869 int cxl_register_afu(struct cxl_afu *afu);
870 int cxl_chardev_d_afu_add(struct cxl_afu *afu);
871 int cxl_chardev_m_afu_add(struct cxl_afu *afu);
872 int cxl_chardev_s_afu_add(struct cxl_afu *afu);
873 void cxl_chardev_afu_remove(struct cxl_afu *afu);
875 void cxl_context_detach_all(struct cxl_afu *afu);
881 int cxl_sysfs_afu_add(struct cxl_afu *afu);
882 void cxl_sysfs_afu_remove(struct cxl_afu *afu);
883 int cxl_sysfs_afu_m_add(struct cxl_afu *afu);
884 void cxl_sysfs_afu_m_remove(struct cxl_afu *afu);
887 struct cxl_afu *cxl_alloc_afu(struct cxl *adapter, int slice);
888 int cxl_afu_select_best_mode(struct cxl_afu *afu);
890 int cxl_native_register_psl_irq(struct cxl_afu *afu);
891 void cxl_native_release_psl_irq(struct cxl_afu *afu);
894 int cxl_native_register_serr_irq(struct cxl_afu *afu);
895 void cxl_native_release_serr_irq(struct cxl_afu *afu);
902 int cxl_activate_dedicated_process_psl9(struct cxl_afu *afu);
903 int cxl_activate_dedicated_process_psl8(struct cxl_afu *afu);
915 void cxl_debugfs_afu_add(struct cxl_afu *afu);
916 void cxl_debugfs_afu_remove(struct cxl_afu *afu);
919 void cxl_debugfs_add_afu_regs_psl9(struct cxl_afu *afu, struct dentry *dir);
920 void cxl_debugfs_add_afu_regs_psl8(struct cxl_afu *afu, struct dentry *dir);
940 static inline void cxl_debugfs_afu_add(struct cxl_afu *afu)
944 static inline void cxl_debugfs_afu_remove(struct cxl_afu *afu)
958 static inline void cxl_debugfs_add_afu_regs_psl9(struct cxl_afu *afu, struct dentry *dir)
962 static inline void cxl_debugfs_add_afu_regs_psl8(struct cxl_afu *afu, struct dentry *dir)
979 int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master);
1012 irqreturn_t cxl_fail_irq_psl(struct cxl_afu *afu, struct cxl_irq_info *irq_info);
1017 int cxl_check_error(struct cxl_afu *afu);
1018 int cxl_afu_slbia(struct cxl_afu *afu);
1020 int cxl_afu_disable(struct cxl_afu *afu);
1021 int cxl_psl_purge(struct cxl_afu *afu);
1032 int cxl_pci_vphb_add(struct cxl_afu *afu);
1033 void cxl_pci_vphb_remove(struct cxl_afu *afu);
1053 ssize_t cxl_guest_read_afu_vpd(struct cxl_afu *afu, void *buf, size_t len);
1055 void cxl_guest_remove_afu(struct cxl_afu *afu);
1056 int cxl_of_read_afu_handle(struct cxl_afu *afu, struct device_node *afu_np);
1057 int cxl_of_read_afu_properties(struct cxl_afu *afu, struct device_node *afu_np);
1084 bool (*link_ok)(struct cxl *cxl, struct cxl_afu *afu);
1086 ssize_t (*afu_read_err_buffer)(struct cxl_afu *afu, char *buf,
1088 int (*afu_check_and_enable)(struct cxl_afu *afu);
1089 int (*afu_activate_mode)(struct cxl_afu *afu, int mode);
1090 int (*afu_deactivate_mode)(struct cxl_afu *afu, int mode);
1091 int (*afu_reset)(struct cxl_afu *afu);
1092 int (*afu_cr_read8)(struct cxl_afu *afu, int cr_idx, u64 offset, u8 *val);
1093 int (*afu_cr_read16)(struct cxl_afu *afu, int cr_idx, u64 offset, u16 *val);
1094 int (*afu_cr_read32)(struct cxl_afu *afu, int cr_idx, u64 offset, u32 *val);
1095 int (*afu_cr_read64)(struct cxl_afu *afu, int cr_idx, u64 offset, u64 *val);
1096 int (*afu_cr_write8)(struct cxl_afu *afu, int cr_idx, u64 offset, u8 val);
1097 int (*afu_cr_write16)(struct cxl_afu *afu, int cr_idx, u64 offset, u16 val);
1098 int (*afu_cr_write32)(struct cxl_afu *afu, int cr_idx, u64 offset, u32 val);
1109 void cxl_afu_decode_psl_serr(struct cxl_afu *afu, u64 serr);