i2c: qcom-geni: Add shutdown callback for i2c
authorRoja Rani Yarubandi <rojay@codeaurora.org>
Tue, 25 May 2021 13:10:50 +0000 (18:40 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jun 2021 11:39:20 +0000 (13:39 +0200)
commit21d494d4446b020e69e7b22fa6ed9274db1f175c
tree33af9dc6133deea5e978a21ea7a8eefcbab3abac
parentc4b796f20c9581ed8502e42be3d5bde59469143d
i2c: qcom-geni: Add shutdown callback for i2c

[ Upstream commit 9f78c607600ce4f2a952560de26534715236f612 ]

If the hardware is still accessing memory after SMMU translation
is disabled (as part of smmu shutdown callback), then the
IOVAs (I/O virtual address) which it was using will go on the bus
as the physical addresses which will result in unknown crashes
like NoC/interconnect errors.

So, implement shutdown callback for i2c driver to suspend the bus
during system "reboot" or "shutdown".

Fixes: 37692de5d523 ("i2c: i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller")
Signed-off-by: Roja Rani Yarubandi <rojay@codeaurora.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-qcom-geni.c