Skip to content

PCI: unify P2P bridge INTx swizzling

Bjorn Helgaas linux-arch 1 version Applied

Status from this message: Applied the series to my linux-next branch, thanks a lot for unifying this.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest12 patches 11 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/12PCI Hotplug: cpqphp: use config space PCI interrupt pin encodingdrivers/pci/hotplug/cpqphp_ctrl.c drivers/pci/hotplug/cpqphp_pci.c+3 -30 replies
2/12PCI: use config space encoding in pci_get_interrupt_pin()arch/x86/pci/irq.c drivers/pci/pci.c+3 -30 replies
3/12x86/PCI: use config space encoding for interrupt pinsarch/x86/pci/irq.c+20 -240 replies
4/12x86/PCI: minor logic simplicationsarch/x86/pci/irq.c+4 -40 replies
5/12PCI: add pci_swizzle_interrupt_pin()drivers/pci/pci.c include/linux/pci.h+8 -16 replies
6/12PCI: alpha: use generic pci_swizzle_interrupt_pin()arch/alpha/kernel/pci.c arch/alpha/kernel/pci_impl.h arch/alpha/kernel/sys_dp264.c +5 more+9 -140 replies
7/12PCI: arm: use generic pci_swizzle_interrupt_pin()arch/arm/kernel/bios32.c arch/arm/mach-integrator/pci.c+5 -120 replies
8/12PCI: mips: use generic pci_swizzle_interrupt_pin()arch/mips/pci/pci-ip27.c arch/mips/pci/pci.c+1 -141 reply
9/12PCI: parisc: use generic pci_swizzle_interrupt_pin()drivers/parisc/dino.c drivers/parisc/iosapic.c+3 -41 reply
10/12PCI: powerpc: use generic pci_swizzle_interrupt_pin()arch/powerpc/kernel/prom_parse.c+1 -61 reply
11/12PCI: sh: use generic pci_swizzle_interrupt_pin()arch/sh/drivers/pci/ops-cayman.c arch/sh/drivers/pci/pci.c+3 -131 reply
12/12PCI: x86: use generic pci_swizzle_interrupt_pin()arch/x86/pci/irq.c arch/x86/pci/visws.c+3 -80 replies

Reviews trailers per patch

4 of 12 patches have a Reviewed-by or Acked-by.

PatchAlex ChiangPaul MundtRalf BaechleBenjamin Herrenschmidt
1/12A-b
2/12
3/12
4/12
5/12
6/12
7/12
8/12A-b
9/12
10/12A-b
11/12A-b
12/12

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v1 thread

Cover letter [PATCH 00/12] PCI: unify P2P bridge INTx swizzling

This series adds a pci_swizzle_interrupt_pin() function in the PCI core. Most architectures currently implement this independently.

After this series, many of the callers of pci_swizzle_interrupt_pin() follow a similar pattern. I'd like to consolidate those callers, too, but I haven't started that yet.

One strange thing I'd like to understand eventually is why the swizzle in acpi_pci_irq_derive() does something special for CardBus bridges, while no other architecture does.

Comments welcome.

These patches have been compile-tested on:

    alpha
    arm
    ia64
    mips
    powerpc (ppc64)
    sh
    x86 (32-bit)
    x86 (64-bit)

I've boot-tested these architectures:

    ia64
    x86 (32-bit)

I haven't compiled parisc for want of a cross-compiler.

Bjorn

---

Bjorn Helgaas (12):
PCI: x86: use generic pci_swizzle_interrupt_pin()
PCI: sh: use generic pci_swizzle_interrupt_pin()
PCI: powerpc: use generic pci_swizzle_interrupt_pin()
PCI: parisc: use generic pci_swizzle_interrupt_pin()
PCI: mips: use generic pci_swizzle_interrupt_pin()
PCI: arm: use generic pci_swizzle_interrupt_pin()
PCI: alpha: use generic pci_swizzle_interrupt_pin()
PCI: add pci_swizzle_interrupt_pin()
x86/PCI: minor logic simplications
x86/PCI: use config space encoding for interrupt pins
PCI: use config space encoding in pci_get_interrupt_pin() PCI Hotplug: cpqphp: use config space PCI interrupt pin encoding

 arch/alpha/kernel/pci.c           |    2 +
 arch/alpha/kernel/pci_impl.h      |    9 +-----
 arch/alpha/kernel/sys_dp264.c     |    2 +
 arch/alpha/kernel/sys_eiger.c     |    2 +
 arch/alpha/kernel/sys_miata.c     |    2 +
 arch/alpha/kernel/sys_noritake.c  |    2 +
 arch/alpha/kernel/sys_ruffian.c   |    2 +
 arch/alpha/kernel/sys_sable.c     |    2 +
 arch/arm/kernel/bios32.c          |    6 ++--
 arch/arm/mach-integrator/pci.c    |   11 +-------
 arch/mips/pci/pci-ip27.c          |    6 ----
 arch/mips/pci/pci.c               |    9 +-----
 arch/powerpc/kernel/prom_parse.c  |    7 +----
 arch/sh/drivers/pci/ops-cayman.c  |    9 +-----
 arch/sh/drivers/pci/pci.c         |    7 +----
 arch/x86/pci/irq.c                |   54 +++++++++++++++++--------------------
 arch/x86/pci/visws.c              |    7 +----
 drivers/parisc/dino.c             |    4 +--
 drivers/parisc/iosapic.c          |    3 +-
 drivers/pci/hotplug/cpqphp_ctrl.c |    4 +--
 drivers/pci/hotplug/cpqphp_pci.c  |    2 +
 drivers/pci/pci.c                 |   10 +++++--
 include/linux/pci.h               |    1 +
 23 files changed, 60 insertions(+), 103 deletions(-)
Signature · 1 line
Signature