bus: sunxi-rsb: Support atomic transfers
authorSamuel Holland <samuel@sholland.org>
Mon, 14 Nov 2022 01:57:48 +0000 (19:57 -0600)
committerJernej Skrabec <jernej.skrabec@gmail.com>
Wed, 16 Nov 2022 18:28:48 +0000 (19:28 +0100)
commit077686da0e2162c4ea5ae0df205849c2a7a84479
treea3524681fa046f06f413fbe46f721fdc83d56ed2
parent5f4696ddca4b8a0bbbc36bd46829f97aab5a4552
bus: sunxi-rsb: Support atomic transfers

When communicating with a PMIC during system poweroff (pm_power_off()),
IRQs are disabled and we are in a RCU read-side critical section, so we
cannot use wait_for_completion_io_timeout(). Instead, poll the status
register for transfer completion.

Fixes: d787dcdb9c8f ("bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus")
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20221114015749.28490-3-samuel@sholland.org
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
drivers/bus/sunxi-rsb.c