/linux-4.1.27/drivers/misc/cxl/ |
D | native.c | 23 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 …]
|
D | pci.c | 92 #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 …]
|
D | trace.h | 65 __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 …]
|
D | irq.c | 27 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 …]
|
D | file.c | 32 #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 …]
|
D | sysfs.c | 131 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 …]
|
D | cxl.h | 406 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 …]
|
D | debugfs.c | 28 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 …]
|
D | context.c | 37 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 …]
|
D | main.c | 49 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 …]
|
D | fault.c | 178 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/ |
D | sysfs-class-cxl | 9 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/ |
D | cxl.txt | 374 dedicated, afuX.Ys for afu directed), since the API is virtually 379 KERNEL=="afu[0-9]*.[0-9]*s", SYMLINK="cxl/%b"
|