RE: [PATCH v3 1/3] x86/hyperv: Set irq_retrigger for root partition PCI/MSI irqchip
From: Nam Cao
Date: Tue Sep 08 2026 - 02:33:41 EST
Michael Kelley <mhklinux@xxxxxxxxxxx> writes:
> From: Naman Jain <namjain@xxxxxxxxxxxxxxxxxxx> Sent: Sunday, September 6, 2026 11:51 PM
>> diff --git a/arch/x86/hyperv/irqdomain.c b/arch/x86/hyperv/irqdomain.c
>> index b3ad50a874dca..1e273d7d6c5b3 100644
>> --- a/arch/x86/hyperv/irqdomain.c
>> +++ b/arch/x86/hyperv/irqdomain.c
>> @@ -304,6 +304,7 @@ static struct irq_chip hv_pci_msi_controller = {
>> .irq_ack = irq_chip_ack_parent,
>> .irq_compose_msi_msg = hv_irq_compose_msi_msg,
>> .irq_set_affinity = irq_chip_set_affinity_parent,
>> + .irq_retrigger = irq_chip_retrigger_hierarchy,
>> };
>
> There's a slight discrepancy compared with the guest pci-hyperv.c driver,
> where setting the .irq_retrigger function is done dynamically in
> hv_pcie_init_dev_msi_info() instead of statically. The parallel here would
> be to set it in hv_init_dev_msi_info(). But given that Patch 3 of series
> removes setting .irq_retrigger in both cases, the discrepancy shouldn't
> really matter.
>
> If there's a reason to prefer one approach vs. the other, I don't know
> what that reason is.
hv_pcie_init_dev_msi_info() is for the MSI device's interrupt domain,
while this patch is setting it for the parent's interrupt domain.
The former is what we need.
Nam