RE: [PATCH V4] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx
From: Jia Hongtao-B38951 <hidden>
Date: 2013-03-05 10:12:37
-----Original Message----- From: David Laight [mailto:David.Laight@ACULAB.COM] Sent: Tuesday, March 05, 2013 1:16 AM To: Jia Hongtao-B38951; linuxppc-dev@lists.ozlabs.org; galak@kernel.crashing.org Cc: Wood Scott-B07421 Subject: RE: [PATCH V4] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx =20quoted
A PCIe erratum of mpc85xx may causes a core hang when a link of PCIe goes down. when the link goes down, Non-posted transactions issued via the ATMU requiring completion result in an instruction stall. At the same time a machine-check exception is generated to the core to allow further processing by the handler. We implements the handler which skips the instruction caused the stall.=20 Just skipping the instruction doesn't seem a good idea. But I suspect that re-initialising the PCI interface is also almost impossible.
This *skipping* is the best way I thought for this errata. It's not perfect but works. -Hongtao.
=20 Does the mpc83xx have the same errata? We've seen machine-check faults using the CSB bridge on an 83xx doing a 'pio' access after a PEX_DMA transfer to certain target addresses stalls - software gives up waiting for the dma. The target is an fpga, nothing is mapped at those addesses - but we'd expect to get ~0u back as happens on other slave windows. =20 I also remember some problems with single word DMA. =20 David =20 =20