Home
last modified time | relevance | path

Searched refs:idxd (Results 1 - 23 of 23) sorted by relevance

/kernel/linux/linux-5.10/drivers/dma/idxd/
H A Dinit.c17 #include <uapi/linux/idxd.h>
21 #include "idxd.h"
27 #define DRV_NAME "idxd"
43 const char *idxd_get_dev_name(struct idxd_device *idxd) in idxd_get_dev_name() argument
45 return idxd_name[idxd->type]; in idxd_get_dev_name()
48 static int idxd_setup_interrupts(struct idxd_device *idxd) in idxd_setup_interrupts() argument
50 struct pci_dev *pdev = idxd->pdev; in idxd_setup_interrupts()
63 idxd->msix_entries = devm_kzalloc(dev, sizeof(struct msix_entry) * in idxd_setup_interrupts()
65 if (!idxd->msix_entries) { in idxd_setup_interrupts()
71 idxd in idxd_setup_interrupts()
144 idxd_setup_internals(struct idxd_device *idxd) idxd_setup_internals() argument
198 idxd_read_table_offsets(struct idxd_device *idxd) idxd_read_table_offsets() argument
218 idxd_read_caps(struct idxd_device *idxd) idxd_read_caps() argument
272 struct idxd_device *idxd; idxd_alloc() local
285 idxd_probe(struct idxd_device *idxd) idxd_probe() argument
335 struct idxd_device *idxd; idxd_pci_probe() local
426 struct idxd_device *idxd = pci_get_drvdata(pdev); idxd_shutdown() local
453 struct idxd_device *idxd = pci_get_drvdata(pdev); idxd_remove() local
[all...]
H A Ddevice.c11 #include <uapi/linux/idxd.h>
13 #include "idxd.h"
16 static void idxd_cmd_exec(struct idxd_device *idxd, int cmd_code, u32 operand,
20 void idxd_mask_msix_vector(struct idxd_device *idxd, int vec_id) in idxd_mask_msix_vector() argument
22 struct irq_data *data = irq_get_irq_data(idxd->msix_entries[vec_id].vector); in idxd_mask_msix_vector()
27 void idxd_mask_msix_vectors(struct idxd_device *idxd) in idxd_mask_msix_vectors() argument
29 struct pci_dev *pdev = idxd->pdev; in idxd_mask_msix_vectors()
34 idxd_mask_msix_vector(idxd, i); in idxd_mask_msix_vectors()
37 void idxd_unmask_msix_vector(struct idxd_device *idxd, int vec_id) in idxd_unmask_msix_vector() argument
39 struct irq_data *data = irq_get_irq_data(idxd in idxd_unmask_msix_vector()
44 idxd_unmask_error_interrupts(struct idxd_device *idxd) idxd_unmask_error_interrupts() argument
53 idxd_mask_error_interrupts(struct idxd_device *idxd) idxd_mask_error_interrupts() argument
131 struct idxd_device *idxd = wq->idxd; idxd_wq_alloc_resources() local
200 struct idxd_device *idxd = wq->idxd; idxd_wq_enable() local
224 struct idxd_device *idxd = wq->idxd; idxd_wq_disable() local
250 struct idxd_device *idxd = wq->idxd; idxd_wq_drain() local
266 struct idxd_device *idxd = wq->idxd; idxd_wq_reset() local
282 struct idxd_device *idxd = wq->idxd; idxd_wq_map_portal() local
307 struct idxd_device *idxd = wq->idxd; idxd_wq_disable_cleanup() local
321 idxd_is_enabled(struct idxd_device *idxd) idxd_is_enabled() argument
332 idxd_device_is_halted(struct idxd_device *idxd) idxd_device_is_halted() argument
346 idxd_device_init_reset(struct idxd_device *idxd) idxd_device_init_reset() argument
370 idxd_cmd_exec(struct idxd_device *idxd, int cmd_code, u32 operand, u32 *status) idxd_cmd_exec() argument
420 idxd_device_enable(struct idxd_device *idxd) idxd_device_enable() argument
443 idxd_device_wqs_clear_state(struct idxd_device *idxd) idxd_device_wqs_clear_state() argument
459 idxd_device_disable(struct idxd_device *idxd) idxd_device_disable() argument
486 idxd_device_reset(struct idxd_device *idxd) idxd_device_reset() argument
500 struct idxd_device *idxd = group->idxd; idxd_group_config_write() local
532 idxd_groups_config_write(struct idxd_device *idxd) idxd_groups_config_write() argument
560 struct idxd_device *idxd = wq->idxd; idxd_wq_config_write() local
609 idxd_wqs_config_write(struct idxd_device *idxd) idxd_wqs_config_write() argument
624 idxd_group_flags_setup(struct idxd_device *idxd) idxd_group_flags_setup() argument
650 idxd_engines_setup(struct idxd_device *idxd) idxd_engines_setup() argument
678 idxd_wqs_setup(struct idxd_device *idxd) idxd_wqs_setup() argument
715 idxd_device_config(struct idxd_device *idxd) idxd_device_config() argument
[all...]
H A Dirq.c9 #include <uapi/linux/idxd.h>
11 #include "idxd.h"
16 struct idxd_device *idxd = container_of(work, struct idxd_device, work); in idxd_device_reinit() local
17 struct device *dev = &idxd->pdev->dev; in idxd_device_reinit()
20 idxd_device_reset(idxd); in idxd_device_reinit()
21 rc = idxd_device_config(idxd); in idxd_device_reinit()
25 rc = idxd_device_enable(idxd); in idxd_device_reinit()
29 for (i = 0; i < idxd->max_wqs; i++) { in idxd_device_reinit()
30 struct idxd_wq *wq = &idxd->wqs[i]; in idxd_device_reinit()
44 idxd_device_wqs_clear_state(idxd); in idxd_device_reinit()
50 struct idxd_device *idxd = irq_entry->idxd; idxd_irq_handler() local
56 process_misc_interrupts(struct idxd_device *idxd, u32 cause) process_misc_interrupts() argument
154 struct idxd_device *idxd = irq_entry->idxd; idxd_misc_thread() local
[all...]
H A Dsysfs.c9 #include <uapi/linux/idxd.h>
11 #include "idxd.h"
78 struct idxd_device *idxd = confdev_to_idxd(dev); in idxd_config_bus_match() local
80 if (idxd->state != IDXD_DEV_CONF_READY) in idxd_config_bus_match()
85 struct idxd_device *idxd = wq->idxd; in idxd_config_bus_match() local
87 if (idxd->state < IDXD_DEV_CONF_READY) in idxd_config_bus_match()
111 struct idxd_device *idxd = confdev_to_idxd(dev); in idxd_config_bus_probe() local
113 if (idxd->state != IDXD_DEV_CONF_READY) { in idxd_config_bus_probe()
122 spin_lock_irqsave(&idxd in idxd_config_bus_probe()
150 struct idxd_device *idxd = wq->idxd; idxd_config_bus_probe() local
242 struct idxd_device *idxd = wq->idxd; disable_wq() local
285 struct idxd_device *idxd = confdev_to_idxd(dev); idxd_config_bus_remove() local
350 idxd_get_bus_type(struct idxd_device *idxd) idxd_get_bus_type() argument
355 idxd_get_device_type(struct idxd_device *idxd) idxd_get_device_type() argument
409 struct idxd_device *idxd = engine->idxd; engine_group_id_store() local
462 idxd_set_free_tokens(struct idxd_device *idxd) idxd_set_free_tokens() argument
491 struct idxd_device *idxd = group->idxd; group_tokens_reserved_store() local
536 struct idxd_device *idxd = group->idxd; group_tokens_allowed_store() local
578 struct idxd_device *idxd = group->idxd; group_use_token_limit_store() local
610 struct idxd_device *idxd = group->idxd; group_engines_show() local
639 struct idxd_device *idxd = group->idxd; group_work_queues_show() local
677 struct idxd_device *idxd = group->idxd; group_traffic_class_a_store() local
718 struct idxd_device *idxd = group->idxd; group_traffic_class_b_store() local
809 struct idxd_device *idxd = wq->idxd; wq_group_id_store() local
862 struct idxd_device *idxd = wq->idxd; wq_mode_store() local
891 total_claimed_wq_size(struct idxd_device *idxd) total_claimed_wq_size() argument
911 struct idxd_device *idxd = wq->idxd; wq_size_store() local
948 struct idxd_device *idxd = wq->idxd; wq_priority_store() local
1097 struct idxd_device *idxd = wq->idxd; wq_max_transfer_size_store() local
1134 struct idxd_device *idxd = wq->idxd; wq_max_batch_size_store() local
1187 struct idxd_device *idxd = version_show() local
1198 struct idxd_device *idxd = max_work_queues_size_show() local
1208 struct idxd_device *idxd = max_groups_show() local
1218 struct idxd_device *idxd = max_work_queues_show() local
1228 struct idxd_device *idxd = max_engines_show() local
1238 struct idxd_device *idxd = numa_node_show() local
1248 struct idxd_device *idxd = max_batch_size_show() local
1259 struct idxd_device *idxd = max_transfer_size_show() local
1269 struct idxd_device *idxd = op_cap_show() local
1285 struct idxd_device *idxd = gen_cap_show() local
1295 struct idxd_device *idxd = configurable_show() local
1306 struct idxd_device *idxd = clients_show() local
1326 struct idxd_device *idxd = state_show() local
1346 struct idxd_device *idxd = errors_show() local
1364 struct idxd_device *idxd = max_tokens_show() local
1374 struct idxd_device *idxd = token_limit_show() local
1384 struct idxd_device *idxd = token_limit_store() local
1413 struct idxd_device *idxd = cdev_major_show() local
1423 struct idxd_device *idxd = container_of(dev, struct idxd_device, conf_dev); cmd_status_show() local
1460 idxd_setup_engine_sysfs(struct idxd_device *idxd) idxd_setup_engine_sysfs() argument
1494 idxd_setup_group_sysfs(struct idxd_device *idxd) idxd_setup_group_sysfs() argument
1528 idxd_setup_wq_sysfs(struct idxd_device *idxd) idxd_setup_wq_sysfs() argument
1561 idxd_setup_device_sysfs(struct idxd_device *idxd) idxd_setup_device_sysfs() argument
1584 idxd_setup_sysfs(struct idxd_device *idxd) idxd_setup_sysfs() argument
1619 idxd_cleanup_sysfs(struct idxd_device *idxd) idxd_cleanup_sysfs() argument
[all...]
H A Didxd.h36 struct idxd_device *idxd; member
44 struct idxd_device *idxd; member
104 struct idxd_device *idxd; member
134 struct idxd_device *idxd; member
160 struct idxd_device *idxd; member
253 static inline void idxd_set_type(struct idxd_device *idxd) in idxd_set_type() argument
255 struct pci_dev *pdev = idxd->pdev; in idxd_set_type()
258 idxd->type = IDXD_TYPE_DSA; in idxd_set_type()
260 idxd->type = IDXD_TYPE_UNKNOWN; in idxd_set_type()
278 const char *idxd_get_dev_name(struct idxd_device *idxd);
[all...]
H A Dcdev.c14 #include <uapi/linux/idxd.h>
16 #include "idxd.h"
44 cdev_ctx = &ictx[wq->idxd->type]; in idxd_cdev_dev_release()
71 struct idxd_device *idxd; in idxd_cdev_open() local
77 idxd = wq->idxd; in idxd_cdev_open()
78 dev = &idxd->pdev->dev; in idxd_cdev_open()
109 struct idxd_device *idxd = wq->idxd; in idxd_cdev_release() local
110 struct device *dev = &idxd in idxd_cdev_release()
145 struct idxd_device *idxd = wq->idxd; idxd_cdev_mmap() local
171 struct idxd_device *idxd = wq->idxd; idxd_cdev_poll() local
192 idxd_cdev_get_major(struct idxd_device *idxd) idxd_cdev_get_major() argument
199 struct idxd_device *idxd = wq->idxd; idxd_wq_add_cdev() local
[all...]
H A Ddma.c10 #include <uapi/linux/idxd.h>
13 #include "idxd.h"
67 struct idxd_device *idxd = wq->idxd; in idxd_prep_desc_common() local
81 wq->vec_ptr = (wq->vec_ptr % idxd->num_wq_irqs) + 1; in idxd_prep_desc_common()
112 struct idxd_device *idxd = wq->idxd; in idxd_dma_submit_memcpy() local
118 if (len > idxd->max_xfer_bytes) in idxd_dma_submit_memcpy()
138 struct device *dev = &wq->idxd->pdev->dev; in idxd_dma_alloc_chan_resources()
149 struct device *dev = &wq->idxd in idxd_dma_free_chan_resources()
197 idxd_register_dma_device(struct idxd_device *idxd) idxd_register_dma_device() argument
243 idxd_unregister_dma_device(struct idxd_device *idxd) idxd_unregister_dma_device() argument
250 struct idxd_device *idxd = wq->idxd; idxd_register_dma_channel() local
[all...]
H A Dsubmit.c7 #include <uapi/linux/idxd.h>
8 #include "idxd.h"
25 struct idxd_device *idxd = wq->idxd; in idxd_alloc_desc() local
30 if (idxd->state != IDXD_DEV_ENABLED) in idxd_alloc_desc()
70 struct idxd_device *idxd = wq->idxd; in idxd_submit_desc() local
74 if (idxd->state != IDXD_DEV_ENABLED) in idxd_submit_desc()
92 &idxd->irq_entries[vec].pending_llist); in idxd_submit_desc()
H A DMakefile1 obj-$(CONFIG_INTEL_IDXD) += idxd.o
2 idxd-y := init.o irq.o device.o sysfs.o submit.o dma.o cdev.o
/kernel/linux/linux-6.6/drivers/dma/idxd/
H A Dinit.c17 #include <uapi/linux/idxd.h>
21 #include "idxd.h"
37 #define DRV_NAME "idxd"
75 static int idxd_setup_interrupts(struct idxd_device *idxd) in idxd_setup_interrupts() argument
77 struct pci_dev *pdev = idxd->pdev; in idxd_setup_interrupts()
88 idxd->irq_cnt = msixcnt; in idxd_setup_interrupts()
98 ie = idxd_get_ie(idxd, 0); in idxd_setup_interrupts()
100 rc = request_threaded_irq(ie->vector, NULL, idxd_misc_thread, 0, "idxd-misc", ie); in idxd_setup_interrupts()
105 dev_dbg(dev, "Requested idxd-misc handler on msix vector %d\n", ie->vector); in idxd_setup_interrupts()
107 for (i = 0; i < idxd in idxd_setup_interrupts()
130 idxd_cleanup_interrupts(struct idxd_device *idxd) idxd_cleanup_interrupts() argument
146 idxd_setup_wqs(struct idxd_device *idxd) idxd_setup_wqs() argument
224 idxd_setup_engines(struct idxd_device *idxd) idxd_setup_engines() argument
271 idxd_setup_groups(struct idxd_device *idxd) idxd_setup_groups() argument
329 idxd_cleanup_internals(struct idxd_device *idxd) idxd_cleanup_internals() argument
342 idxd_init_evl(struct idxd_device *idxd) idxd_init_evl() argument
378 idxd_setup_internals(struct idxd_device *idxd) idxd_setup_internals() argument
424 idxd_read_table_offsets(struct idxd_device *idxd) idxd_read_table_offsets() argument
454 idxd_read_caps(struct idxd_device *idxd) idxd_read_caps() argument
523 struct idxd_device *idxd; idxd_alloc() local
560 idxd_enable_system_pasid(struct idxd_device *idxd) idxd_enable_system_pasid() argument
599 idxd_disable_system_pasid(struct idxd_device *idxd) idxd_disable_system_pasid() argument
638 idxd_probe(struct idxd_device *idxd) idxd_probe() argument
705 idxd_cleanup(struct idxd_device *idxd) idxd_cleanup() argument
719 struct idxd_device *idxd; idxd_pci_probe() local
783 idxd_wqs_quiesce(struct idxd_device *idxd) idxd_wqs_quiesce() argument
797 struct idxd_device *idxd = pci_get_drvdata(pdev); idxd_shutdown() local
813 struct idxd_device *idxd = pci_get_drvdata(pdev); idxd_remove() local
[all...]
H A Ddevice.c10 #include <uapi/linux/idxd.h>
12 #include "idxd.h"
15 static void idxd_cmd_exec(struct idxd_device *idxd, int cmd_code, u32 operand,
17 static void idxd_device_wqs_clear_state(struct idxd_device *idxd);
21 void idxd_unmask_error_interrupts(struct idxd_device *idxd) in idxd_unmask_error_interrupts() argument
25 genctrl.bits = ioread32(idxd->reg_base + IDXD_GENCTRL_OFFSET); in idxd_unmask_error_interrupts()
28 iowrite32(genctrl.bits, idxd->reg_base + IDXD_GENCTRL_OFFSET); in idxd_unmask_error_interrupts()
31 void idxd_mask_error_interrupts(struct idxd_device *idxd) in idxd_mask_error_interrupts() argument
35 genctrl.bits = ioread32(idxd->reg_base + IDXD_GENCTRL_OFFSET); in idxd_mask_error_interrupts()
38 iowrite32(genctrl.bits, idxd in idxd_mask_error_interrupts()
110 struct idxd_device *idxd = wq->idxd; idxd_wq_alloc_resources() local
180 struct idxd_device *idxd = wq->idxd; idxd_wq_enable() local
205 struct idxd_device *idxd = wq->idxd; idxd_wq_disable() local
234 struct idxd_device *idxd = wq->idxd; idxd_wq_drain() local
250 struct idxd_device *idxd = wq->idxd; idxd_wq_reset() local
266 struct idxd_device *idxd = wq->idxd; idxd_wq_map_portal() local
290 idxd_wqs_unmap_portal(struct idxd_device *idxd) idxd_wqs_unmap_portal() argument
304 struct idxd_device *idxd = wq->idxd; __idxd_wq_set_pasid_locked() local
337 struct idxd_device *idxd = wq->idxd; idxd_wq_disable_pasid() local
363 struct idxd_device *idxd = wq->idxd; idxd_wq_disable_cleanup() local
426 idxd_is_enabled(struct idxd_device *idxd) idxd_is_enabled() argument
437 idxd_device_is_halted(struct idxd_device *idxd) idxd_device_is_halted() argument
451 idxd_device_init_reset(struct idxd_device *idxd) idxd_device_init_reset() argument
474 idxd_cmd_exec(struct idxd_device *idxd, int cmd_code, u32 operand, u32 *status) idxd_cmd_exec() argument
525 idxd_device_enable(struct idxd_device *idxd) idxd_device_enable() argument
548 idxd_device_disable(struct idxd_device *idxd) idxd_device_disable() argument
571 idxd_device_reset(struct idxd_device *idxd) idxd_device_reset() argument
580 idxd_device_drain_pasid(struct idxd_device *idxd, int pasid) idxd_device_drain_pasid() argument
591 idxd_device_request_int_handle(struct idxd_device *idxd, int idx, int *handle, enum idxd_interrupt_type irq_type) idxd_device_request_int_handle() argument
621 idxd_device_release_int_handle(struct idxd_device *idxd, int handle, enum idxd_interrupt_type irq_type) idxd_device_release_int_handle() argument
662 idxd_engines_clear_state(struct idxd_device *idxd) idxd_engines_clear_state() argument
674 idxd_groups_clear_state(struct idxd_device *idxd) idxd_groups_clear_state() argument
704 idxd_device_wqs_clear_state(struct idxd_device *idxd) idxd_device_wqs_clear_state() argument
718 idxd_device_clear_state(struct idxd_device *idxd) idxd_device_clear_state() argument
739 idxd_device_evl_setup(struct idxd_device *idxd) idxd_device_evl_setup() argument
803 idxd_device_evl_free(struct idxd_device *idxd) idxd_device_evl_free() argument
841 struct idxd_device *idxd = group->idxd; idxd_group_config_write() local
871 idxd_groups_config_write(struct idxd_device *idxd) idxd_groups_config_write() argument
897 idxd_device_pasid_priv_enabled(struct idxd_device *idxd) idxd_device_pasid_priv_enabled() argument
908 struct idxd_device *idxd = wq->idxd; idxd_wq_config_write() local
996 idxd_wqs_config_write(struct idxd_device *idxd) idxd_wqs_config_write() argument
1011 idxd_group_flags_setup(struct idxd_device *idxd) idxd_group_flags_setup() argument
1035 idxd_engines_setup(struct idxd_device *idxd) idxd_engines_setup() argument
1063 idxd_wqs_setup(struct idxd_device *idxd) idxd_wqs_setup() argument
1101 idxd_device_config(struct idxd_device *idxd) idxd_device_config() argument
1129 struct idxd_device *idxd = wq->idxd; idxd_wq_load_config() local
1161 struct idxd_device *idxd = group->idxd; idxd_group_load_config() local
1219 idxd_device_load_config(struct idxd_device *idxd) idxd_device_load_config() argument
1280 idxd_device_set_perm_entry(struct idxd_device *idxd, struct idxd_irq_entry *ie) idxd_device_set_perm_entry() argument
1294 idxd_device_clear_perm_entry(struct idxd_device *idxd, struct idxd_irq_entry *ie) idxd_device_clear_perm_entry() argument
1302 struct idxd_device *idxd = wq->idxd; idxd_wq_free_irq() local
1320 struct idxd_device *idxd = wq->idxd; idxd_wq_request_irq() local
1362 struct idxd_device *idxd = wq->idxd; drv_enable_wq() local
1495 struct idxd_device *idxd = wq->idxd; drv_disable_wq() local
1516 struct idxd_device *idxd = idxd_dev_to_idxd(idxd_dev); idxd_device_drv_probe() local
1575 struct idxd_device *idxd = idxd_dev_to_idxd(idxd_dev); idxd_device_drv_remove() local
[all...]
H A Dsysfs.c9 #include <uapi/linux/idxd.h>
11 #include "idxd.h"
36 struct idxd_device *idxd = engine->idxd; in engine_group_id_store() local
45 if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) in engine_group_id_store()
48 if (id > idxd->max_groups - 1 || id < -1) in engine_group_id_store()
63 engine->group = idxd->groups[id]; in engine_group_id_store()
102 static void idxd_set_free_rdbufs(struct idxd_device *idxd) in idxd_set_free_rdbufs() argument
106 for (i = 0, rdbufs = 0; i < idxd->max_groups; i++) { in idxd_set_free_rdbufs()
107 struct idxd_group *g = idxd in idxd_set_free_rdbufs()
137 struct idxd_device *idxd = group->idxd; group_read_buffers_reserved_store() local
203 struct idxd_device *idxd = group->idxd; group_read_buffers_allowed_store() local
266 struct idxd_device *idxd = group->idxd; group_use_read_buffer_limit_store() local
311 struct idxd_device *idxd = group->idxd; group_engines_show() local
339 struct idxd_device *idxd = group->idxd; group_work_queues_show() local
376 struct idxd_device *idxd = group->idxd; group_traffic_class_a_store() local
418 struct idxd_device *idxd = group->idxd; group_traffic_class_b_store() local
523 idxd_group_attr_progress_limit_invisible(struct attribute *attr, struct idxd_device *idxd) idxd_group_attr_progress_limit_invisible() argument
531 idxd_group_attr_read_buffers_invisible(struct attribute *attr, struct idxd_device *idxd) idxd_group_attr_read_buffers_invisible() argument
552 struct idxd_device *idxd = group->idxd; idxd_group_attr_visible() local
632 struct idxd_device *idxd = wq->idxd; wq_group_id_store() local
684 struct idxd_device *idxd = wq->idxd; wq_mode_store() local
715 total_claimed_wq_size(struct idxd_device *idxd) total_claimed_wq_size() argument
735 struct idxd_device *idxd = wq->idxd; wq_size_store() local
772 struct idxd_device *idxd = wq->idxd; wq_priority_store() local
808 struct idxd_device *idxd = wq->idxd; wq_block_on_fault_store() local
854 struct idxd_device *idxd = wq->idxd; wq_threshold_store() local
1011 struct idxd_device *idxd = wq->idxd; wq_max_transfer_size_store() local
1048 struct idxd_device *idxd = wq->idxd; wq_max_batch_size_store() local
1084 struct idxd_device *idxd = wq->idxd; wq_ats_disable_store() local
1120 struct idxd_device *idxd = wq->idxd; wq_prs_disable_store() local
1150 struct idxd_device *idxd = wq->idxd; wq_occupancy_show() local
1208 idxd_verify_supported_opcap(struct idxd_device *idxd, unsigned long *opmask) idxd_verify_supported_opcap() argument
1230 struct idxd_device *idxd = wq->idxd; wq_op_config_store() local
1288 idxd_wq_attr_max_batch_size_invisible(struct attribute *attr, struct idxd_device *idxd) idxd_wq_attr_max_batch_size_invisible() argument
1301 struct idxd_device *idxd = wq->idxd; idxd_wq_attr_visible() local
1348 struct idxd_device *idxd = confdev_to_idxd(dev); version_show() local
1358 struct idxd_device *idxd = confdev_to_idxd(dev); max_work_queues_size_show() local
1367 struct idxd_device *idxd = confdev_to_idxd(dev); max_groups_show() local
1376 struct idxd_device *idxd = confdev_to_idxd(dev); max_work_queues_show() local
1385 struct idxd_device *idxd = confdev_to_idxd(dev); max_engines_show() local
1394 struct idxd_device *idxd = confdev_to_idxd(dev); numa_node_show() local
1403 struct idxd_device *idxd = confdev_to_idxd(dev); max_batch_size_show() local
1413 struct idxd_device *idxd = confdev_to_idxd(dev); max_transfer_size_show() local
1422 struct idxd_device *idxd = confdev_to_idxd(dev); op_cap_show() local
1431 struct idxd_device *idxd = confdev_to_idxd(dev); gen_cap_show() local
1440 struct idxd_device *idxd = confdev_to_idxd(dev); configurable_show() local
1449 struct idxd_device *idxd = confdev_to_idxd(dev); clients_show() local
1467 struct idxd_device *idxd = confdev_to_idxd(dev); pasid_enabled_show() local
1476 struct idxd_device *idxd = confdev_to_idxd(dev); state_show() local
1494 struct idxd_device *idxd = confdev_to_idxd(dev); errors_show() local
1508 struct idxd_device *idxd = confdev_to_idxd(dev); max_read_buffers_show() local
1526 struct idxd_device *idxd = confdev_to_idxd(dev); read_buffer_limit_show() local
1542 struct idxd_device *idxd = confdev_to_idxd(dev); read_buffer_limit_store() local
1580 struct idxd_device *idxd = confdev_to_idxd(dev); cdev_major_show() local
1589 struct idxd_device *idxd = confdev_to_idxd(dev); cmd_status_show() local
1597 struct idxd_device *idxd = confdev_to_idxd(dev); cmd_status_store() local
1607 struct idxd_device *idxd = confdev_to_idxd(dev); iaa_cap_show() local
1619 struct idxd_device *idxd = confdev_to_idxd(dev); event_log_size_show() local
1631 struct idxd_device *idxd = confdev_to_idxd(dev); event_log_size_store() local
1657 idxd_device_attr_max_batch_size_invisible(struct attribute *attr, struct idxd_device *idxd) idxd_device_attr_max_batch_size_invisible() argument
1665 idxd_device_attr_read_buffers_invisible(struct attribute *attr, struct idxd_device *idxd) idxd_device_attr_read_buffers_invisible() argument
1679 idxd_device_attr_iaa_cap_invisible(struct attribute *attr, struct idxd_device *idxd) idxd_device_attr_iaa_cap_invisible() argument
1687 idxd_device_attr_event_log_size_invisible(struct attribute *attr, struct idxd_device *idxd) idxd_device_attr_event_log_size_invisible() argument
1698 struct idxd_device *idxd = confdev_to_idxd(dev); idxd_device_attr_visible() local
1754 struct idxd_device *idxd = confdev_to_idxd(dev); idxd_conf_device_release() local
1779 idxd_register_engine_devices(struct idxd_device *idxd) idxd_register_engine_devices() argument
1807 idxd_register_group_devices(struct idxd_device *idxd) idxd_register_group_devices() argument
1835 idxd_register_wq_devices(struct idxd_device *idxd) idxd_register_wq_devices() argument
1863 idxd_register_devices(struct idxd_device *idxd) idxd_register_devices() argument
1903 idxd_unregister_devices(struct idxd_device *idxd) idxd_unregister_devices() argument
[all...]
H A Dperfmon.c6 #include "idxd.h"
126 struct idxd_device *idxd = idxd_pmu->idxd; in perfmon_assign_hw_event() local
130 hwc->config_base = ioread64(CNTRCFG_REG(idxd, idx)); in perfmon_assign_hw_event()
131 hwc->event_base = ioread64(CNTRCFG_REG(idxd, idx)); in perfmon_assign_hw_event()
200 struct idxd_device *idxd; in perfmon_pmu_event_init() local
203 idxd = event_to_idxd(event); in perfmon_pmu_event_init()
216 if (event->pmu != &idxd->idxd_pmu->pmu) in perfmon_pmu_event_init()
219 event->hw.event_base = ioread64(PERFMON_TABLE_OFFSET(idxd)); in perfmon_pmu_event_init()
220 event->cpu = idxd in perfmon_pmu_event_init()
233 struct idxd_device *idxd; perfmon_pmu_read_counter() local
243 struct idxd_device *idxd = event_to_idxd(event); perfmon_pmu_event_update() local
261 perfmon_counter_overflow(struct idxd_device *idxd) perfmon_counter_overflow() argument
302 perfmon_reset_config(struct idxd_device *idxd) perfmon_reset_config() argument
309 perfmon_reset_counters(struct idxd_device *idxd) perfmon_reset_counters() argument
314 perfmon_reset(struct idxd_device *idxd) perfmon_reset() argument
327 struct idxd_device *idxd; perfmon_pmu_event_start() local
375 struct idxd_device *idxd; perfmon_pmu_event_stop() local
410 struct idxd_device *idxd = event_to_idxd(event); perfmon_pmu_event_add() local
437 enable_perfmon_pmu(struct idxd_device *idxd) enable_perfmon_pmu() argument
442 disable_perfmon_pmu(struct idxd_device *idxd) disable_perfmon_pmu() argument
449 struct idxd_device *idxd = pmu_to_idxd(pmu); perfmon_pmu_enable() local
456 struct idxd_device *idxd = pmu_to_idxd(pmu); perfmon_pmu_disable() local
494 perfmon_pmu_remove(struct idxd_device *idxd) perfmon_pmu_remove() argument
543 perfmon_pmu_init(struct idxd_device *idxd) perfmon_pmu_init() argument
[all...]
H A Dirq.c12 #include <uapi/linux/idxd.h>
14 #include "idxd.h"
29 struct idxd_device *idxd; member
34 struct idxd_device *idxd = container_of(work, struct idxd_device, work); in idxd_device_reinit() local
35 struct device *dev = &idxd->pdev->dev; in idxd_device_reinit()
38 idxd_device_reset(idxd); in idxd_device_reinit()
39 rc = idxd_device_config(idxd); in idxd_device_reinit()
43 rc = idxd_device_enable(idxd); in idxd_device_reinit()
47 for (i = 0; i < idxd->max_wqs; i++) { in idxd_device_reinit()
48 if (test_bit(i, idxd in idxd_device_reinit()
74 struct idxd_device *idxd = wq->idxd; idxd_int_handle_revoke_drain() local
134 struct idxd_device *idxd = revoke->idxd; idxd_int_handle_revoke() local
226 struct idxd_device *idxd = wq->idxd; idxd_evl_fault_work() local
311 process_evl_entry(struct idxd_device *idxd, struct __evl_entry *entry_head, unsigned int index) process_evl_entry() argument
354 process_evl_entries(struct idxd_device *idxd) process_evl_entries() argument
389 struct idxd_device *idxd = ie_to_idxd(irq_entry); idxd_misc_thread() local
546 struct idxd_device *idxd = wq->idxd; idxd_queue_int_handle_resubmit() local
[all...]
H A Dperfmon.h15 #include <linux/idxd.h>
38 return idxd_pmu->idxd; in event_to_idxd()
47 return idxd_pmu->idxd; in pmu_to_idxd()
87 #define PERFMON_REG_OFFSET(idxd, offset) \
88 (PERFMON_TABLE_OFFSET(idxd) + (offset))
90 #define PERFCAP_REG(idxd) (PERFMON_REG_OFFSET(idxd, IDXD_PERFCAP_OFFSET))
91 #define PERFRST_REG(idxd) (PERFMON_REG_OFFSET(idxd, IDXD_PERFRST_OFFSET))
92 #define OVFSTATUS_REG(idxd) (PERFMON_REG_OFFSE
[all...]
H A Ddebugfs.c9 #include <uapi/linux/idxd.h>
10 #include "idxd.h"
15 static void dump_event_entry(struct idxd_device *idxd, struct seq_file *s, in dump_event_entry() argument
18 struct idxd_evl *evl = idxd->evl; in dump_event_entry()
23 int evl_strides = evl_ent_size(idxd) / sizeof(u64); in dump_event_entry()
59 struct idxd_device *idxd = s->private; in debugfs_evl_show() local
60 struct idxd_evl *evl = idxd->evl; in debugfs_evl_show()
71 evl_status.bits = ioread64(idxd->reg_base + IDXD_EVLSTATUS_OFFSET); in debugfs_evl_show()
87 dump_event_entry(idxd, s, i, &count, processed); in debugfs_evl_show()
96 int idxd_device_init_debugfs(struct idxd_device *idxd) in idxd_device_init_debugfs() argument
119 idxd_device_remove_debugfs(struct idxd_device *idxd) idxd_device_remove_debugfs() argument
[all...]
H A Didxd.h16 #include <uapi/linux/idxd.h>
90 struct idxd_device *idxd; member
105 struct idxd_device *idxd; member
197 struct idxd_device *idxd; member
236 struct idxd_device *idxd; member
265 struct idxd_device *idxd; member
365 static inline unsigned int evl_ent_size(struct idxd_device *idxd) in evl_ent_size() argument
367 return idxd->hw.gen_cap.evl_support ? in evl_ent_size()
368 (32 * (1 << idxd->hw.gen_cap.evl_support)) : 0; in evl_ent_size()
371 static inline unsigned int evl_size(struct idxd_device *idxd) in evl_size() argument
460 idxd_get_ie(struct idxd_device *idxd, int idx) idxd_get_ie() argument
475 idxd_set_user_intr(struct idxd_device *idxd, bool enable) idxd_set_user_intr() argument
541 device_pasid_enabled(struct idxd_device *idxd) device_pasid_enabled() argument
546 device_user_pasid_enabled(struct idxd_device *idxd) device_user_pasid_enabled() argument
621 idxd_set_max_batch_size(int idxd_type, struct idxd_device *idxd, u32 max_batch_size) idxd_set_max_batch_size() argument
738 perfmon_pmu_init(struct idxd_device *idxd) perfmon_pmu_init() argument
739 perfmon_pmu_remove(struct idxd_device *idxd) perfmon_pmu_remove() argument
740 perfmon_counter_overflow(struct idxd_device *idxd) perfmon_counter_overflow() argument
[all...]
H A Dcdev.c15 #include <uapi/linux/idxd.h>
18 #include "idxd.h"
123 struct idxd_device *idxd = wq->idxd; in idxd_file_dev_release() local
132 idxd_device_drain_pasid(idxd, ctx->pasid); in idxd_file_dev_release()
134 if (device_user_pasid_enabled(idxd)) { in idxd_file_dev_release()
167 cdev_ctx = &ictx[wq->idxd->data->type]; in idxd_cdev_dev_release()
199 dev_warn(&wq->idxd->pdev->dev, "xarray cmpxchg failed for pasid %u\n", in idxd_xa_pasid_remove()
224 struct idxd_device *idxd; in idxd_cdev_open() local
233 idxd in idxd_cdev_open()
335 struct idxd_device *idxd = wq->idxd; idxd_cdev_evl_drain_pasid() local
366 struct idxd_device *idxd = wq->idxd; idxd_cdev_release() local
397 struct idxd_device *idxd = wq->idxd; idxd_cdev_mmap() local
423 struct idxd_device *idxd = wq->idxd; idxd_cdev_poll() local
443 idxd_cdev_get_major(struct idxd_device *idxd) idxd_cdev_get_major() argument
450 struct idxd_device *idxd = wq->idxd; idxd_wq_add_cdev() local
513 struct idxd_device *idxd = wq->idxd; idxd_user_drv_probe() local
[all...]
H A Ddma.c10 #include <uapi/linux/idxd.h>
13 #include "idxd.h"
27 struct idxd_device *idxd = desc->wq->idxd; in idxd_dma_complete_txd() local
35 if (idxd->request_int_handles && comp_type != IDXD_COMPLETE_ABORT && in idxd_dma_complete_txd()
112 struct idxd_device *idxd = wq->idxd; in idxd_dma_submit_memcpy() local
118 if (len > idxd->max_xfer_bytes) in idxd_dma_submit_memcpy()
138 struct device *dev = &wq->idxd->pdev->dev; in idxd_dma_alloc_chan_resources()
149 struct device *dev = &wq->idxd in idxd_dma_free_chan_resources()
197 idxd_register_dma_device(struct idxd_device *idxd) idxd_register_dma_device() argument
243 idxd_unregister_dma_device(struct idxd_device *idxd) idxd_unregister_dma_device() argument
250 struct idxd_device *idxd = wq->idxd; idxd_register_dma_channel() local
302 struct idxd_device *idxd = wq->idxd; idxd_dmaengine_drv_probe() local
[all...]
H A Dsubmit.c7 #include <uapi/linux/idxd.h>
8 #include "idxd.h"
14 struct idxd_device *idxd = wq->idxd; in __get_desc() local
18 memset(desc->completion, 0, idxd->data->compl_size); in __get_desc()
21 if (device_pasid_enabled(idxd)) in __get_desc()
22 desc->hw->pasid = idxd->pasid; in __get_desc()
30 struct idxd_device *idxd = wq->idxd; in idxd_alloc_desc() local
35 if (idxd in idxd_alloc_desc()
168 struct idxd_device *idxd = wq->idxd; idxd_submit_desc() local
[all...]
H A DMakefile6 obj-$(CONFIG_INTEL_IDXD) += idxd.o
7 idxd-y := init.o irq.o device.o sysfs.o submit.o dma.o cdev.o debugfs.o
9 idxd-$(CONFIG_INTEL_IDXD_PERFMON) += perfmon.o
H A Dregisters.h6 #include <uapi/linux/idxd.h>
421 * idxd - struct idxd *
442 * idxd - struct idxd *
/kernel/linux/linux-6.6/drivers/dma/
H A DMakefile48 obj-y += idxd/

Completed in 20 milliseconds