[PATCH 0/7] Fixes for Armada 370/XP PCIe
Jason Cooper
jason at lakedaemon.net
Sun Apr 20 12:11:50 PDT 2014
Bjorn,
On Fri, Apr 18, 2014 at 02:19:46PM +0200, Thomas Petazzoni wrote:
> Hello,
>
> This set of commits fixes a number of problems in the PCIe support of
> the Armada 370 and Armada XP SoCs, allowing to use PCIe devices that
> were not properly supported until now.
>
> Due to the interaction of PCIe with other subsystems, the fixes are
> not limited to drivers/pci, but also touch drivers/bus and
> drivers/irqchip.
There is no official maintainer for drivers/bus, so we usually take
those throught the arm-soc tree. Thomas (tglx) takes pull requests of
branches mvebu sets up for him, so the irqchip stuff is handled.
Would you mind Acking #4 and #7, particularly #7 for us? It would sure
simplify getting this set of fixes into mainline.
> Here are the details of the patches:
>
> * The first three patches are fixes in the MSI handling. They fix
> problems with PCIe device drivers trying to use MSI-X (which we
> don't support), and incorrect freeing of MSIs causing kernel panics
> when PCIe device drivers try to allocate/free MSIs several times.
>
> They touch drivers/irqchip/ only, and they are independent from the
> rest of the series, both from a build and a runtime point of view.
>
> These bugs exist since the MSI support was added, in v3.13. The
> commits carry the necessary Fixes and Cc to stable informations.
>
> * The fourth patch fixes an off-by-one in the computed size of MBus
> windows. This only worked because the mvebu-mbus driver was
> silently accepting invalid sizes. I've marked it for stable because
> it really is bug, but even though it's not visible by itself, it is
> needed for other patches in the series.
>
> This patch touches drivers/pci/host, and should probably be taken
> by the mvebu maintainers, with the Ack of the PCI maintainer, as it
> is a runtime dependency for the next patch.
>
> This patch is marked for stable all the way to when the PCI driver
> was introduced.
>
> * The fifth patch make the mvebu-mbus driver check (and loudly
> complain) if it is asked to create invalid regions (whose base
> address or size are not compatible with the documented MBus
> requirements).
>
> This patch touches drivers/bus, and should probably be taken by the
> mvebu maintainers. As explained above, it is mandatory to have
> PATCH 4 applied before PATCH 5: there is a runtime dependency
> between the two (but no build time dependency).
>
> This patch is not marked for stable, as it only adds some
> additional debugging information, which while very useful, is not
> technically stable material.
>
> * The sixth patch relaxes a check in mvebu-mbus driver about
> conflicting windows, which is necessary
>
> This patch touches drivers/bus, and should probably be taken by the
> mvebu maintainers. It is not a fix by itself, but it is required
> for the last patch, which is a fix. Therefore, it is marked for
> stable, all the way to when the mvebu-mbus driver was introduced.
>
> * The seventh patch improves the pci-mvebu driver to allow the
> creation of multiple MBus windows when the PCI BAR calculated by
> the Linux PCI core has a non power-of-two size. This is needed
> because MBus windows can only have power-of-two sizes. Until now,
> we were configuring invalid MBus windows, which with certain PCIe
> devices, was either causing kernel panics at boot time or
> misfunction of the device.
...
> Jason Gunthorpe (1):
> bus: mvebu-mbus: Avoid setting an undefined window size
>
> Neil Greatorex (1):
> irqchip: armada-370-xp: Fix releasing of MSIs
>
> Thomas Petazzoni (4):
> irqchip: armada-370-xp: fix invalid cast of signed value into unsigned
> variable
> irqchip: armada-370-xp: implement the ->check_device() msi_chip
> operation
> bus: mvebu-mbus: allow several windows with the same target/attribute
> pci: pci-mvebu: split PCIe BARs into multiple MBus windows when needed
>
> Willy Tarreau (1):
> pci: mvebu: fix off-by-one in the computed size of the mbus windows
>
> drivers/bus/mvebu-mbus.c | 22 ++++++---
> drivers/irqchip/irq-armada-370-xp.c | 17 +++++--
> drivers/pci/host/pci-mvebu.c | 92 ++++++++++++++++++++++++++++++-------
> 3 files changed, 106 insertions(+), 25 deletions(-)
thx,
Jason.
More information about the linux-arm-kernel
mailing list