lkml.org 
[lkml]   [2020]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 39/83] s390/pci: do not set affinity for floating irqs
    Date
    From: Niklas Schnelle <schnelle@linux.ibm.com>

    commit 86dbf32da150339ca81509fa2eb84c814b55258b upstream.

    with the introduction of CPU directed interrupts the kernel
    parameter pci=force_floating was introduced to fall back
    to the previous behavior using floating irqs.

    However we were still setting the affinity in that case,
    both in __irq_alloc_descs() and via the irq_set_affinity
    callback in struct irq_chip.

    For the former only set the affinity in the directed case.

    The latter is explicitly set in zpci_directed_irq_init()
    so we can just leave it unset for the floating case.

    Fixes: e979ce7bced2 ("s390/pci: provide support for CPU directed interrupts")
    Co-developed-by: Alexander Schmidt <alexs@linux.ibm.com>
    Signed-off-by: Alexander Schmidt <alexs@linux.ibm.com>
    Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/s390/pci/pci_irq.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    --- a/arch/s390/pci/pci_irq.c
    +++ b/arch/s390/pci/pci_irq.c
    @@ -115,7 +115,6 @@ static struct irq_chip zpci_irq_chip = {
    .name = "PCI-MSI",
    .irq_unmask = pci_msi_unmask_irq,
    .irq_mask = pci_msi_mask_irq,
    - .irq_set_affinity = zpci_set_irq_affinity,
    };

    static void zpci_handle_cpu_local_irq(bool rescan)
    @@ -276,7 +275,9 @@ int arch_setup_msi_irqs(struct pci_dev *
    rc = -EIO;
    if (hwirq - bit >= msi_vecs)
    break;
    - irq = __irq_alloc_descs(-1, 0, 1, 0, THIS_MODULE, msi->affinity);
    + irq = __irq_alloc_descs(-1, 0, 1, 0, THIS_MODULE,
    + (irq_delivery == DIRECTED) ?
    + msi->affinity : NULL);
    if (irq < 0)
    return -ENOMEM;
    rc = irq_set_msi_desc(irq, msi);

    \
     
     \ /
      Last update: 2020-05-01 15:51    [W:4.092 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site