On Mon, May 15, 2017 at 02:00:33PM -0700, Brian Norris wrote: > On Mon, May 15, 2017 at 12:48:30PM -0700, Alexander Duyck wrote: > > On Mon, May 15, 2017 at 9:36 AM, Brian Norris <briannorris@xxxxxxxxxxxx> wrote: > > > So there may be several implementation bugs with RK3399. I don't know > > > how much can be fixed on Rockchip's side, vs. how much can be > > > accomodated in the PCI core. > > > > This is the kind of thing we have PCIe quirks for if nothing else. > > Odds are we should be able to work around it, it is just a matter of > > knowing what all the quirks are. > > Maybe your imagination for "quirks" isn't creative enough :) BTW, I meant to note that people have gone to some extreme lengths to handle buggy / quirky RCs. Look at drivers/pci/dwc/pci-imx6.c, which hooks all the way into the core ARM exception handling just to mask aborts! (See imx6q_pcie_abort_handler.) And they have some patches intended to fix crashes in 4.12-rc1 to hook synchronous aborts to return "all 1's". But that's extremely invasive and not very precise (I don't think that even checks the difference between PCI-induced aborts and other system aborts?). Probably not gonna fly on ARM64 either... Brian [1] [PATCH] PCI: imx6: fix downstream bus scanning https://patchwork.ozlabs.org/patch/760748/