]> git.baikalelectronics.ru Git - kernel.git/commit
spi: cadence: Correct initialisation of runtime PM again
authorMarek Vasut <marex@denx.de>
Fri, 16 Jul 2021 18:21:33 +0000 (20:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Jul 2021 11:30:56 +0000 (13:30 +0200)
commite0657b64ec3a37ca51f871b4bbd22d6f3841dcb6
tree0948fdd05904f578069073fb71db258279f720f7
parent91f905ded6deb4a2737d628ca06f0b1fe73562c0
spi: cadence: Correct initialisation of runtime PM again

[ Upstream commit 56912da7a68c8356df6a6740476237441b0b792a ]

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, 70946d8860f3 ("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 70946d8860f3 ("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: 70946d8860f3 ("spi: cadence: Correct initialisation of runtime PM")
Signed-off-by: Marek 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.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-cadence.c