i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct
authorRoja Rani Yarubandi <rojay@codeaurora.org>
Mon, 21 Dec 2020 12:38:00 +0000 (18:08 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Mar 2021 10:38:02 +0000 (11:38 +0100)
commit426c560226231483d6e552ed467f8e11672aca46
tree330279ca0130834239ad71e3424250cb36e46f2c
parente699cd138063eb3981ab98a6487f6236f02c76ca
i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct

[ Upstream commit 357ee8841d0b7bd822f25fc768afbc0c2ab7e47b ]

Store DMA mapping data in geni_i2c_dev struct to enhance DMA mapping
data scope. For example during shutdown callback to unmap DMA mapping,
this stored DMA mapping data can be used to call geni_se_tx_dma_unprep
and geni_se_rx_dma_unprep functions.

Add two helper functions geni_i2c_rx_msg_cleanup and
geni_i2c_tx_msg_cleanup to unwrap the things after rx/tx FIFO/DMA
transfers, so that the same can be used in geni_i2c_stop_xfer()
function during shutdown callback.

Signed-off-by: Roja Rani Yarubandi <rojay@codeaurora.org>
Reviewed-by: Akash Asthana <akashast@codeaurora.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-qcom-geni.c