Lines Matching refs:afu

541 	struct cxl_afu *afu;
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)
796 static inline void __iomem *_cxl_p1n_addr(struct cxl_afu *afu, cxl_p1n_reg_t reg)
799 return afu->native->p1n_mmio + cxl_reg_off(reg);
802 static inline void cxl_p1n_write(struct cxl_afu *afu, cxl_p1n_reg_t reg, u64 val)
804 if (likely(cxl_adapter_link_ok(afu->adapter, afu)))
805 out_be64(_cxl_p1n_addr(afu, reg), val);
808 static inline u64 cxl_p1n_read(struct cxl_afu *afu, cxl_p1n_reg_t reg)
810 if (likely(cxl_adapter_link_ok(afu->adapter, afu)))
811 return in_be64(_cxl_p1n_addr(afu, reg));
816 static inline void __iomem *_cxl_p2n_addr(struct cxl_afu *afu, cxl_p2n_reg_t reg)
818 return afu->p2n_mmio + cxl_reg_off(reg);
821 static inline void cxl_p2n_write(struct cxl_afu *afu, cxl_p2n_reg_t reg, u64 val)
823 if (likely(cxl_adapter_link_ok(afu->adapter, afu)))
824 out_be64(_cxl_p2n_addr(afu, reg), val);
827 static inline u64 cxl_p2n_read(struct cxl_afu *afu, cxl_p2n_reg_t reg)
829 if (likely(cxl_adapter_link_ok(afu->adapter, afu)))
830 return in_be64(_cxl_p2n_addr(afu, reg));
852 ssize_t cxl_pci_afu_read_err_buffer(struct cxl_afu *afu, char *buf,
866 void cxl_release_spa(struct cxl_afu *afu);
872 int cxl_register_afu(struct cxl_afu *afu);
873 int cxl_chardev_d_afu_add(struct cxl_afu *afu);
874 int cxl_chardev_m_afu_add(struct cxl_afu *afu);
875 int cxl_chardev_s_afu_add(struct cxl_afu *afu);
876 void cxl_chardev_afu_remove(struct cxl_afu *afu);
878 void cxl_context_detach_all(struct cxl_afu *afu);
884 int cxl_sysfs_afu_add(struct cxl_afu *afu);
885 void cxl_sysfs_afu_remove(struct cxl_afu *afu);
886 int cxl_sysfs_afu_m_add(struct cxl_afu *afu);
887 void cxl_sysfs_afu_m_remove(struct cxl_afu *afu);
891 int cxl_afu_select_best_mode(struct cxl_afu *afu);
893 int cxl_native_register_psl_irq(struct cxl_afu *afu);
894 void cxl_native_release_psl_irq(struct cxl_afu *afu);
897 int cxl_native_register_serr_irq(struct cxl_afu *afu);
898 void cxl_native_release_serr_irq(struct cxl_afu *afu);
905 int cxl_activate_dedicated_process_psl9(struct cxl_afu *afu);
906 int cxl_activate_dedicated_process_psl8(struct cxl_afu *afu);
918 void cxl_debugfs_afu_add(struct cxl_afu *afu);
919 void cxl_debugfs_afu_remove(struct cxl_afu *afu);
922 void cxl_debugfs_add_afu_regs_psl9(struct cxl_afu *afu, struct dentry *dir);
923 void cxl_debugfs_add_afu_regs_psl8(struct cxl_afu *afu, struct dentry *dir);
943 static inline void cxl_debugfs_afu_add(struct cxl_afu *afu)
947 static inline void cxl_debugfs_afu_remove(struct cxl_afu *afu)
961 static inline void cxl_debugfs_add_afu_regs_psl9(struct cxl_afu *afu, struct dentry *dir)
965 static inline void cxl_debugfs_add_afu_regs_psl8(struct cxl_afu *afu, struct dentry *dir)
982 int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master);
1015 irqreturn_t cxl_fail_irq_psl(struct cxl_afu *afu, struct cxl_irq_info *irq_info);
1020 int cxl_check_error(struct cxl_afu *afu);
1021 int cxl_afu_slbia(struct cxl_afu *afu);
1023 int cxl_afu_disable(struct cxl_afu *afu);
1024 int cxl_psl_purge(struct cxl_afu *afu);
1035 int cxl_pci_vphb_add(struct cxl_afu *afu);
1036 void cxl_pci_vphb_remove(struct cxl_afu *afu);
1056 ssize_t cxl_guest_read_afu_vpd(struct cxl_afu *afu, void *buf, size_t len);
1058 void cxl_guest_remove_afu(struct cxl_afu *afu);
1059 int cxl_of_read_afu_handle(struct cxl_afu *afu, struct device_node *afu_np);
1060 int cxl_of_read_afu_properties(struct cxl_afu *afu, struct device_node *afu_np);
1087 bool (*link_ok)(struct cxl *cxl, struct cxl_afu *afu);
1089 ssize_t (*afu_read_err_buffer)(struct cxl_afu *afu, char *buf,
1091 int (*afu_check_and_enable)(struct cxl_afu *afu);
1092 int (*afu_activate_mode)(struct cxl_afu *afu, int mode);
1093 int (*afu_deactivate_mode)(struct cxl_afu *afu, int mode);
1094 int (*afu_reset)(struct cxl_afu *afu);
1095 int (*afu_cr_read8)(struct cxl_afu *afu, int cr_idx, u64 offset, u8 *val);
1096 int (*afu_cr_read16)(struct cxl_afu *afu, int cr_idx, u64 offset, u16 *val);
1097 int (*afu_cr_read32)(struct cxl_afu *afu, int cr_idx, u64 offset, u32 *val);
1098 int (*afu_cr_read64)(struct cxl_afu *afu, int cr_idx, u64 offset, u64 *val);
1099 int (*afu_cr_write8)(struct cxl_afu *afu, int cr_idx, u64 offset, u8 val);
1100 int (*afu_cr_write16)(struct cxl_afu *afu, int cr_idx, u64 offset, u16 val);
1101 int (*afu_cr_write32)(struct cxl_afu *afu, int cr_idx, u64 offset, u32 val);
1112 void cxl_afu_decode_psl_serr(struct cxl_afu *afu, u64 serr);