Lines Matching refs:op

143 			 struct pci_dev *dev, struct xen_pci_op *op)  in xen_pcibk_enable_msi()  argument
158 op->value = 0; in xen_pcibk_enable_msi()
165 op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; in xen_pcibk_enable_msi()
167 dev_dbg(&dev->dev, "MSI: %d\n", op->value); in xen_pcibk_enable_msi()
178 struct pci_dev *dev, struct xen_pci_op *op) in xen_pcibk_disable_msi() argument
189 op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; in xen_pcibk_disable_msi()
191 dev_dbg(&dev->dev, "MSI: %d\n", op->value); in xen_pcibk_disable_msi()
198 struct pci_dev *dev, struct xen_pci_op *op) in xen_pcibk_enable_msix() argument
207 if (op->value > SH_INFO_MAX_VEC) in xen_pcibk_enable_msix()
222 entries = kmalloc_array(op->value, sizeof(*entries), GFP_KERNEL); in xen_pcibk_enable_msix()
226 for (i = 0; i < op->value; i++) { in xen_pcibk_enable_msix()
227 entries[i].entry = op->msix_entries[i].entry; in xen_pcibk_enable_msix()
228 entries[i].vector = op->msix_entries[i].vector; in xen_pcibk_enable_msix()
231 result = pci_enable_msix_exact(dev, entries, op->value); in xen_pcibk_enable_msix()
233 for (i = 0; i < op->value; i++) { in xen_pcibk_enable_msix()
234 op->msix_entries[i].entry = entries[i].entry; in xen_pcibk_enable_msix()
236 op->msix_entries[i].vector = in xen_pcibk_enable_msix()
239 op->msix_entries[i].vector); in xen_pcibk_enable_msix()
247 op->value = result; in xen_pcibk_enable_msix()
257 struct pci_dev *dev, struct xen_pci_op *op) in xen_pcibk_disable_msix() argument
272 op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; in xen_pcibk_disable_msix()
274 dev_dbg(&dev->dev, "MSI-X: %d\n", op->value); in xen_pcibk_disable_msix()
325 struct xen_pci_op *op = &pdev->op; in xen_pcibk_do_one_op() local
331 *op = pdev->sh_info->op; in xen_pcibk_do_one_op()
333 dev = xen_pcibk_get_pci_dev(pdev, op->domain, op->bus, op->devfn); in xen_pcibk_do_one_op()
336 op->err = XEN_PCI_ERR_dev_not_found; in xen_pcibk_do_one_op()
341 switch (op->cmd) { in xen_pcibk_do_one_op()
343 op->err = xen_pcibk_config_read(dev, in xen_pcibk_do_one_op()
344 op->offset, op->size, &op->value); in xen_pcibk_do_one_op()
347 op->err = xen_pcibk_config_write(dev, in xen_pcibk_do_one_op()
348 op->offset, op->size, op->value); in xen_pcibk_do_one_op()
352 op->err = xen_pcibk_enable_msi(pdev, dev, op); in xen_pcibk_do_one_op()
355 op->err = xen_pcibk_disable_msi(pdev, dev, op); in xen_pcibk_do_one_op()
358 nr = op->value; in xen_pcibk_do_one_op()
359 op->err = xen_pcibk_enable_msix(pdev, dev, op); in xen_pcibk_do_one_op()
362 op->err = xen_pcibk_disable_msix(pdev, dev, op); in xen_pcibk_do_one_op()
366 op->err = XEN_PCI_ERR_not_implemented; in xen_pcibk_do_one_op()
370 if (!op->err && dev && dev_data) { in xen_pcibk_do_one_op()
375 pdev->sh_info->op.err = op->err; in xen_pcibk_do_one_op()
376 pdev->sh_info->op.value = op->value; in xen_pcibk_do_one_op()
378 if (op->cmd == XEN_PCI_OP_enable_msix && op->err == 0) { in xen_pcibk_do_one_op()
382 pdev->sh_info->op.msix_entries[i].vector = in xen_pcibk_do_one_op()
383 op->msix_entries[i].vector; in xen_pcibk_do_one_op()