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