Home
last modified time | relevance | path

Searched refs:afu (Results 1 – 13 of 13) sorted by relevance

/linux-4.1.27/drivers/misc/cxl/
Dnative.c23 static int afu_control(struct cxl_afu *afu, u64 command, in afu_control() argument
26 u64 AFU_Cntl = cxl_p2n_read(afu, CXL_AFU_Cntl_An); in afu_control()
30 spin_lock(&afu->afu_cntl_lock); in afu_control()
33 trace_cxl_afu_ctrl(afu, command); in afu_control()
35 cxl_p2n_write(afu, CXL_AFU_Cntl_An, AFU_Cntl | command); in afu_control()
37 AFU_Cntl = cxl_p2n_read(afu, CXL_AFU_Cntl_An); in afu_control()
40 dev_warn(&afu->dev, "WARNING: AFU control timed out!\n"); in afu_control()
47 AFU_Cntl = cxl_p2n_read(afu, CXL_AFU_Cntl_An); in afu_control()
50 afu->enabled = enabled; in afu_control()
52 trace_cxl_afu_ctrl_done(afu, command, rc); in afu_control()
[all …]
Dpci.c92 #define AFUD_READ(afu, off) in_be64(afu->afu_desc_mmio + off) argument
96 #define AFUD_READ_INFO(afu) AFUD_READ(afu, 0x0) argument
105 #define AFUD_READ_CR(afu) AFUD_READ(afu, 0x20) argument
107 #define AFUD_READ_CR_OFF(afu) AFUD_READ(afu, 0x28) argument
108 #define AFUD_READ_PPPSA(afu) AFUD_READ(afu, 0x30) argument
112 #define AFUD_READ_PPPSA_OFF(afu) AFUD_READ(afu, 0x38) argument
113 #define AFUD_READ_EB(afu) AFUD_READ(afu, 0x40) argument
115 #define AFUD_READ_EB_OFF(afu) AFUD_READ(afu, 0x48) argument
117 u16 cxl_afu_cr_read16(struct cxl_afu *afu, int cr, u64 off) in cxl_afu_cr_read16() argument
122 val = cxl_afu_cr_read32(afu, cr, aligned_off); in cxl_afu_cr_read16()
[all …]
Dtrace.h65 __field(u8, afu)
70 __entry->card = ctx->afu->adapter->adapter_num;
71 __entry->afu = ctx->afu->slice;
77 __entry->afu,
90 __field(u8, afu)
99 __entry->card = ctx->afu->adapter->adapter_num;
100 __entry->afu = ctx->afu->slice;
110 __entry->afu,
131 __field(u8, afu)
139 __entry->card = ctx->afu->adapter->adapter_num;
[all …]
Dirq.c27 fir1 = cxl_p1_read(ctx->afu->adapter, CXL_PSL_FIR1); in handle_psl_slice_error()
28 fir2 = cxl_p1_read(ctx->afu->adapter, CXL_PSL_FIR2); in handle_psl_slice_error()
29 fir_slice = cxl_p1n_read(ctx->afu, CXL_PSL_FIR_SLICE_An); in handle_psl_slice_error()
30 serr = cxl_p1n_read(ctx->afu, CXL_PSL_SERR_An); in handle_psl_slice_error()
31 afu_debug = cxl_p1n_read(ctx->afu, CXL_AFU_DEBUG_An); in handle_psl_slice_error()
33 dev_crit(&ctx->afu->dev, "PSL ERROR STATUS: 0x%.16llx\n", errstat); in handle_psl_slice_error()
34 dev_crit(&ctx->afu->dev, "PSL_FIR1: 0x%.16llx\n", fir1); in handle_psl_slice_error()
35 dev_crit(&ctx->afu->dev, "PSL_FIR2: 0x%.16llx\n", fir2); in handle_psl_slice_error()
36 dev_crit(&ctx->afu->dev, "PSL_SERR_An: 0x%.16llx\n", serr); in handle_psl_slice_error()
37 dev_crit(&ctx->afu->dev, "PSL_FIR_SLICE_An: 0x%.16llx\n", fir_slice); in handle_psl_slice_error()
[all …]
Dfile.c32 #define CXL_AFU_MINOR_D(afu) (CXL_CARD_MINOR(afu->adapter) + 1 + (3 * afu->slice)) argument
33 #define CXL_AFU_MINOR_M(afu) (CXL_AFU_MINOR_D(afu) + 1) argument
34 #define CXL_AFU_MINOR_S(afu) (CXL_AFU_MINOR_D(afu) + 2) argument
35 #define CXL_AFU_MKDEV_D(afu) MKDEV(MAJOR(cxl_dev), CXL_AFU_MINOR_D(afu)) argument
36 #define CXL_AFU_MKDEV_M(afu) MKDEV(MAJOR(cxl_dev), CXL_AFU_MINOR_M(afu)) argument
37 #define CXL_AFU_MKDEV_S(afu) MKDEV(MAJOR(cxl_dev), CXL_AFU_MINOR_S(afu)) argument
51 struct cxl_afu *afu; in __afu_open() local
66 if (!(afu = adapter->afu[slice])) { in __afu_open()
70 get_device(&afu->dev); in __afu_open()
73 if (!afu->current_mode) in __afu_open()
[all …]
Dsysfs.c131 struct cxl_afu *afu = to_afu_chardev_m(device); in mmio_size_show_master() local
133 return scnprintf(buf, PAGE_SIZE, "%llu\n", afu->adapter->ps_size); in mmio_size_show_master()
140 struct cxl_afu *afu = to_afu_chardev_m(device); in pp_mmio_off_show() local
142 return scnprintf(buf, PAGE_SIZE, "%llu\n", afu->pp_offset); in pp_mmio_off_show()
149 struct cxl_afu *afu = to_afu_chardev_m(device); in pp_mmio_len_show() local
151 return scnprintf(buf, PAGE_SIZE, "%llu\n", afu->pp_size); in pp_mmio_len_show()
167 struct cxl_afu *afu = to_cxl_afu(device); in mmio_size_show() local
169 if (afu->pp_size) in mmio_size_show()
170 return scnprintf(buf, PAGE_SIZE, "%llu\n", afu->pp_size); in mmio_size_show()
171 return scnprintf(buf, PAGE_SIZE, "%llu\n", afu->adapter->ps_size); in mmio_size_show()
[all …]
Dcxl.h406 struct cxl_afu *afu; member
466 struct cxl_afu *afu[CXL_MAX_SLICES]; member
537 static inline void __iomem *_cxl_p1n_addr(struct cxl_afu *afu, cxl_p1n_reg_t reg) in _cxl_p1n_addr() argument
540 return afu->p1n_mmio + cxl_reg_off(reg); in _cxl_p1n_addr()
543 #define cxl_p1n_write(afu, reg, val) \ argument
544 out_be64(_cxl_p1n_addr(afu, reg), val)
545 #define cxl_p1n_read(afu, reg) \ argument
546 in_be64(_cxl_p1n_addr(afu, reg))
548 static inline void __iomem *_cxl_p2n_addr(struct cxl_afu *afu, cxl_p2n_reg_t reg) in _cxl_p2n_addr() argument
550 return afu->p2n_mmio + cxl_reg_off(reg); in _cxl_p2n_addr()
[all …]
Ddebugfs.c28 if (adapter->afu[slice]) in cxl_stop_trace()
29 cxl_p1n_write(adapter->afu[slice], CXL_PSL_SLICE_TRACE, 0x8000000000000000LL); in cxl_stop_trace()
83 int cxl_debugfs_afu_add(struct cxl_afu *afu) in cxl_debugfs_afu_add() argument
88 if (!afu->adapter->debugfs) in cxl_debugfs_afu_add()
91 snprintf(buf, 32, "psl%i.%i", afu->adapter->adapter_num, afu->slice); in cxl_debugfs_afu_add()
92 dir = debugfs_create_dir(buf, afu->adapter->debugfs); in cxl_debugfs_afu_add()
95 afu->debugfs = dir; in cxl_debugfs_afu_add()
97 debugfs_create_io_x64("fir", S_IRUSR, dir, _cxl_p1n_addr(afu, CXL_PSL_FIR_SLICE_An)); in cxl_debugfs_afu_add()
98 debugfs_create_io_x64("serr", S_IRUSR, dir, _cxl_p1n_addr(afu, CXL_PSL_SERR_An)); in cxl_debugfs_afu_add()
99 debugfs_create_io_x64("afu_debug", S_IRUSR, dir, _cxl_p1n_addr(afu, CXL_AFU_DEBUG_An)); in cxl_debugfs_afu_add()
[all …]
Dcontext.c37 int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master, in cxl_context_init() argument
43 ctx->afu = afu; in cxl_context_init()
88 mutex_lock(&afu->contexts_lock); in cxl_context_init()
90 i = idr_alloc(&ctx->afu->contexts_idr, ctx, 0, in cxl_context_init()
91 ctx->afu->num_procs, GFP_NOWAIT); in cxl_context_init()
93 mutex_unlock(&afu->contexts_lock); in cxl_context_init()
98 ctx->elem = &ctx->afu->spa[i]; in cxl_context_init()
114 if (ctx->afu->current_mode == CXL_MODE_DEDICATED) { in cxl_mmap_fault()
115 area = ctx->afu->psn_phys; in cxl_mmap_fault()
116 if (offset >= ctx->afu->adapter->ps_size) in cxl_mmap_fault()
[all …]
Dmain.c49 ctx->afu->adapter->adapter_num, ctx->afu->slice, ctx->pe); in _cxl_slbia()
56 cxl_afu_slbia(ctx->afu); in _cxl_slbia()
64 struct cxl_afu *afu; in cxl_slbia_core() local
75 afu = adapter->afu[slice]; in cxl_slbia_core()
76 if (!afu || !afu->enabled) in cxl_slbia_core()
79 idr_for_each_entry(&afu->contexts_idr, ctx, id) in cxl_slbia_core()
177 int cxl_afu_select_best_mode(struct cxl_afu *afu) in cxl_afu_select_best_mode() argument
179 if (afu->modes_supported & CXL_MODE_DIRECTED) in cxl_afu_select_best_mode()
180 return cxl_afu_activate_mode(afu, CXL_MODE_DIRECTED); in cxl_afu_select_best_mode()
182 if (afu->modes_supported & CXL_MODE_DEDICATED) in cxl_afu_select_best_mode()
[all …]
Dfault.c178 if (cxl_p2n_read(ctx->afu, CXL_PSL_DSISR_An) != dsisr || in cxl_handle_fault()
179 cxl_p2n_read(ctx->afu, CXL_PSL_DAR_An) != dar || in cxl_handle_fault()
180 cxl_p2n_read(ctx->afu, CXL_PSL_PEHandle_An) != ctx->pe) { in cxl_handle_fault()
184 dev_notice(&ctx->afu->dev, "cxl_handle_fault: Translation fault regs changed\n"); in cxl_handle_fault()
300 switch (ctx->afu->prefault_mode) { in cxl_prefault()
/linux-4.1.27/Documentation/ABI/testing/
Dsysfs-class-cxl9 What: /sys/class/cxl/<afu>/irqs_max
19 What: /sys/class/cxl/<afu>/irqs_min
28 What: /sys/class/cxl/<afu>/mmio_size
35 What: /sys/class/cxl/<afu>/modes_supported
42 What: /sys/class/cxl/<afu>/mode
51 What: /sys/class/cxl/<afu>/prefault_mode
63 What: /sys/class/cxl/<afu>/reset
70 What: /sys/class/cxl/<afu>/api_version
76 What: /sys/class/cxl/<afu>/api_version_compatible
89 What: /sys/class/cxl/<afu>/cr<config num>/vendor
[all …]
/linux-4.1.27/Documentation/powerpc/
Dcxl.txt374 dedicated, afuX.Ys for afu directed), since the API is virtually
379 KERNEL=="afu[0-9]*.[0-9]*s", SYMLINK="cxl/%b"