Re: [PATCH v6 4/4] PCI: designware: Add iATU Unroll feature

From: Tim Harvey
Date: Wed Nov 16 2016 - 11:15:58 EST


On Tue, Nov 15, 2016 at 4:30 PM, Fabio Estevam <festevam@xxxxxxxxx> wrote:
> Hi Tim,
>
> On Tue, Nov 15, 2016 at 10:22 PM, Tim Harvey <tharvey@xxxxxxxxxxxxx> wrote:
>
>> Bjorn / Joao,
>>
>> This patch (from commit a0601a47053714eecec726aea5ebcd829f817497) is
>> causing a kernel regression in 4.9. I can no longer boot the kernel on
>> boards that have a PCIe switch downstream from the IMX6 (ie many of
>> the Gateworks Ventana boards) unless PCI is enabled in the bootloader
>> (which is not recommended as that causes PCI link in the kernel to
>> occasionally fail).
>
> This has been fixed in 4.9-rc4 by the following commit:
>
> commit 416379f9ebded501eda882e6af0a7aafc1866700
> Author: Niklas Cassel <niklas.cassel@xxxxxxxx>
> Date: Fri Oct 14 23:54:55 2016 +0200
>
> PCI: designware: Check for iATU unroll support after initializing host
>
> dw_pcie_iatu_unroll_enabled() reads a dbi_base register. Reading any
> dbi_base register before pp->ops->host_init has been called causes
> "imprecise external abort" on platforms like ARTPEC-6, where the PCIe
> module is disabled at boot and first enabled in pp->ops->host_init. Move
> dw_pcie_iatu_unroll_enabled() to dw_pcie_setup_rc(), since it is after
> pp->ops->host_init, but before pp->iatu_unroll_enabled is actually used.
>
> Fixes: a0601a470537 ("PCI: designware: Add iATU Unroll feature")
> Tested-by: James Le Cuirot <chewi@xxxxxxxxxx>
> Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxxx>
> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Acked-by: Joao Pinto <jpinto@xxxxxxxxxxxx>
> Acked-by: Olof Johansson <olof@xxxxxxxxx>

Fabio,

That does indeed resolve the issue!

Thanks,

Tim