Lines Matching refs:afu

417 	struct cxl_afu *afu;  member
482 struct cxl_afu *afu[CXL_MAX_SLICES]; member
571 static inline void __iomem *_cxl_p1n_addr(struct cxl_afu *afu, cxl_p1n_reg_t reg) in _cxl_p1n_addr() argument
574 return afu->p1n_mmio + cxl_reg_off(reg); in _cxl_p1n_addr()
577 static inline void cxl_p1n_write(struct cxl_afu *afu, cxl_p1n_reg_t reg, u64 val) in cxl_p1n_write() argument
579 if (likely(cxl_adapter_link_ok(afu->adapter))) in cxl_p1n_write()
580 out_be64(_cxl_p1n_addr(afu, reg), val); in cxl_p1n_write()
583 static inline u64 cxl_p1n_read(struct cxl_afu *afu, cxl_p1n_reg_t reg) in cxl_p1n_read() argument
585 if (likely(cxl_adapter_link_ok(afu->adapter))) in cxl_p1n_read()
586 return in_be64(_cxl_p1n_addr(afu, reg)); in cxl_p1n_read()
591 static inline void __iomem *_cxl_p2n_addr(struct cxl_afu *afu, cxl_p2n_reg_t reg) in _cxl_p2n_addr() argument
593 return afu->p2n_mmio + cxl_reg_off(reg); in _cxl_p2n_addr()
596 static inline void cxl_p2n_write(struct cxl_afu *afu, cxl_p2n_reg_t reg, u64 val) in cxl_p2n_write() argument
598 if (likely(cxl_adapter_link_ok(afu->adapter))) in cxl_p2n_write()
599 out_be64(_cxl_p2n_addr(afu, reg), val); in cxl_p2n_write()
602 static inline u64 cxl_p2n_read(struct cxl_afu *afu, cxl_p2n_reg_t reg) in cxl_p2n_read() argument
604 if (likely(cxl_adapter_link_ok(afu->adapter))) in cxl_p2n_read()
605 return in_be64(_cxl_p2n_addr(afu, reg)); in cxl_p2n_read()
610 static inline u64 cxl_afu_cr_read64(struct cxl_afu *afu, int cr, u64 off) in cxl_afu_cr_read64() argument
612 if (likely(cxl_adapter_link_ok(afu->adapter))) in cxl_afu_cr_read64()
613 return in_le64((afu)->afu_desc_mmio + (afu)->crs_offset + in cxl_afu_cr_read64()
614 ((cr) * (afu)->crs_len) + (off)); in cxl_afu_cr_read64()
619 static inline u32 cxl_afu_cr_read32(struct cxl_afu *afu, int cr, u64 off) in cxl_afu_cr_read32() argument
621 if (likely(cxl_adapter_link_ok(afu->adapter))) in cxl_afu_cr_read32()
622 return in_le32((afu)->afu_desc_mmio + (afu)->crs_offset + in cxl_afu_cr_read32()
623 ((cr) * (afu)->crs_len) + (off)); in cxl_afu_cr_read32()
627 u16 cxl_afu_cr_read16(struct cxl_afu *afu, int cr, u64 off);
628 u8 cxl_afu_cr_read8(struct cxl_afu *afu, int cr, u64 off);
630 ssize_t cxl_afu_read_err_buffer(struct cxl_afu *afu, char *buf,
644 int cxl_alloc_spa(struct cxl_afu *afu);
645 void cxl_release_spa(struct cxl_afu *afu);
650 int cxl_register_afu(struct cxl_afu *afu);
651 int cxl_chardev_d_afu_add(struct cxl_afu *afu);
652 int cxl_chardev_m_afu_add(struct cxl_afu *afu);
653 int cxl_chardev_s_afu_add(struct cxl_afu *afu);
654 void cxl_chardev_afu_remove(struct cxl_afu *afu);
656 void cxl_context_detach_all(struct cxl_afu *afu);
662 int cxl_sysfs_afu_add(struct cxl_afu *afu);
663 void cxl_sysfs_afu_remove(struct cxl_afu *afu);
664 int cxl_sysfs_afu_m_add(struct cxl_afu *afu);
665 void cxl_sysfs_afu_m_remove(struct cxl_afu *afu);
667 int cxl_afu_activate_mode(struct cxl_afu *afu, int mode);
668 int _cxl_afu_deactivate_mode(struct cxl_afu *afu, int mode);
669 int cxl_afu_deactivate_mode(struct cxl_afu *afu);
670 int cxl_afu_select_best_mode(struct cxl_afu *afu);
672 int cxl_register_psl_irq(struct cxl_afu *afu);
673 void cxl_release_psl_irq(struct cxl_afu *afu);
676 int cxl_register_serr_irq(struct cxl_afu *afu);
677 void cxl_release_serr_irq(struct cxl_afu *afu);
687 int cxl_debugfs_afu_add(struct cxl_afu *afu);
688 void cxl_debugfs_afu_remove(struct cxl_afu *afu);
699 int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master,
725 int cxl_get_irq(struct cxl_afu *afu, struct cxl_irq_info *info);
728 int cxl_check_error(struct cxl_afu *afu);
729 int cxl_afu_slbia(struct cxl_afu *afu);
731 int cxl_afu_disable(struct cxl_afu *afu);
732 int __cxl_afu_reset(struct cxl_afu *afu);
733 int cxl_afu_check_and_enable(struct cxl_afu *afu);
734 int cxl_psl_purge(struct cxl_afu *afu);
737 int cxl_pci_vphb_add(struct cxl_afu *afu);
738 void cxl_pci_vphb_reconfigure(struct cxl_afu *afu);
739 void cxl_pci_vphb_remove(struct cxl_afu *afu);