[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20151105145141.GA11787@localhost.localdomain>
Date: Thu, 5 Nov 2015 14:51:41 +0000
From: Keith Busch <keith.busch@...el.com>
To: Jiang Liu <jiang.liu@...ux.intel.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
linux-pci@...r.kernel.org, Dan Williams <dan.j.williams@...el.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Bryan Veal <bryan.e.veal@...el.com>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, Martin Mares <mj@....cz>,
Jon Derrick <jonathan.derrick@...el.com>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [RFC PATCHv3 3/4] x86/pci: Initial commit for new VMD device
driver
On Thu, Nov 05, 2015 at 02:35:31PM +0800, Jiang Liu wrote:
> Hi Keith,
> Could you please try the attached patch?
> Thanks!
> Gerry
Thanks! I anticipated this and tested the same thing yesterday, and it
is successful.
I'll apply to the series and send a new revision hopefully today. Not
requiring a parent simplifies the driver since we don't define
irq_domain_ops now, and the functionality they provided moves to the
irq_chip.
> From: Liu Jiang <jiang.liu@...ux.intel.com>
> Date: Thu, 5 Nov 2015 11:25:07 +0800
> Subject: [PATCH] msi: Relax msi_domain_alloc() to support parentless MSI
> irqdomains
>
> Previously msi_domain_alloc() assumes MSI irqdomains always have parent
> irqdomains, but that's not true for the new Intel VMD devices. So relax
> msi_domain_alloc() to support parentless MSI irqdomains.
>
> Signed-off-by: Jiang Liu <jiang.liu@...ux.intel.com>
> Signed-off-by: Liu Jiang <jiang.liu@...ux.intel.com>
> ---
> kernel/irq/msi.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
> index 7e6512b9dc1f..e4d3d707efff 100644
> --- a/kernel/irq/msi.c
> +++ b/kernel/irq/msi.c
> @@ -109,9 +109,11 @@ static int msi_domain_alloc(struct irq_domain *domain, unsigned int virq,
> if (irq_find_mapping(domain, hwirq) > 0)
> return -EEXIST;
>
> - ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg);
> - if (ret < 0)
> - return ret;
> + if (domain->parent) {
> + ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg);
> + if (ret < 0)
> + return ret;
> + }
>
> for (i = 0; i < nr_irqs; i++) {
> ret = ops->msi_init(domain, info, virq + i, hwirq + i, arg);
> --
> 1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists