Searched refs:idxd (Results 1 – 11 of 11) sorted by relevance
/kernel/linux/linux-5.10/drivers/dma/idxd/ |
D | init.c | 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->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 …]
|
D | device.c | 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->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 …]
|
D | irq.c | 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; in idxd_irq_handler() local 52 idxd_mask_msix_vector(idxd, irq_entry->id); in idxd_irq_handler() [all …]
|
D | sysfs.c | 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->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 …]
|
D | idxd.h | 36 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 …]
|
D | cdev.c | 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->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 …]
|
D | dma.c | 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() 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 …]
|
D | submit.c | 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()
|
D | Makefile | 1 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/ |
D | Makefile | 45 obj-$(CONFIG_INTEL_IDXD) += idxd/
|
/kernel/linux/linux-5.10/ |
D | MAINTAINERS | 8899 F: drivers/dma/idxd/* 8900 F: include/uapi/linux/idxd.h
|