lkml.org 
[lkml]   [2020]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch V2 03/46] PCI: vmd: Dont abuse vector irqomain as parent
    VMD has it's own PCI/MSI interrupt domain which is not in any way depending
    on the x86 vector domain. PCI devices behind VMD share the VMD MSIX vector
    entries via a VMD specific message translation to the actual VMD MSIX
    vector. The VMD device interrupt handler for the VMD MSIX vectors invokes
    all interrupt handlers of the devices which share a vector.

    Making the x86 vector domain the actual parent of the VMD irq domain is
    pointless and actually counterproductive. When a device interrupt is
    requested then it will activate the interrupt which traverses down the
    hierarchy and consumes an interrupt vector in the vector domain which is
    never used.

    The domain is self contained and has no parent dependencies, so just hand
    in NULL for the parent and be done with it.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Jonathan Derrick <jonathan.derrick@intel.com>
    Cc: linux-pci@vger.kernel.org
    ---
    V2: New patch.
    ---
    drivers/pci/controller/vmd.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/pci/controller/vmd.c
    +++ b/drivers/pci/controller/vmd.c
    @@ -573,7 +573,8 @@ static int vmd_enable_domain(struct vmd_
    return -ENODEV;

    vmd->irq_domain = pci_msi_create_irq_domain(fn, &vmd_msi_domain_info,
    - x86_vector_domain);
    + NULL);
    +
    if (!vmd->irq_domain) {
    irq_domain_free_fwnode(fn);
    return -ENODEV;
    \
     
     \ /
      Last update: 2020-08-26 14:15    [W:2.325 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site