Hi Kishon, et al, Does dra7xx suspend/resume work? I'm not sure dra7xx_pcie_resume() and dra7xx_pcie_resume_noirq() restore everything necessary. For example, the probe path has this: dra7xx_pcie_probe dra7xx_add_pcie_port dw_pcie_host_init dra7xx_pcie_host_init # .host_init dw_pcie_setup_rc dw_pcie_prog_outbound_atu so I think it programs the ATU in dw_pcie_setup_rc(). But the resume path doesn't call dw_pcie_setup_rc(), so I don't see where the ATU setup would be restored. Related to this, dra7xx_pcie_resume_noirq() contains phy init and power-on code that is duplicated in dra7xx_pcie_probe(). It seems like that ought to be done by a common function instead of being cut and pasted. I haven't looked in detail at all the other DW-based drivers; dra7xx just happens to be first in alphabetical order :) But I suspect I'd have the same question about them. Bjorn -- 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