From: Roman Kisel <romank@linux.microsoft.com>
To: Michael Kelley <mhklinux@outlook.com>
Cc: "apais@microsoft.com" <apais@microsoft.com>,
"benhill@microsoft.com" <benhill@microsoft.com>,
"bperkins@microsoft.com" <bperkins@microsoft.com>,
"sunilmut@microsoft.com" <sunilmut@microsoft.com>,
"arnd@arndb.de" <arnd@arndb.de>,
"bhelgaas@google.com" <bhelgaas@google.com>,
"bp@alien8.de" <bp@alien8.de>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"dan.carpenter@linaro.org" <dan.carpenter@linaro.org>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"decui@microsoft.com" <decui@microsoft.com>,
"haiyangz@microsoft.com" <haiyangz@microsoft.com>,
"hpa@zytor.com" <hpa@zytor.com>,
"joey.gouly@arm.com" <joey.gouly@arm.com>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"kw@linux.com" <kw@linux.com>,
"kys@microsoft.com" <kys@microsoft.com>,
"lenb@kernel.org" <lenb@kernel.org>,
"lpieralisi@kernel.org" <lpieralisi@kernel.org>,
"manivannan.sadhasivam@linaro.org"
<manivannan.sadhasivam@linaro.org>,
"mark.rutland@arm.com" <mark.rutland@arm.com>,
"maz@kernel.org" <maz@kernel.org>,
"mingo@redhat.com" <mingo@redhat.com>,
"oliver.upton@linux.dev" <oliver.upton@linux.dev>,
"rafael@kernel.org" <rafael@kernel.org>,
"robh@kernel.org" <robh@kernel.org>,
"rafael.j.wysocki@intel.com" <rafael.j.wysocki@intel.com>,
"ssengar@linux.microsoft.com" <ssengar@linux.microsoft.com>,
"sudeep.holla@arm.com" <sudeep.holla@arm.com>,
"suzuki.poulose@arm.com" <suzuki.poulose@arm.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"wei.liu@kernel.org" <wei.liu@kernel.org>,
"will@kernel.org" <will@kernel.org>,
"yuzenghui@huawei.com" <yuzenghui@huawei.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"kvmarm@lists.linux.dev" <kvmarm@lists.linux.dev>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"x86@kernel.org" <x86@kernel.org>
Subject: Re: [PATCH hyperv-next v8 11/11] PCI: hv: Get vPCI MSI IRQ domain from DeviceTree
Date: Mon, 28 Apr 2025 12:24:31 -0700 [thread overview]
Message-ID: <cea3a58f-a251-4100-a614-1576876e5eca@linux.microsoft.com> (raw)
In-Reply-To: <SN6PR02MB41572F24DCB9247E74876E41D4BC2@SN6PR02MB4157.namprd02.prod.outlook.com>
On 4/17/2025 8:28 AM, Michael Kelley wrote:
> From: Roman Kisel <romank@linux.microsoft.com> Sent: Monday, April 14, 2025 3:47 PM
[...]
>> + if (acpi_irq_model != ACPI_IRQ_MODEL_GIC)
>> + return NULL;
>
> This causes a build error on arm64 if pci-hyperv.c is built as a
> module because acpi_irq_model is not exported.
Will fix that! Appreciate your reviews very much!
>
> Michael
>
>> + gsi_domain_disp_fn = acpi_get_gsi_dispatcher();
>> + if (!gsi_domain_disp_fn)
>> + return NULL;
>> + return irq_find_matching_fwnode(gsi_domain_disp_fn(0),
>> + DOMAIN_BUS_ANY);
>> +}
>> +
>> +#endif
>> +
>> static int hv_pci_irqchip_init(void)
>> {
>> static struct hv_pci_chip_data *chip_data;
>> struct fwnode_handle *fn = NULL;
>> + struct irq_domain *irq_domain_parent = NULL;
>> int ret = -ENOMEM;
>>
>> chip_data = kzalloc(sizeof(*chip_data), GFP_KERNEL);
>> @@ -907,9 +952,24 @@ static int hv_pci_irqchip_init(void)
>> * way to ensure that all the corresponding devices are also gone and
>> * no interrupts will be generated.
>> */
>> - hv_msi_gic_irq_domain = acpi_irq_create_hierarchy(0, HV_PCI_MSI_SPI_NR,
>> - fn, &hv_pci_domain_ops,
>> - chip_data);
>> +#ifdef CONFIG_ACPI
>> + if (!acpi_disabled)
>> + irq_domain_parent = hv_pci_acpi_irq_domain_parent();
>> +#endif
>> +#ifdef CONFIG_OF
>> + if (!irq_domain_parent)
>> + irq_domain_parent = hv_pci_of_irq_domain_parent();
>> +#endif
>> + if (!irq_domain_parent) {
>> + WARN_ONCE(1, "Invalid firmware configuration for VMBus interrupts\n");
>> + ret = -EINVAL;
>> + goto free_chip;
>> + }
>> +
>> + hv_msi_gic_irq_domain = irq_domain_create_hierarchy(irq_domain_parent, 0,
>> + HV_PCI_MSI_SPI_NR,
>> + fn, &hv_pci_domain_ops,
>> + chip_data);
>>
>> if (!hv_msi_gic_irq_domain) {
>> pr_err("Failed to create Hyper-V arm64 vPCI MSI IRQ domain\n");
>> --
>> 2.43.0
>>
>
--
Thank you,
Roman
prev parent reply other threads:[~2025-04-28 19:24 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-14 22:47 [PATCH hyperv-next v8 00/11] arm64: hyperv: Support Virtual Trust Level Boot Roman Kisel
2025-04-14 22:47 ` [PATCH hyperv-next v8 01/11] arm64: kvm, smccc: Introduce and use API for getting hypervisor UUID Roman Kisel
2025-04-17 15:27 ` Michael Kelley
2025-04-14 22:47 ` [PATCH hyperv-next v8 02/11] arm64: hyperv: Use SMCCC to detect hypervisor presence Roman Kisel
2025-04-17 15:27 ` Michael Kelley
2025-04-28 19:23 ` Roman Kisel
2025-04-14 22:47 ` [PATCH hyperv-next v8 03/11] Drivers: hv: Enable VTL mode for arm64 Roman Kisel
2025-04-17 15:27 ` Michael Kelley
2025-04-14 22:47 ` [PATCH hyperv-next v8 04/11] Drivers: hv: Provide arch-neutral implementation of get_vtl() Roman Kisel
2025-04-14 22:47 ` [PATCH hyperv-next v8 05/11] arm64: hyperv: Initialize the Virtual Trust Level field Roman Kisel
2025-04-14 22:47 ` [PATCH hyperv-next v8 06/11] arm64, x86: hyperv: Report the VTL the system boots in Roman Kisel
2025-04-17 15:28 ` Michael Kelley
2025-04-14 22:47 ` [PATCH hyperv-next v8 07/11] dt-bindings: microsoft,vmbus: Add interrupt and DMA coherence properties Roman Kisel
2025-04-14 22:47 ` [PATCH hyperv-next v8 08/11] Drivers: hv: vmbus: Get the IRQ number from DeviceTree Roman Kisel
2025-04-14 22:47 ` [PATCH hyperv-next v8 09/11] Drivers: hv: vmbus: Introduce hv_get_vmbus_root_device() Roman Kisel
2025-04-14 22:47 ` [PATCH hyperv-next v8 10/11] ACPI: irq: Introduce acpi_get_gsi_dispatcher() Roman Kisel
2025-04-14 22:47 ` [PATCH hyperv-next v8 11/11] PCI: hv: Get vPCI MSI IRQ domain from DeviceTree Roman Kisel
2025-04-17 15:28 ` Michael Kelley
2025-04-28 19:24 ` Roman Kisel [this message]
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=cea3a58f-a251-4100-a614-1576876e5eca@linux.microsoft.com \
--to=romank@linux.microsoft.com \
--cc=apais@microsoft.com \
--cc=arnd@arndb.de \
--cc=benhill@microsoft.com \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=bperkins@microsoft.com \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=dan.carpenter@linaro.org \
--cc=dave.hansen@linux.intel.com \
--cc=decui@microsoft.com \
--cc=devicetree@vger.kernel.org \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=joey.gouly@arm.com \
--cc=krzk+dt@kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=kw@linux.com \
--cc=kys@microsoft.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mhklinux@outlook.com \
--cc=mingo@redhat.com \
--cc=oliver.upton@linux.dev \
--cc=rafael.j.wysocki@intel.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=ssengar@linux.microsoft.com \
--cc=sudeep.holla@arm.com \
--cc=sunilmut@microsoft.com \
--cc=suzuki.poulose@arm.com \
--cc=tglx@linutronix.de \
--cc=wei.liu@kernel.org \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=yuzenghui@huawei.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.