Lines Matching refs:op

139 			 struct pci_dev *dev, struct xen_pci_op *op)  in xen_pcibk_enable_msi()  argument
153 op->value = 0; in xen_pcibk_enable_msi()
160 op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; in xen_pcibk_enable_msi()
163 op->value); in xen_pcibk_enable_msi()
174 struct pci_dev *dev, struct xen_pci_op *op) in xen_pcibk_disable_msi() argument
183 op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; in xen_pcibk_disable_msi()
186 op->value); in xen_pcibk_disable_msi()
195 struct pci_dev *dev, struct xen_pci_op *op) in xen_pcibk_enable_msix() argument
206 if (op->value > SH_INFO_MAX_VEC) in xen_pcibk_enable_msix()
221 entries = kmalloc(op->value * sizeof(*entries), GFP_KERNEL); in xen_pcibk_enable_msix()
225 for (i = 0; i < op->value; i++) { in xen_pcibk_enable_msix()
226 entries[i].entry = op->msix_entries[i].entry; in xen_pcibk_enable_msix()
227 entries[i].vector = op->msix_entries[i].vector; in xen_pcibk_enable_msix()
230 result = pci_enable_msix_exact(dev, entries, op->value); in xen_pcibk_enable_msix()
232 for (i = 0; i < op->value; i++) { in xen_pcibk_enable_msix()
233 op->msix_entries[i].entry = entries[i].entry; in xen_pcibk_enable_msix()
235 op->msix_entries[i].vector = in xen_pcibk_enable_msix()
241 op->msix_entries[i].vector); in xen_pcibk_enable_msix()
250 op->value = result; in xen_pcibk_enable_msix()
260 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()
275 op->value); in xen_pcibk_disable_msix()
315 struct xen_pci_op *op = &pdev->op; in xen_pcibk_do_op() local
321 *op = pdev->sh_info->op; in xen_pcibk_do_op()
323 dev = xen_pcibk_get_pci_dev(pdev, op->domain, op->bus, op->devfn); in xen_pcibk_do_op()
326 op->err = XEN_PCI_ERR_dev_not_found; in xen_pcibk_do_op()
331 switch (op->cmd) { in xen_pcibk_do_op()
333 op->err = xen_pcibk_config_read(dev, in xen_pcibk_do_op()
334 op->offset, op->size, &op->value); in xen_pcibk_do_op()
337 op->err = xen_pcibk_config_write(dev, in xen_pcibk_do_op()
338 op->offset, op->size, op->value); in xen_pcibk_do_op()
342 op->err = xen_pcibk_enable_msi(pdev, dev, op); in xen_pcibk_do_op()
345 op->err = xen_pcibk_disable_msi(pdev, dev, op); in xen_pcibk_do_op()
348 nr = op->value; in xen_pcibk_do_op()
349 op->err = xen_pcibk_enable_msix(pdev, dev, op); in xen_pcibk_do_op()
352 op->err = xen_pcibk_disable_msix(pdev, dev, op); in xen_pcibk_do_op()
356 op->err = XEN_PCI_ERR_not_implemented; in xen_pcibk_do_op()
360 if (!op->err && dev && dev_data) { in xen_pcibk_do_op()
365 pdev->sh_info->op.err = op->err; in xen_pcibk_do_op()
366 pdev->sh_info->op.value = op->value; in xen_pcibk_do_op()
368 if (op->cmd == XEN_PCI_OP_enable_msix && op->err == 0) { in xen_pcibk_do_op()
372 pdev->sh_info->op.msix_entries[i].vector = in xen_pcibk_do_op()
373 op->msix_entries[i].vector; in xen_pcibk_do_op()