i2c: tegra: Allocate DMA memory for DMA engine
authorThierry Reding <treding@nvidia.com>
Thu, 20 Oct 2022 14:39:33 +0000 (16:39 +0200)
committerWolfram Sang <wsa@kernel.org>
Tue, 1 Nov 2022 12:36:58 +0000 (13:36 +0100)
commitcdbf26251d3b35c4ccaea0c3a6de4318f727d3d2
treeb66ee2cee7fb8e7cd16c4e623de597e3a4142aeb
parent569bea74c94d37785682b11bab76f557520477cd
i2c: tegra: Allocate DMA memory for DMA engine

When the I2C controllers are running in DMA mode, it is the DMA engine
that performs the memory accesses rather than the I2C controller. Pass
the DMA engine's struct device pointer to the DMA API to make sure the
correct DMA operations are used.

This fixes an issue where the DMA engine's SMMU stream ID needs to be
misleadingly set for the I2C controllers in device tree.

Suggested-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-tegra.c