From: Jiang Liu <jiang.liu@linux.intel.com>
To: jakeo@microsoft.com, gregkh@linuxfoundation.org,
kys@microsoft.com, linux-kernel@vger.kernel.org,
devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com,
vkuznets@redhat.com, tglx@linutronix.de, haiyangz@microsoft.com,
marc.zyngier@arm.com, bhelgaas@google.com,
linux-pci@vger.kernel.org
Subject: Re: [PATCH v3 7/7] PCI: hv: New paravirtual PCI front-end for Hyper-V VMs
Date: Tue, 27 Oct 2015 15:11:05 +0800 [thread overview]
Message-ID: <562F2389.9050305@linux.intel.com> (raw)
In-Reply-To: <1445901339-11924-8-git-send-email-jakeo@microsoft.com>
On 2015/10/27 7:15, jakeo@microsoft.com wrote:
> From: Jake Oshins <jakeo@microsoft.com>
>
> This patch introduces a new driver which exposes a root PCI bus whenever a PCI
> Express device is passed through to a guest VM under Hyper-V. The device can
> be single- or multi-function. The interrupts for the devices are managed by an
> IRQ domain, implemented within the driver.
>
> Signed-off-by: Jake Oshins <jakeo@microsoft.com>
> ---
<snit>
> +
> +/**
> + * hv_pcie_init_irq_domain() - Initialize IRQ domain
> + * @hbus: The root PCI bus
> + *
> + * Return: '0' on success and error value on failure
> + */
> +static int hv_pcie_init_irq_domain(struct hv_pcibus_device *hbus)
> +{
> + hbus->msi_info.chip = &hv_msi_irq_chip;
> + hbus->msi_info.chip_data = hbus;
> + hbus->msi_info.ops = &hv_msi_ops;
> + hbus->msi_info.flags = (MSI_FLAG_USE_DEF_DOM_OPS |
> + MSI_FLAG_USE_DEF_CHIP_OPS | MSI_FLAG_MULTI_PCI_MSI |
> + MSI_FLAG_PCI_MSIX);
When interrupt remapping is not supported, x86 vector allocator
can't support multiple MSI because it can't allocate continuous
vectors yet. So please confirm whether we could enable
MSI_FLAG_MULTI_PCI_MSI for HV.
> + hbus->msi_info.handler = handle_edge_irq;
> + hbus->msi_info.handler_name = "edge";
> + hbus->msi_info.data = hbus;
How about using following pattern so we could avoid exporting
too many interfaces?
struct irq_domain *parent_domain = NULL;
hbus->msi_info.chip = &hv_msi_irq_chip;
hbus->msi_info.ops = &hv_msi_ops;
// Let arch code to fill in default ops for chip and domain
x86_setup_default_msi_irqdomian_info(&hbus->msi_info, &parent_domain);
// Override default ops if not applicable
hbus->irq_domain = pci_msi_create_irq_domain(hbus->fwnode,
&hbus->msi_info,
parent_domain);
> + hbus->irq_domain = pci_msi_create_irq_domain(hbus->fwnode,
> + &hbus->msi_info,
> + x86_vector_domain);
> + if (!hbus->irq_domain) {
> + pr_err("Failed to build an MSI IRQ domain\n");
> + return -ENODEV;
> + }
> +
> + return 0;
> +}
next prev parent reply other threads:[~2015-10-27 7:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1445901339-11924-1-git-send-email-jakeo@microsoft.com>
2015-10-26 23:15 ` [PATCH v3 4/7] PCI: Record an fwnode associated with root PCI buses, optionally jakeo
2015-10-27 0:44 ` kbuild test robot
2015-10-27 1:43 ` kbuild test robot
2015-10-27 7:10 ` Jiang Liu
2015-10-27 17:19 ` Jake Oshins
2015-10-26 23:15 ` [PATCH v3 5/7] PCI: irqdomain: Look up IRQ domain by fwnode_handle jakeo
2015-10-27 0:20 ` kbuild test robot
2015-10-27 7:10 ` Jiang Liu
2015-10-26 23:15 ` [PATCH v3 6/7] drivers:hv: Define the channel type for Hyper-V PCI Express pass-through jakeo
[not found] ` <1445901339-11924-8-git-send-email-jakeo@microsoft.com>
2015-10-27 0:32 ` [PATCH v3 7/7] PCI: hv: New paravirtual PCI front-end for Hyper-V VMs kbuild test robot
2015-10-27 7:11 ` Jiang Liu [this message]
2015-10-27 20:38 ` Jake Oshins
2015-10-28 2:01 ` Jiang Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=562F2389.9050305@linux.intel.com \
--to=jiang.liu@linux.intel.com \
--cc=apw@canonical.com \
--cc=bhelgaas@google.com \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=haiyangz@microsoft.com \
--cc=jakeo@microsoft.com \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=olaf@aepfle.de \
--cc=tglx@linutronix.de \
--cc=vkuznets@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.