search for: pci_disable_msi

Displaying 20 results from an estimated 66 matches for "pci_disable_msi".

Did you mean: pci_disable_msix
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...ck/nvme-core.c > +++ b/drivers/block/nvme-core.c > @@ -2325,9 +2325,9 @@ static int nvme_dev_map(struct nvme_dev *dev) > > static void nvme_dev_unmap(struct nvme_dev *dev) { > - if (dev->pci_dev->msi_enabled) > + if (pci_dev_msi_enabled(dev->pci_dev, MSI_TYPE)) > pci_disable_msi(dev->pci_dev); > - else if (dev->pci_dev->msix_enabled) > + else if (pci_dev_msi_enabled(dev->pci_dev, MSIX_TYPE)) > pci_disable_msix(dev->pci_dev); > > if (dev->bar) { > diff --git a/drivers/dma/ioat/dma.c b/drivers/dma/ioat/dma.c index > 4e3549a..a11da...
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...ck/nvme-core.c > +++ b/drivers/block/nvme-core.c > @@ -2325,9 +2325,9 @@ static int nvme_dev_map(struct nvme_dev *dev) > > static void nvme_dev_unmap(struct nvme_dev *dev) { > - if (dev->pci_dev->msi_enabled) > + if (pci_dev_msi_enabled(dev->pci_dev, MSI_TYPE)) > pci_disable_msi(dev->pci_dev); > - else if (dev->pci_dev->msix_enabled) > + else if (pci_dev_msi_enabled(dev->pci_dev, MSIX_TYPE)) > pci_disable_msix(dev->pci_dev); > > if (dev->bar) { > diff --git a/drivers/dma/ioat/dma.c b/drivers/dma/ioat/dma.c index > 4e3549a..a11da...
2014 Jul 26
0
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
.....f96b90f 100644 --- a/drivers/block/nvme-core.c +++ b/drivers/block/nvme-core.c @@ -2325,9 +2325,9 @@ static int nvme_dev_map(struct nvme_dev *dev) static void nvme_dev_unmap(struct nvme_dev *dev) { - if (dev->pci_dev->msi_enabled) + if (pci_dev_msi_enabled(dev->pci_dev, MSI_TYPE)) pci_disable_msi(dev->pci_dev); - else if (dev->pci_dev->msix_enabled) + else if (pci_dev_msi_enabled(dev->pci_dev, MSIX_TYPE)) pci_disable_msix(dev->pci_dev); if (dev->bar) { diff --git a/drivers/dma/ioat/dma.c b/drivers/dma/ioat/dma.c index 4e3549a..a11dac1 100644 --- a/drivers/dma/ioat/d...
2013 Aug 28
3
[PATCH 6/6] drm/nouveau: use MSI interrupts
...} > @@ -75,6 +79,8 @@ _nouveau_mc_dtor(struct nouveau_object *object) > struct nouveau_device *device = nv_device(object); > struct nouveau_mc *pmc = (void *)object; > free_irq(device->pdev->irq, pmc); > + if (pmc->use_msi) > + pci_disable_msi(device->pdev); > nouveau_subdev_destroy(&pmc->base); > } > > @@ -96,6 +102,17 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine, > > pmc->intr_map = intr_map; > > + pmc->use_msi = nouveau_boolopt(device-...
2013 Aug 28
0
[PATCH 6/6] drm/nouveau: use MSI interrupts
...ntr) { nv_error(pmc, "unknown intr 0x%08x\n", stat); } @@ -75,6 +79,8 @@ _nouveau_mc_dtor(struct nouveau_object *object) struct nouveau_device *device = nv_device(object); struct nouveau_mc *pmc = (void *)object; free_irq(device->pdev->irq, pmc); + if (pmc->use_msi) + pci_disable_msi(device->pdev); nouveau_subdev_destroy(&pmc->base); } @@ -96,6 +102,17 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine, pmc->intr_map = intr_map; + pmc->use_msi = nouveau_boolopt(device->cfgopt, "NvMSI", true); + if (pmc->...
2013 Aug 28
0
[PATCH 6/6] drm/nouveau: use MSI interrupts
..._nouveau_mc_dtor(struct nouveau_object *object) > > struct nouveau_device *device = nv_device(object); > > struct nouveau_mc *pmc = (void *)object; > > free_irq(device->pdev->irq, pmc); > > + if (pmc->use_msi) > > + pci_disable_msi(device->pdev); > > nouveau_subdev_destroy(&pmc->base); > > } > > > > @@ -96,6 +102,17 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine, > > > > pmc->intr_map = intr_map; > > > > + p...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Hi all, The series is a draft of generic MSI driver that supports PCI and Non-PCI device which have MSI capability. If you're not interested it, sorry for the noise. The series is based on Linux-3.16-rc1. MSI was introduced in PCI Spec 2.2. Currently, kernel MSI driver codes are bonding with PCI device. Because MSI has a lot advantages in design. More and more non-PCI devices want to use
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Hi all, The series is a draft of generic MSI driver that supports PCI and Non-PCI device which have MSI capability. If you're not interested it, sorry for the noise. The series is based on Linux-3.16-rc1. MSI was introduced in PCI Spec 2.2. Currently, kernel MSI driver codes are bonding with PCI device. Because MSI has a lot advantages in design. More and more non-PCI devices want to use
2013 Jan 10
0
linux-next: Tree for Jan 10 (vmci)
...ble_device' [-Werror=implicit-function-declaration] > drivers/misc/vmw_vmci/vmci_guest.c:592:2: error: implicit declaration of function 'pci_enable_msi' [-Werror=implicit-function-declaration] > drivers/misc/vmw_vmci/vmci_guest.c:654:3: error: implicit declaration of function 'pci_disable_msix' [-Werror=implicit-function-declaration] > drivers/misc/vmw_vmci/vmci_guest.c:656:3: error: implicit declaration of function 'pci_disable_msi' [-Werror=implicit-function-declaration] > cc1: some warnings being treated as errors > make[4]: *** [drivers/misc/vmw_vmci/vmci_guest....
2013 Jan 10
0
linux-next: Tree for Jan 10 (vmci)
...ble_device' [-Werror=implicit-function-declaration] > drivers/misc/vmw_vmci/vmci_guest.c:592:2: error: implicit declaration of function 'pci_enable_msi' [-Werror=implicit-function-declaration] > drivers/misc/vmw_vmci/vmci_guest.c:654:3: error: implicit declaration of function 'pci_disable_msix' [-Werror=implicit-function-declaration] > drivers/misc/vmw_vmci/vmci_guest.c:656:3: error: implicit declaration of function 'pci_disable_msi' [-Werror=implicit-function-declaration] > cc1: some warnings being treated as errors > make[4]: *** [drivers/misc/vmw_vmci/vmci_guest....
2018 Jan 25
0
[PATCH] drm/nouveau: Move irq setup/teardown to pci ctor/dtor
...->msi_rearm(pci); - return ret; + return 0; } static void * nvkm_pci_dtor(struct nvkm_subdev *subdev) { struct nvkm_pci *pci = nvkm_pci(subdev); + nvkm_agp_dtor(pci); + + if (pci->irq >= 0) { + pci->teardown = true; + free_irq(pci->irq, pci); + } + if (pci->msi) pci_disable_msi(pci->pdev); + return nvkm_pci(subdev); } @@ -177,6 +189,7 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, pci->func = func; pci->pdev = device->func->pci(device)->pdev; pci->irq = -1; + pci->teardown = false; pci->pcie.speed = -...
2014 Feb 13
0
[PATCH v2] drm/nouveau: support for platform devices
...ct nouveau_mc *pmc = (void *)object; >> - free_irq(device->pdev->irq, pmc); >> - if (pmc->use_msi) >> + free_irq(pmc->irq, pmc); >> + if (nv_device_is_pci(device) && pmc->use_msi) > You should be able to keep the conditional as is. > >> pci_disable_msi(device->pdev); >> nouveau_subdev_destroy(&pmc->base); >> } >> @@ -114,22 +114,25 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine, >> if (ret) >> return ret; >> >> - switch (device->pdev->device...
2018 Jan 25
0
[PATCH v2] drm/nouveau: Move irq setup/teardown to pci ctor/dtor
...->msi_rearm(pci); - return ret; + return 0; } static void * nvkm_pci_dtor(struct nvkm_subdev *subdev) { struct nvkm_pci *pci = nvkm_pci(subdev); + nvkm_agp_dtor(pci); + + if (pci->irq >= 0) { + pci->teardown = true; + free_irq(pci->irq, pci); + } + if (pci->msi) pci_disable_msi(pci->pdev); + return nvkm_pci(subdev); } @@ -177,6 +189,7 @@ nvkm_pci_new_(const struct nvkm_pci_func *func, struct nvkm_device *device, pci->func = func; pci->pdev = device->func->pci(device)->pdev; pci->irq = -1; + pci->teardown = false; pci->pcie.speed = -...
2013 Aug 28
11
[PATCH 0/6] Nouveau on ARM fixes
This is the first set of patches to make Nouveau work on Tegra. Those are only the obvious correctness fixes, a lot of optimization work remains to be done, but at least it's enough to get accel working and let the machine survive a piglit run. A new BO flag is introduced to allow userspace to hint the kernel about possible optimizations. Lucas Stach (6): drm/ttm: recognize ARM arch in
2018 Jan 25
2
[PATCH v3] drm/nouveau: Move irq setup/teardown to pci ctor/dtor
...); - return ret; + return 0; } static void * nvkm_pci_dtor(struct nvkm_subdev *subdev) { struct nvkm_pci *pci = nvkm_pci(subdev); + int irq; + nvkm_agp_dtor(pci); + + if (pci->irq >= 0) { + irq = pci->irq; + pci->irq = -1; + free_irq(irq, pci); + } + if (pci->msi) pci_disable_msi(pci->pdev); + return nvkm_pci(subdev); } -- 2.14.3
2008 Sep 26
2
RE: [Xen-changelog] [xen-unstable] x86: Properly synchronise updates to pirq-to-vector mapping.
...ore(&desc->lock, flags); + return rc; } extern void dump_ioapic_irq_info(void); diff -r 7750906b06b3 -r 31f09a5e24cf xen/arch/x86/msi.c --- a/xen/arch/x86/msi.c Wed Sep 24 10:23:51 2008 +0100 +++ b/xen/arch/x86/msi.c Wed Sep 24 12:36:55 2008 +0100 @@ -727,7 +727,6 @@ void pci_disable_msi(int vector) __pci_disable_msix(vector); } -extern struct hw_interrupt_type pci_msi_type; static void msi_free_vectors(struct pci_dev* dev) { struct msi_desc *entry, *tmp; diff -r 7750906b06b3 -r 31f09a5e24cf xen/arch/x86/physdev.c --- a/xen/arch/x86/physdev.c Wed Sep 24 10:23:5...
2014 Jul 26
0
[RFC PATCH 09/11] PCI/MSI: refactor PCI MSI driver
...x_for_msi(dev, 1); - dev->msi_enabled = 0; + msi_set_enable(dev->msi, 0, MSI_TYPE); + pci_intx_for_msi(dev->msi, 1); + dev->msi->msi_enabled = 0; /* Return the device with MSI unmasked as initial states */ mask = msi_mask(desc->msi_attrib.multi_cap); @@ -884,7 +915,8 @@ void pci_disable_msi(struct pci_dev *dev) return; pci_msi_shutdown(dev); - free_msi_irqs(dev); + free_msi_irqs(dev->msi); + free_msi_sysfs(dev); } EXPORT_SYMBOL(pci_disable_msi); @@ -930,9 +962,10 @@ int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec) void __iomem *base; u16...
2011 May 11
4
pcifront problem in Ubuntu 10.04 domU
...000342d8f8 ffff88000342d000 0000000000000001 ffff88003b1bc6c0 [ 321.354868] 0000000000000000 0000000000000000 ffff880003447ca8 ffffffff813015fd [ 321.354880] 00000000fffffff0 ffff88003b1bc6e0 ffff880003447cd8 ffffffffa0040199 [ 321.354892] Call Trace: [ 321.354900] [<ffffffff813015fd>] pci_disable_msi+0x3d/0x50 [ 321.354911] [<ffffffffa0040199>] bnx2_free_irq+0xa9/0xb0 [bnx2] [ 321.354920] [<ffffffffa0046bce>] bnx2_open+0x8e/0x210 [bnx2] [ 321.354929] [<ffffffff814b690e>] __dev_open+0x8e/0xe0 [ 321.354937] [<ffffffff814b5a56>] __dev_change_flags+0x96/0x170 [ 321....
2011 Sep 20
0
[PATCH 4/4] x86: split MSI IRQ chip
...q_desc; struct msi_desc; /* Helper functions */ -extern void mask_msi_irq(struct irq_desc *); -extern void unmask_msi_irq(struct irq_desc *); -extern void set_msi_affinity(struct irq_desc *, const cpumask_t *); extern int pci_enable_msi(struct msi_info *msi, struct msi_desc **desc); extern void pci_disable_msi(struct msi_desc *desc); extern void pci_cleanup_msi(struct pci_dev *pdev); -extern int setup_msi_irq(struct msi_desc *desc, int irq); +extern void setup_msi_handler(struct irq_desc *, struct msi_desc *); +extern void setup_msi_irq(struct irq_desc *); extern void teardown_msi_irq(int irq); extern...
2008 Sep 23
9
Xen crash on dom0 shutdown
There is a BUG_ON() at xen/arch/x86/physdev.c:169 which appears to be dependent upon guest behavior (should close event channel before un-mapping pirq), rather than on internal hypervisor state. In 2.6.18, this likely goes unnoticed because pci_device_shutdown() only calls all the driver shutdown routines. In newer kernels, however, it also calls pci_msi_shutdown() and pci_msix_shutdown(), which