Re: [PATCH v2 1/2] PCI: vmd: Assign VMD IRQ domain before enumeration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/30/2022 10:54 AM, Bjorn Helgaas wrote:
> On Wed, Mar 30, 2022 at 08:54:15AM -0700, Patel, Nirmal wrote:
>> On 3/29/2022 4:27 PM, Dan Williams wrote:
>>> On Tue, Mar 29, 2022 at 3:48 PM Patel, Nirmal
>>> <nirmal.patel@xxxxxxxxxxxxxxx> wrote:
>>>> On 3/16/2022 8:51 AM, Nirmal Patel wrote:
>>>>> From: Nirmal Patel <nirmal.patel@xxxxxxxxxxxxxxx>
>>>>>
>>>>> VMD creates and assigns a separate IRQ domain only when MSI remapping is
>>>>> enabled. For example VMD-MSI. But VMD doesn't assign IRQ domain when
>>>>> MSI remapping is disabled resulting child devices getting default
>>>>> PCI-MSI IRQ domain. Now when interrupt remapping is enabled by
>>>>> intel-iommu all the PCI devices are assigned INTEL-IR-MSI domain
>>>>> including VMD endpoints. But devices behind VMD get PCI-MSI IRQ domain
>>>>> when VMD create a root bus and configures child devices.
>>>>>
>>>>> As a result DMAR errors were observed when interrupt remapping was
>>>>> enabled on Intel Icelake CPUs. For instance:
>>>>>
>>>>>   DMAR: DRHD: handling fault status reg 2
>>>>>   DMAR: [INTR-REMAP] Request device [0xe2:0x00.0] fault index 0xa00 [fault reason 0x25] Blocked a compatibility format interrupt request
>>>>>
>>>>> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx>
>>>>> Signed-off-by: Nirmal Patel <nirmal.patel@xxxxxxxxxxxxxxx>
>>>>> ---
>>>>>  drivers/pci/controller/vmd.c | 2 ++
>>>>>  1 file changed, 2 insertions(+)
>>>>>
>>>>> diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
>>>>> index cc166c683638..3a6570e5b765 100644
>>>>> --- a/drivers/pci/controller/vmd.c
>>>>> +++ b/drivers/pci/controller/vmd.c
>>>>> @@ -853,6 +853,8 @@ static int vmd_enable_domain(struct vmd_dev *vmd, unsigned long features)
>>>>>       vmd_attach_resources(vmd);
>>>>>       if (vmd->irq_domain)
>>>>>               dev_set_msi_domain(&vmd->bus->dev, vmd->irq_domain);
>>>>> +     else
>>>>> +             dev_set_msi_domain(&vmd->bus->dev, dev_get_msi_domain(&vmd->dev->dev));
>>>>>
>>>>>       vmd_acpi_begin();
>>>>>
>>>> Gentle ping!
>>> It helps to be explicit when you send a patch and a follow-up ping.
>>> Are you asking Lorenzo to take this? Is this urgent such that Bjorn
>>> should consider taking it directly? The changelog notes what happens,
>>> but not the severity of end user visible impact. The merge window is
>>> presently open so the natural inclination is to just wait until that
>>> closes to circle back to outstanding patches.
>> This patch removes a flag that bypasses MSI disable feature of VMD and
>> improves the performance. So it would be nice if the patch gets accepted
>> sooner. I tend to send follow-up ping after a week or so if I do not get any
>> feedback and to allow it to get accepted in time.
> There are only a few days left in the v5.18 merge window, so unless
> it's an emergency, this would be v5.19 material.
>
> This claims to be a v2, but I missed the v1, and the lore archives [1]
> seem incomplete.  Maybe the v1 (and maybe the cover letter?) were HTML
> or got lost for some other reason?
>
> Bjorn
>
> [1] https://lore.kernel.org/all/?q=f%3Anirmal.patel

Initially I created one patch [1] and I was advised to create two separate patches.

[1] https://lore.kernel.org/all/358b0673-f90f-78ca-be66-51d5f76cc42b@xxxxxxxxxxxxxxx/




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux