Lines Matching refs:op

146 			 struct pci_dev *dev, struct xen_pci_op *op)  in xen_pcibk_enable_msi()  argument
165 op->value = 0; in xen_pcibk_enable_msi()
172 op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; in xen_pcibk_enable_msi()
175 op->value); in xen_pcibk_enable_msi()
186 struct pci_dev *dev, struct xen_pci_op *op) in xen_pcibk_disable_msi() argument
201 op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; in xen_pcibk_disable_msi()
204 op->value); in xen_pcibk_disable_msi()
210 struct pci_dev *dev, struct xen_pci_op *op) in xen_pcibk_enable_msix() argument
221 if (op->value > SH_INFO_MAX_VEC) in xen_pcibk_enable_msix()
236 entries = kmalloc(op->value * sizeof(*entries), GFP_KERNEL); in xen_pcibk_enable_msix()
240 for (i = 0; i < op->value; i++) { in xen_pcibk_enable_msix()
241 entries[i].entry = op->msix_entries[i].entry; in xen_pcibk_enable_msix()
242 entries[i].vector = op->msix_entries[i].vector; in xen_pcibk_enable_msix()
245 result = pci_enable_msix_exact(dev, entries, op->value); in xen_pcibk_enable_msix()
247 for (i = 0; i < op->value; i++) { in xen_pcibk_enable_msix()
248 op->msix_entries[i].entry = entries[i].entry; in xen_pcibk_enable_msix()
250 op->msix_entries[i].vector = in xen_pcibk_enable_msix()
256 op->msix_entries[i].vector); in xen_pcibk_enable_msix()
265 op->value = result; in xen_pcibk_enable_msix()
275 struct pci_dev *dev, struct xen_pci_op *op) in xen_pcibk_disable_msix() argument
294 op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; in xen_pcibk_disable_msix()
297 pci_name(dev), op->value); in xen_pcibk_disable_msix()
334 struct xen_pci_op *op = &pdev->op; in xen_pcibk_do_op() local
340 *op = pdev->sh_info->op; in xen_pcibk_do_op()
342 dev = xen_pcibk_get_pci_dev(pdev, op->domain, op->bus, op->devfn); in xen_pcibk_do_op()
345 op->err = XEN_PCI_ERR_dev_not_found; in xen_pcibk_do_op()
350 switch (op->cmd) { in xen_pcibk_do_op()
352 op->err = xen_pcibk_config_read(dev, in xen_pcibk_do_op()
353 op->offset, op->size, &op->value); in xen_pcibk_do_op()
356 op->err = xen_pcibk_config_write(dev, in xen_pcibk_do_op()
357 op->offset, op->size, op->value); in xen_pcibk_do_op()
361 op->err = xen_pcibk_enable_msi(pdev, dev, op); in xen_pcibk_do_op()
364 op->err = xen_pcibk_disable_msi(pdev, dev, op); in xen_pcibk_do_op()
367 nr = op->value; in xen_pcibk_do_op()
368 op->err = xen_pcibk_enable_msix(pdev, dev, op); in xen_pcibk_do_op()
371 op->err = xen_pcibk_disable_msix(pdev, dev, op); in xen_pcibk_do_op()
375 op->err = XEN_PCI_ERR_not_implemented; in xen_pcibk_do_op()
379 if (!op->err && dev && dev_data) { in xen_pcibk_do_op()
384 pdev->sh_info->op.err = op->err; in xen_pcibk_do_op()
385 pdev->sh_info->op.value = op->value; in xen_pcibk_do_op()
387 if (op->cmd == XEN_PCI_OP_enable_msix && op->err == 0) { in xen_pcibk_do_op()
391 pdev->sh_info->op.msix_entries[i].vector = in xen_pcibk_do_op()
392 op->msix_entries[i].vector; in xen_pcibk_do_op()