Re: [PATCH v2 5/6] PCI: brcmstb: Add panic/die handler to RC driver

From: Jim Quinlan
Date: Wed Jan 06 2021 - 14:58:32 EST


On Wed, Jan 6, 2021 at 2:42 PM Jim Quinlan <james.quinlan@xxxxxxxxxxxx> wrote:
>
> ---------- Forwarded message ---------
> From: Bjorn Helgaas <helgaas@xxxxxxxxxx>
> Date: Wed, Jan 6, 2021 at 2:19 PM
> Subject: Re: [PATCH v2 5/6] PCI: brcmstb: Add panic/die handler to RC driver
> To: Jim Quinlan <james.quinlan@xxxxxxxxxxxx>
> Cc: <linux-pci@xxxxxxxxxxxxxxx>, Nicolas Saenz Julienne
> <nsaenzjulienne@xxxxxxx>, <broonie@xxxxxxxxxx>,
> <bcm-kernel-feedback-list@xxxxxxxxxxxx>, Lorenzo Pieralisi
> <lorenzo.pieralisi@xxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Bjorn
> Helgaas <bhelgaas@xxxxxxxxxx>, Florian Fainelli
> <f.fainelli@xxxxxxxxx>, moderated list:BROADCOM BCM2711/BCM2835 ARM
> ARCHITECTURE <linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx>, moderated
> list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE
> <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, open list
> <linux-kernel@xxxxxxxxxxxxxxx>
>
>
> On Mon, Nov 30, 2020 at 04:11:42PM -0500, Jim Quinlan wrote:
> > Whereas most PCIe HW returns 0xffffffff on illegal accesses and the like,
> > by default Broadcom's STB PCIe controller effects an abort. This simple
> > handler determines if the PCIe controller was the cause of the abort and if
> > so, prints out diagnostic info.
> >
> > Example output:
> > brcm-pcie 8b20000.pcie: Error: Mem Acc: 32bit, Read, @0x38000000
> > brcm-pcie 8b20000.pcie: Type: TO=0 Abt=0 UnspReq=1 AccDsble=0 BadAddr=0
>
> What does this mean for all the other PCI core code that expects
> 0xffffffff data returns? Does it work? Does it break differently on
> STB than on other platforms?
Hi Bjorn,

Our PCIe HW causes a CPU abort when this happens. Occasionally a
customer will have a fault handler try to fix up the abort and
continue on, but we recommend solving the root problem. This commit
just gives us a chance to glean info about the problem. Our newer
SOCs have a mode that doesn't abort and instead returns 0xffffffff.

BTW, can you point me to example files where "PCI core code that
expects 0xffffffff data returns" [on bad accesses]?

Regards,
Jim Quinlan
Broadcom STB

>
> > +/*
> > + * Dump out pcie errors on die or panic.
>
> s/pcie/PCIe/
> This could be a single-line comment.
>
> > + */
>