Home
last modified time | relevance | path

Searched refs:idxd (Results 1 – 11 of 11) sorted by relevance

/kernel/linux/linux-5.10/drivers/dma/idxd/
Dinit.c43 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->msix_entries[i].entry = i; in idxd_setup_interrupts()
73 rc = pci_enable_msix_exact(pdev, idxd->msix_entries, msixcnt); in idxd_setup_interrupts()
84 idxd->irq_entries = devm_kcalloc(dev, msixcnt, in idxd_setup_interrupts()
87 if (!idxd->irq_entries) { in idxd_setup_interrupts()
[all …]
Ddevice.c16 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->msix_entries[vec_id].vector); in idxd_unmask_msix_vector()
44 void idxd_unmask_error_interrupts(struct idxd_device *idxd) in idxd_unmask_error_interrupts() argument
48 genctrl.bits = ioread32(idxd->reg_base + IDXD_GENCTRL_OFFSET); in idxd_unmask_error_interrupts()
[all …]
Dirq.c16 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; in idxd_irq_handler() local
52 idxd_mask_msix_vector(idxd, irq_entry->id); in idxd_irq_handler()
[all …]
Dsysfs.c78 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->dev_lock, flags); in idxd_config_bus_probe()
123 rc = idxd_device_config(idxd); in idxd_config_bus_probe()
124 spin_unlock_irqrestore(&idxd->dev_lock, flags); in idxd_config_bus_probe()
132 rc = idxd_device_enable(idxd); in idxd_config_bus_probe()
[all …]
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 …]
Dcdev.c44 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->pdev->dev; in idxd_cdev_release()
128 struct device *dev = &wq->idxd->pdev->dev; in check_vma()
145 struct idxd_device *idxd = wq->idxd; in idxd_cdev_mmap() local
146 struct pci_dev *pdev = idxd->pdev; in idxd_cdev_mmap()
171 struct idxd_device *idxd = wq->idxd; in idxd_cdev_poll() local
[all …]
Ddma.c67 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()
91 struct idxd_device *idxd = wq->idxd; in idxd_dma_submit_memcpy() local
97 if (len > idxd->max_xfer_bytes) in idxd_dma_submit_memcpy()
117 struct device *dev = &wq->idxd->pdev->dev; in idxd_dma_alloc_chan_resources()
128 struct device *dev = &wq->idxd->pdev->dev; in idxd_dma_free_chan_resources()
176 int idxd_register_dma_device(struct idxd_device *idxd) in idxd_register_dma_device() argument
180 struct device *dev = &idxd->pdev->dev; in idxd_register_dma_device()
195 if (idxd->hw.opcap.bits[0] & IDXD_OPCAP_MEMMOVE) { in idxd_register_dma_device()
211 idxd_dma->idxd = idxd; in idxd_register_dma_device()
[all …]
Dsubmit.c25 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()
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-5.10/drivers/dma/
DMakefile45 obj-$(CONFIG_INTEL_IDXD) += idxd/
/kernel/linux/linux-5.10/
DMAINTAINERS8899 F: drivers/dma/idxd/*
8900 F: include/uapi/linux/idxd.h