ARM: BCM5301X: Add back handler ignoring external imprecise aborts
authorRafał Miłecki <rafal@milecki.pl>
Sat, 29 Oct 2016 11:12:29 +0000 (13:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 8 Apr 2017 07:30:35 +0000 (09:30 +0200)
commit5ed56ca86f961f57370e7f9603cc9897654a482a
treec4176eeb2a784d8e9f0949ee6653a5455135bd9c
parent40c5b99f8acede7f260bf3807cf59bc9bb6ff3f1
ARM: BCM5301X: Add back handler ignoring external imprecise aborts

commit 09f3510fb70a46c8921f2cf4a90dbcae460a6820 upstream.

Since early BCM5301X days we got abort handler that was removed by
commit 937b12306ea79 ("ARM: BCM5301X: remove workaround imprecise abort
fault handler"). It assumed we need to deal only with pending aborts
left by the bootloader. Unfortunately this isn't true for BCM5301X.

When probing PCI config space (device enumeration) it is expected to
have master aborts on the PCI bus. Most bridges don't forward (or they
allow disabling it) these errors onto the AXI/AMBA bus but not the
Northstar (BCM5301X) one.

iProc PCIe controller on Northstar seems to be some older one, without
a control register for errors forwarding. It means we need to workaround
this at platform level. All newer platforms are not affected by this
issue.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mach-bcm/bcm_5301x.c