/linux-6.3-rc2/drivers/misc/cxl/ |
A D | native.c | 45 if (!cxl_ops->link_ok(afu->adapter, afu)) { in afu_control() 122 if (!cxl_ops->link_ok(afu->adapter, afu)) { in native_afu_check_and_enable() 150 if (!cxl_ops->link_ok(afu->adapter, afu)) { in cxl_psl_purge() 172 if (!cxl_ops->link_ok(afu->adapter, afu)) { in cxl_psl_purge() 251 1<<afu->native->spa_order, afu->native->spa_max_procs, afu->num_procs); in cxl_alloc_spa() 891 struct cxl_afu *afu = ctx->afu; in cxl_update_dedicated_ivtes_psl8() local 907 struct cxl_afu *afu = ctx->afu; in cxl_attach_dedicated_process_psl9() local 935 struct cxl_afu *afu = ctx->afu; in cxl_attach_dedicated_process_psl8() local 1090 if (!cxl_ops->link_ok(afu->adapter, afu)) in native_get_irq_info() 1401 cxl_unmap_irq(afu->serr_virq, afu); in cxl_native_release_serr_irq() [all …]
|
A D | guest.c | 183 if (!afu) in afu_read_error_state() 274 if ((afu = adapter->afu[i])) { in guest_reset() 283 if (!rc && (afu = adapter->afu[i])) { in guest_reset() 362 if (!(afu->serr_virq = cxl_map_irq(afu->adapter, afu->serr_hwirq, in guest_register_serr_irq() 374 cxl_unmap_irq(afu->serr_virq, afu); in guest_release_serr_irq() 743 afu->num_procs = afu->max_procs_virtualised; in activate_afu_directed() 813 if (!(afu->p2n_mmio = ioremap(afu->guest->p2n_phys, afu->guest->p2n_size))) { in guest_map_slice_regs() 989 adapter->afu[afu->slice] = afu; in cxl_guest_init_afu() 997 afu->guest->parent = afu; in cxl_guest_init_afu() 1027 if (!afu) in cxl_guest_remove_afu() [all …]
|
A D | pci.c | 872 afu->eb_offset = AFUD_READ_EB_OFF(afu); in cxl_read_afu_descriptor() 894 (afu->native->pp_offset + afu->pp_size*afu->max_procs_virtualised)) { in cxl_afu_descriptor_looks_ok() 1173 adapter->afu[afu->slice] = afu; in pci_init_afu() 1208 afu->adapter->afu[afu->slice] = NULL; in cxl_pci_remove_afu() 1793 afu = adapter->afu[i]; in cxl_remove() 1811 if (afu == NULL || afu->phb == NULL) in cxl_vphb_error_detected() 1854 afu = adapter->afu[i]; in cxl_pci_error_detected() 1948 afu = adapter->afu[i]; in cxl_pci_error_detected() 2002 afu = adapter->afu[i]; in cxl_pci_slot_reset() 2085 afu = adapter->afu[i]; in cxl_pci_resume() [all …]
|
A D | vphb.c | 31 struct cxl_afu *afu; in cxl_pci_enable_device_hook() local 37 if (!cxl_ops->link_ok(afu->adapter, afu)) { in cxl_pci_enable_device_hook() 114 struct cxl_afu *afu; in cxl_pcie_read_config() local 121 if (afu == NULL || !cxl_afu_configured_get(afu)) in cxl_pcie_read_config() 154 struct cxl_afu *afu; in cxl_pcie_write_config() local 158 if (afu == NULL || !cxl_afu_configured_get(afu)) in cxl_pcie_write_config() 216 if (!afu->crs_num) in cxl_pci_vphb_add() 263 afu->phb = phb; in cxl_pci_vphb_add() 273 if (!afu || !afu->phb) in cxl_pci_vphb_remove() 276 phb = afu->phb; in cxl_pci_vphb_remove() [all …]
|
A D | file.c | 28 #define CXL_AFU_MINOR_D(afu) (CXL_CARD_MINOR(afu->adapter) + 1 + (3 * afu->slice)) argument 29 #define CXL_AFU_MINOR_M(afu) (CXL_AFU_MINOR_D(afu) + 1) argument 30 #define CXL_AFU_MINOR_S(afu) (CXL_AFU_MINOR_D(afu) + 2) argument 61 if (!(afu = adapter->afu[slice])) { in __afu_open() 317 if (!cxl_ops->link_ok(ctx->afu->adapter, ctx->afu)) in afu_ioctl() 347 if (!cxl_ops->link_ok(ctx->afu->adapter, ctx->afu)) in afu_mmap() 434 if (!cxl_ops->link_ok(ctx->afu->adapter, ctx->afu)) in afu_read() 578 dev = device_create(cxl_class, &afu->dev, devt, afu, in cxl_add_chardev() 596 return cxl_add_chardev(afu, CXL_AFU_MKDEV_D(afu), &afu->afu_cdev_d, in cxl_chardev_d_afu_add() 603 return cxl_add_chardev(afu, CXL_AFU_MKDEV_M(afu), &afu->afu_cdev_m, in cxl_chardev_m_afu_add() [all …]
|
A D | sysfs.c | 242 if (afu->pp_size) in mmio_size_show() 312 afu->irqs_max = irqs_max; in irqs_max_store() 416 afu->current_mode = 0; in mode_store() 417 afu->num_procs = 0; in mode_store() 656 if (afu->eb_len) in cxl_sysfs_afu_remove() 657 device_remove_bin_file(&afu->dev, &afu->attr_eb); in cxl_sysfs_afu_remove() 690 if (afu->eb_len) { in cxl_sysfs_afu_add() 695 afu->attr_eb.size = afu->eb_len; in cxl_sysfs_afu_add() 698 rc = device_create_bin_file(&afu->dev, &afu->attr_eb); in cxl_sysfs_afu_add() 700 dev_err(&afu->dev, in cxl_sysfs_afu_add() [all …]
|
A D | trace.h | 76 __entry->afu = ctx->afu->slice; 105 __entry->afu = ctx->afu->slice; 145 __entry->afu = ctx->afu->slice; 178 __entry->afu = ctx->afu->slice; 212 __entry->afu = ctx->afu->slice; 243 __entry->afu = ctx->afu->slice; 270 __entry->afu = ctx->afu->slice; 299 __entry->afu = ctx->afu->slice; 331 __entry->afu = ctx->afu->slice; 416 __entry->afu = afu->slice; [all …]
|
A D | of.c | 172 afu->psa = false; in cxl_of_read_afu_properties() 174 afu->psa = true; in cxl_of_read_afu_properties() 191 afu->irqs_max = afu->guest->max_ints; in cxl_of_read_afu_properties() 199 afu->pp_irqs--; in cxl_of_read_afu_properties() 208 afu->eb_offset = 0; in cxl_of_read_afu_properties() 271 afu->guest->p2n_phys, afu->guest->p2n_size); in cxl_of_read_afu_properties() 273 afu->psn_phys, afu->adapter->ps_size); in cxl_of_read_afu_properties() 277 afu->irqs_max); in cxl_of_read_afu_properties() 437 int afu; in cxl_of_remove() local 440 for (afu = 0; afu < adapter->slices; afu++) in cxl_of_remove() [all …]
|
A D | debugfs.c | 80 void cxl_debugfs_add_afu_regs_psl9(struct cxl_afu *afu, struct dentry *dir) in cxl_debugfs_add_afu_regs_psl9() argument 85 void cxl_debugfs_add_afu_regs_psl8(struct cxl_afu *afu, struct dentry *dir) in cxl_debugfs_add_afu_regs_psl8() argument 96 void cxl_debugfs_afu_add(struct cxl_afu *afu) in cxl_debugfs_afu_add() argument 101 if (!afu->adapter->debugfs) in cxl_debugfs_afu_add() 104 snprintf(buf, 32, "psl%i.%i", afu->adapter->adapter_num, afu->slice); in cxl_debugfs_afu_add() 105 dir = debugfs_create_dir(buf, afu->adapter->debugfs); in cxl_debugfs_afu_add() 106 afu->debugfs = dir; in cxl_debugfs_afu_add() 114 if (afu->adapter->native->sl_ops->debugfs_add_afu_regs) in cxl_debugfs_afu_add() 115 afu->adapter->native->sl_ops->debugfs_add_afu_regs(afu, dir); in cxl_debugfs_afu_add() 118 void cxl_debugfs_afu_remove(struct cxl_afu *afu) in cxl_debugfs_afu_remove() argument [all …]
|
A D | main.c | 51 if (!cxl_ops->link_ok(afu->adapter, afu)) in cxl_afu_slbia() 66 ctx->afu->adapter->adapter_num, ctx->afu->slice, ctx->pe); in _cxl_slbia() 73 cxl_afu_slbia(ctx->afu); in _cxl_slbia() 79 struct cxl_afu *afu; in cxl_slbia_core() local 90 afu = adapter->afu[slice]; in cxl_slbia_core() 91 if (!afu || !afu->enabled) in cxl_slbia_core() 246 struct cxl_afu *afu; in cxl_alloc_afu() local 251 afu->adapter = adapter; in cxl_alloc_afu() 254 afu->slice = slice; in cxl_alloc_afu() 260 afu->irqs_max = afu->adapter->user_irqs; in cxl_alloc_afu() [all …]
|
A D | cxl.h | 541 struct cxl_afu *afu; member 682 struct cxl_afu *afu[CXL_MAX_SLICES]; member 804 if (likely(cxl_adapter_link_ok(afu->adapter, afu))) in cxl_p1n_write() 805 out_be64(_cxl_p1n_addr(afu, reg), val); in cxl_p1n_write() 810 if (likely(cxl_adapter_link_ok(afu->adapter, afu))) in cxl_p1n_read() 818 return afu->p2n_mmio + cxl_reg_off(reg); in _cxl_p2n_addr() 823 if (likely(cxl_adapter_link_ok(afu->adapter, afu))) in cxl_p2n_write() 829 if (likely(cxl_adapter_link_ok(afu->adapter, afu))) in cxl_p2n_read() 1020 int cxl_afu_slbia(struct cxl_afu *afu); 1023 int cxl_psl_purge(struct cxl_afu *afu); [all …]
|
A D | context.c | 39 ctx->afu = afu; in cxl_context_init() 92 mutex_lock(&afu->contexts_lock); in cxl_context_init() 97 mutex_unlock(&afu->contexts_lock); in cxl_context_init() 114 cxl_afu_get(afu); in cxl_context_init() 139 area = ctx->afu->psn_phys; in cxl_mmap_fault() 202 if (!ctx->afu->enabled) in cxl_context_iomap() 210 if ((ctx->master && !ctx->afu->psa) || (!ctx->afu->pp_psa)) { in cxl_context_iomap() 216 if (!ctx->afu->enabled) in cxl_context_iomap() 249 cxl_ops->link_ok(ctx->afu->adapter, ctx->afu)); in __detach_context() 302 mutex_lock(&afu->contexts_lock); in cxl_context_detach_all() [all …]
|
A D | api.c | 103 struct cxl_afu *afu; in cxl_dev_context_init() local 107 afu = cxl_pci_to_afu(dev); in cxl_dev_context_init() 108 if (IS_ERR(afu)) in cxl_dev_context_init() 109 return ERR_CAST(afu); in cxl_dev_context_init() 118 rc = cxl_context_init(ctx, afu, false); in cxl_dev_context_init() 189 num = ctx->afu->pp_irqs; in cxl_allocate_afu_irqs() 467 work->num_interrupts = ctx->afu->pp_irqs; in cxl_start_work() 506 struct cxl_afu *afu = ctx->afu; in cxl_afu_reset() local 509 rc = cxl_ops->afu_reset(afu); in cxl_afu_reset() 513 return cxl_ops->afu_check_and_enable(afu); in cxl_afu_reset() [all …]
|
A D | irq.c | 337 dev_name(&ctx->afu->dev), in afu_allocate_irqs() 425 dev_crit(&afu->dev, in cxl_afu_decode_psl_serr() 429 dev_crit(&afu->dev, "AFU MMIO Timeout\n"); in cxl_afu_decode_psl_serr() 431 dev_crit(&afu->dev, in cxl_afu_decode_psl_serr() 434 dev_crit(&afu->dev, "AFU CTAG Overflow\n"); in cxl_afu_decode_psl_serr() 436 dev_crit(&afu->dev, "Bad Interrupt Source\n"); in cxl_afu_decode_psl_serr() 438 dev_crit(&afu->dev, "Bad Context Handle\n"); in cxl_afu_decode_psl_serr() 440 dev_crit(&afu->dev, "LLCMD to Disabled AFU\n"); in cxl_afu_decode_psl_serr() 442 dev_crit(&afu->dev, "LLCMD Timeout to AFU\n"); in cxl_afu_decode_psl_serr() 444 dev_crit(&afu->dev, "AFU MMIO Parity Error\n"); in cxl_afu_decode_psl_serr() [all …]
|
/linux-6.3-rc2/drivers/misc/ocxl/ |
A D | core.c | 21 if (!afu) in alloc_afu() 28 afu->fn = fn; in alloc_afu() 30 return afu; in alloc_afu() 39 kfree(afu); in free_afu() 76 afu->actag_base, afu->actag_enabled); in assign_afu_actag() 78 afu->actag_base, afu->actag_enabled); in assign_afu_actag() 187 release_fn_bar(afu->fn, afu->config.pp_mmio_bar); in map_mmio_areas() 209 release_fn_bar(afu->fn, afu->config.pp_mmio_bar); in unmap_mmio_areas() 478 u8 afu; in ocxl_function_open() local 493 for (afu = 0; afu <= fn->config.max_afu_index; afu++) { in ocxl_function_open() [all …]
|
A D | mmio.c | 10 if (offset > afu->config.global_mmio_size - 4) in ocxl_global_mmio_read32() 24 *val = readl((char *)afu->global_mmio_ptr + offset); in ocxl_global_mmio_read32() 35 if (offset > afu->config.global_mmio_size - 8) in ocxl_global_mmio_read64() 49 *val = readq((char *)afu->global_mmio_ptr + offset); in ocxl_global_mmio_read64() 60 if (offset > afu->config.global_mmio_size - 4) in ocxl_global_mmio_write32() 74 writel(val, (char *)afu->global_mmio_ptr + offset); in ocxl_global_mmio_write32() 86 if (offset > afu->config.global_mmio_size - 8) in ocxl_global_mmio_write64() 114 if (offset > afu->config.global_mmio_size - 4) in ocxl_global_mmio_set32() 145 if (offset > afu->config.global_mmio_size - 8) in ocxl_global_mmio_set64() 176 if (offset > afu->config.global_mmio_size - 4) in ocxl_global_mmio_clear32() [all …]
|
A D | context.c | 17 ctx->afu = afu; in ocxl_context_alloc() 18 mutex_lock(&afu->contexts_lock); in ocxl_context_alloc() 19 pasid = idr_alloc(&afu->contexts_idr, ctx, afu->pasid_base, in ocxl_context_alloc() 20 afu->pasid_base + afu->pasid_max, GFP_KERNEL); in ocxl_context_alloc() 22 mutex_unlock(&afu->contexts_lock); in ocxl_context_alloc() 26 afu->pasid_count++; in ocxl_context_alloc() 27 mutex_unlock(&afu->contexts_lock); in ocxl_context_alloc() 44 ocxl_afu_get(afu); in ocxl_context_alloc() 265 mutex_lock(&afu->contexts_lock); in ocxl_context_detach_all() 286 ctx->afu->pasid_count--; in ocxl_context_free() [all …]
|
A D | sysfs.c | 10 return info->afu; in to_afu() 17 struct ocxl_afu *afu = to_afu(device); in global_mmio_size_show() local 20 afu->config.global_mmio_size); in global_mmio_size_show() 27 struct ocxl_afu *afu = to_afu(device); in pp_mmio_size_show() local 30 afu->config.pp_mmio_stride); in pp_mmio_size_show() 40 afu->config.version_major, in afu_version_show() 41 afu->config.version_minor); in afu_version_show() 51 afu->pasid_count, afu->pasid_max); in contexts_show() 59 struct ocxl_fn *fn = afu->fn; in reload_on_reset_show() 74 struct ocxl_fn *fn = afu->fn; in reload_on_reset_store() [all …]
|
A D | config.c | 482 afu->pp_mmio_stride = val; in read_afu_mmio() 496 afu->idx); in read_afu_control() 529 if (!afu->name[0]) { in validate_afu() 548 afu->pp_mmio_bar != 2 && in validate_afu() 549 afu->pp_mmio_bar != 4) { in validate_afu() 575 afu->lpc_mem_offset = 0; in read_afu_lpc_memory_info() 576 afu->lpc_mem_size = 0; in read_afu_lpc_memory_info() 663 afu->idx = afu_idx; in ocxl_config_read_afu() 666 afu->idx); in ocxl_config_read_afu() 696 afu->version_minor); in ocxl_config_read_afu() [all …]
|
A D | pci.c | 20 struct ocxl_afu *afu, *tmp; in ocxl_probe() local 32 list_for_each_entry_safe(afu, tmp, afu_list, list) { in ocxl_probe() 34 rc = ocxl_file_register_afu(afu); in ocxl_probe() 37 afu->config.name, afu->config.idx); in ocxl_probe() 47 struct ocxl_afu *afu; in ocxl_remove() local 53 list_for_each_entry(afu, afu_list, list) { in ocxl_remove() 54 ocxl_file_unregister_afu(afu); in ocxl_remove()
|
/linux-6.3-rc2/drivers/scsi/cxlflash/ |
A D | common.h | 113 struct afu *afu; member 204 struct afu *afu; member 230 struct afu { struct 232 int (*send_cmd)(struct afu *afu, struct afu_cmd *cmd); argument 262 static inline bool afu_is_irqpoll_enabled(struct afu *afu) in afu_is_irqpoll_enabled() argument 267 static inline bool afu_has_cap(struct afu *afu, u64 cap) in afu_has_cap() argument 274 static inline bool afu_is_ocxl_lisn(struct afu *afu) in afu_is_ocxl_lisn() argument 279 static inline bool afu_is_afu_debug(struct afu *afu) in afu_is_afu_debug() argument 284 static inline bool afu_is_lun_provision(struct afu *afu) in afu_is_lun_provision() argument 289 static inline bool afu_is_sq_cmd_mode(struct afu *afu) in afu_is_sq_cmd_mode() argument [all …]
|
A D | main.c | 461 struct afu *afu = cfg->afu; in send_tmf() local 563 struct afu *afu = cfg->afu; in cxlflash_queuecommand() local 659 struct afu *afu = cfg->afu; in free_mem() local 692 struct afu *afu = cfg->afu; in stop_afu() local 730 struct afu *afu = cfg->afu; in term_intr() local 776 struct afu *afu = cfg->afu; in term_mc() local 850 struct afu *afu = cfg->afu; in notify_shutdown() local 1370 struct afu *afu = hwq->afu; in process_hrrq() local 1473 struct afu *afu = hwq->afu; in cxlflash_rrq_irq() local 1541 struct afu *afu = hwq->afu; in cxlflash_async_err_irq() local [all …]
|
A D | ocxl_hw.c | 499 rc = idr_alloc(&afu->idr, ctx, 0, afu->max_pasid, GFP_NOWAIT); in ocxlflash_dev_context_init() 514 ctx->hw_afu = afu; in ocxlflash_dev_context_init() 707 if (!afu) in ocxlflash_destroy_afu() 718 kfree(afu); in ocxlflash_destroy_afu() 915 afu = kzalloc(sizeof(*afu), GFP_KERNEL); in ocxlflash_create_afu() 921 afu->pdev = pdev; in ocxlflash_create_afu() 922 afu->dev = dev; in ocxlflash_create_afu() 923 idr_init(&afu->idr); in ocxlflash_create_afu() 949 return afu; in ocxlflash_create_afu() 956 kfree(afu); in ocxlflash_create_afu() [all …]
|
/linux-6.3-rc2/drivers/fpga/ |
A D | dfl-afu-region.c | 21 INIT_LIST_HEAD(&afu->regions); in afu_mmio_region_init() 24 #define for_each_region(region, afu) \ argument 32 for_each_region(region, afu) in get_region_by_index() 54 struct dfl_afu *afu; in afu_mmio_region_add() local 68 afu = dfl_fpga_pdata_get_private(pdata); in afu_mmio_region_add() 79 list_add(®ion->node, &afu->regions); in afu_mmio_region_add() 81 afu->region_cur_offset += region_size; in afu_mmio_region_add() 82 afu->num_regions++; in afu_mmio_region_add() 118 struct dfl_afu *afu; in afu_mmio_region_get_by_index() local 152 struct dfl_afu *afu; in afu_mmio_region_get_by_offset() local [all …]
|
/linux-6.3-rc2/include/misc/ |
A D | ocxl.h | 95 void ocxl_afu_get(struct ocxl_afu *afu); 101 void ocxl_afu_put(struct ocxl_afu *afu); 212 struct ocxl_afu_config *ocxl_afu_config(struct ocxl_afu *afu); 219 void ocxl_afu_set_private(struct ocxl_afu *afu, void *private); 228 void *ocxl_afu_get_private(struct ocxl_afu *afu); 240 int ocxl_global_mmio_read32(struct ocxl_afu *afu, size_t offset, 252 int ocxl_global_mmio_read64(struct ocxl_afu *afu, size_t offset, 264 int ocxl_global_mmio_write32(struct ocxl_afu *afu, size_t offset, 288 int ocxl_global_mmio_set32(struct ocxl_afu *afu, size_t offset, 300 int ocxl_global_mmio_set64(struct ocxl_afu *afu, size_t offset, [all …]
|