Home
last modified time | relevance | path

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

/Linux-v5.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 …]
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 …]
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 …]
Didxd.h33 struct idxd_device *idxd; member
41 struct idxd_device *idxd; member
95 struct idxd_device *idxd; member
125 struct idxd_device *idxd; member
239 static inline void idxd_set_type(struct idxd_device *idxd) in idxd_set_type() argument
241 struct pci_dev *pdev = idxd->pdev; in idxd_set_type()
244 idxd->type = IDXD_TYPE_DSA; in idxd_set_type()
246 idxd->type = IDXD_TYPE_UNKNOWN; in idxd_set_type()
264 const char *idxd_get_dev_name(struct idxd_device *idxd);
267 int idxd_setup_sysfs(struct idxd_device *idxd);
[all …]
Dcdev.c74 struct idxd_device *idxd; in idxd_cdev_open() local
80 idxd = wq->idxd; in idxd_cdev_open()
81 dev = &idxd->pdev->dev; in idxd_cdev_open()
112 struct idxd_device *idxd = wq->idxd; in idxd_cdev_release() local
113 struct device *dev = &idxd->pdev->dev; in idxd_cdev_release()
131 struct device *dev = &wq->idxd->pdev->dev; in check_vma()
148 struct idxd_device *idxd = wq->idxd; in idxd_cdev_mmap() local
149 struct pci_dev *pdev = idxd->pdev; in idxd_cdev_mmap()
174 struct idxd_device *idxd = wq->idxd; in idxd_cdev_poll() local
180 spin_lock_irqsave(&idxd->dev_lock, flags); in idxd_cdev_poll()
[all …]
Ddma.c64 struct idxd_device *idxd = wq->idxd; in idxd_prep_desc_common() local
78 wq->vec_ptr = (wq->vec_ptr % idxd->num_wq_irqs) + 1; in idxd_prep_desc_common()
88 struct idxd_device *idxd = wq->idxd; in idxd_dma_submit_memcpy() local
94 if (len > idxd->max_xfer_bytes) in idxd_dma_submit_memcpy()
114 struct device *dev = &wq->idxd->pdev->dev; in idxd_dma_alloc_chan_resources()
125 struct device *dev = &wq->idxd->pdev->dev; in idxd_dma_free_chan_resources()
170 int idxd_register_dma_device(struct idxd_device *idxd) in idxd_register_dma_device() argument
172 struct dma_device *dma = &idxd->dma_dev; in idxd_register_dma_device()
175 dma->dev = &idxd->pdev->dev; in idxd_register_dma_device()
180 if (idxd->hw.opcap.bits[0] & IDXD_OPCAP_MEMMOVE) { 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
/Linux-v5.10/drivers/dma/
DMakefile45 obj-$(CONFIG_INTEL_IDXD) += idxd/
/Linux-v5.10/
DMAINTAINERS8900 F: drivers/dma/idxd/*
8901 F: include/uapi/linux/idxd.h