Home
last modified time | relevance | path

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

/linux-6.15/drivers/misc/ocxl/
H A Dcore.c21 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 …]
H A Dmmio.c10 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 …]
H A Dcontext.c17 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 …]
H A Dsysfs.c10 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 …]
H A Dconfig.c482 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 …]
H A Dpci.c20 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()
H A Dfile.c102 arg.pp_mmio_size = ctx->afu->config.pp_mmio_stride; in afu_ioctl_get_metadata()
137 int rc = ocxl_link_update_pe(ctx->afu->fn->link, in afu_ioctl_enable_p9_wait()
488 ocxl_afu_put(info->afu); in info_release()
521 int ocxl_file_register_afu(struct ocxl_afu *afu) in ocxl_file_register_afu() argument
526 struct ocxl_fn *fn = afu->fn; in ocxl_file_register_afu()
544 info->afu = afu; in ocxl_file_register_afu()
545 ocxl_afu_get(afu); in ocxl_file_register_afu()
548 afu->config.name, dev_name(&pci_dev->dev), afu->config.idx); in ocxl_file_register_afu()
567 ocxl_afu_set_private(afu, info); in ocxl_file_register_afu()
577 ocxl_afu_put(afu); in ocxl_file_register_afu()
[all …]
H A Docxl_internal.h31 struct ocxl_afu *afu; member
71 struct ocxl_afu *afu; member
100 int ocxl_file_register_afu(struct ocxl_afu *afu);
101 void ocxl_file_unregister_afu(struct ocxl_afu *afu);
143 void ocxl_context_detach_all(struct ocxl_afu *afu);
H A Dafu_irq.c22 return (offset - ctx->afu->irq_base_offset) >> PAGE_SHIFT; in ocxl_irq_offset_to_id()
27 return ctx->afu->irq_base_offset + (irq_id << PAGE_SHIFT); in ocxl_irq_id_to_offset()
128 rc = ocxl_link_irq_alloc(ctx->afu->fn->link, &irq->hw_irq); in ocxl_afu_irq_alloc()
144 ocxl_link_free_irq(ctx->afu->fn->link, irq->hw_irq); in ocxl_afu_irq_alloc()
164 ocxl_link_free_irq(ctx->afu->fn->link, irq->hw_irq); in afu_irq_free()
/linux-6.15/drivers/fpga/
H A Ddfl-afu-region.c21 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()
55 struct dfl_afu *afu; in afu_mmio_region_add() local
69 afu = dfl_fpga_fdata_get_private(fdata); in afu_mmio_region_add()
80 list_add(&region->node, &afu->regions); in afu_mmio_region_add()
82 afu->region_cur_offset += region_size; in afu_mmio_region_add()
83 afu->num_regions++; in afu_mmio_region_add()
119 struct dfl_afu *afu; in afu_mmio_region_get_by_index() local
153 struct dfl_afu *afu; in afu_mmio_region_get_by_offset() local
[all …]
H A Ddfl-afu-dma-region.c21 struct dfl_afu *afu = dfl_fpga_fdata_get_private(fdata); in afu_dma_region_init() local
23 afu->dma_regions = RB_ROOT; in afu_dma_region_init()
146 struct dfl_afu *afu = dfl_fpga_fdata_get_private(fdata); in afu_dma_region_add() local
152 new = &afu->dma_regions.rb_node; in afu_dma_region_add()
173 rb_insert_color(&region->node, &afu->dma_regions); in afu_dma_region_add()
188 struct dfl_afu *afu; in afu_dma_region_remove() local
193 afu = dfl_fpga_fdata_get_private(fdata); in afu_dma_region_remove()
194 rb_erase(&region->node, &afu->dma_regions); in afu_dma_region_remove()
206 struct rb_node *node = rb_first(&afu->dma_regions); in afu_dma_region_destroy()
215 rb_erase(node, &afu->dma_regions); in afu_dma_region_destroy()
[all …]
H A DMakefile49 obj-$(CONFIG_FPGA_DFL_AFU) += dfl-afu.o
53 dfl-afu-objs := dfl-afu-main.o dfl-afu-region.o dfl-afu-dma-region.o
54 dfl-afu-objs += dfl-afu-error.o
H A Ddfl-afu-main.c657 struct dfl_afu *afu; in afu_ioctl_get_info() local
669 afu = dfl_fpga_fdata_get_private(fdata); in afu_ioctl_get_info()
671 info.num_regions = afu->num_regions; in afu_ioctl_get_info()
672 info.num_umsgs = afu->num_umsgs; in afu_ioctl_get_info()
858 struct dfl_afu *afu; in afu_dev_init() local
860 afu = devm_kzalloc(&pdev->dev, sizeof(*afu), GFP_KERNEL); in afu_dev_init()
861 if (!afu) in afu_dev_init()
865 dfl_fpga_fdata_set_private(fdata, afu); in afu_dev_init()
/linux-6.15/include/misc/
H A Docxl.h95 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 …]
/linux-6.15/Documentation/ABI/testing/
H A Dsysfs-class-ocxl1 What: /sys/class/ocxl/<afu name>/afu_version
8 What: /sys/class/ocxl/<afu name>/contexts
20 What: /sys/class/ocxl/<afu name>/pp_mmio_size
27 What: /sys/class/ocxl/<afu name>/global_mmio_size
34 What: /sys/class/ocxl/<afu name>/global_mmio_area
40 What: /sys/class/ocxl/<afu name>/reload_on_reset
/linux-6.15/Documentation/ABI/removed/
H A Dsysfs-class-cxl11 What: /sys/class/cxl/<afu>/afu_err_buf
22 What: /sys/class/cxl/<afu>/irqs_max
33 What: /sys/class/cxl/<afu>/irqs_min
43 What: /sys/class/cxl/<afu>/mmio_size
59 What: /sys/class/cxl/<afu>/mode
69 What: /sys/class/cxl/<afu>/prefault_mode
89 What: /sys/class/cxl/<afu>/reset
97 What: /sys/class/cxl/<afu>/api_version
156 What: /sys/class/cxl/<afu>m/mmio_size
164 What: /sys/class/cxl/<afu>m/pp_mmio_len
[all …]
/linux-6.15/Documentation/fpga/
H A Ddfl.rst294 error reporting sysfs interfaces allow user to read port/afu errors