• Marek Vasut's avatar
    spi: cadence: Correct initialisation of runtime PM again · 56912da7
    Marek Vasut authored
    The original implementation of RPM handling in probe() was mostly
    correct, except it failed to call pm_runtime_get_*() to activate the
    hardware. The subsequent fix, 734882a8 ("spi: cadence: Correct
    initialisation of runtime PM"), breaks the implementation further,
    to the point where the system using this hard IP on ZynqMP hangs on
    boot, because it accesses hardware which is gated off.
    
    Undo 734882a8 ("spi: cadence: Correct initialisation of runtime
    PM") and instead add missing pm_runtime_get_noresume() and move the
    RPM disabling all the way to the end of probe(). That makes ZynqMP
    not hang on boot yet again.
    
    Fixes: 734882a8 ("spi: cadence: Correct initialisation of runtime PM")
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Cc: Charles Keepax <ckeepax@opensource.cirrus.com>
    Cc: Mark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20210716182133.218640-1-marex@denx.deSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    56912da7
spi-cadence.c 20.9 KB