On Fri, Jun 10, 2016 at 03:45:30PM +1000, Benjamin Herrenschmidt wrote: >On Fri, 2016-06-10 at 15:28 +1000, Alexey Kardashevskiy wrote: >> > Actually, it's likely caused by hardware defect >> > - we can't set 2GB (0x80000000 - 0xffffffff) to RC's memory window. >> > Otherwise, it *seems* the window is disabled. I tried updating the >> > window with (0x80000000 - 0xffefffff) or (0x80000000 - 0xffdffff), no >> > EEH error was seen. I already got 0x00001000 on read despite whatever >> > I wrote to 0x20 reg. >> > >> > The hardware is broken. In order to fix this, I intend to include a >> > bitmap for every PHB device node in skiboot. Kernel uses this to apply >> > fixup accordingly. One bit is reserved on Garrison platform to avoid >> > this issue. The fix can be a patch inserted before this patch in next >> > revision >> >> This sounds better as preserves bisectability. Thanks. > >Ah yes they made those registers read-only. Look at my PHB4 code, I >implement a cache for them in SW. > Ben, thanks for your confirm. Could you please share the link to your PHB4 code? I think writing to SW cache, not going to hardware will fix the issue. Currently, skiboot supports emulated config regiters with help of (struct pci_cfg_reg_filter) that was introduced for CAPI M64 BAR issue on Garrison platform. Potentially, I can have similar thing for 0x20 (memory window) to avoid writing to the register. However, I need take a look on your PHB4 code to see if there is anything I can lend. Otherwise, I will reuse the struct pci_cfg_reg_filter. At same time, I guess the bitmap (mentioned as above) is still needed to ensure (new kernel + old skiboot) works well, but it depends on how much Garrison boxes have been deployed. >Cheers, >Ben. > Thanks, Gavin >_______________________________________________ >Linuxppc-dev mailing list >Linuxppc-dev@xxxxxxxxxxxxxxxx >https://lists.ozlabs.org/listinfo/linuxppc-dev -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html