diff options
author | Ashish Mhetre <amhetre@nvidia.com> | 2023-11-07 16:57:12 +0530 |
---|---|---|
committer | Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | 2023-11-21 10:09:28 +0100 |
commit | fe3b082a6eb8b1526ed7397c849d6b2a6baeb6a1 (patch) | |
tree | dd08b498edd1a3c74d750d73a44cdc07b7dae9af /include/soc | |
parent | b85ea95d086471afb4ad062012a4d73cd328fa86 (diff) | |
download | lwn-fe3b082a6eb8b1526ed7397c849d6b2a6baeb6a1.tar.gz lwn-fe3b082a6eb8b1526ed7397c849d6b2a6baeb6a1.zip |
memory: tegra: Add SID override programming for MC clients
For some devices the bootloader/firmware may set up the device in
bypass. Memory clients like display needs kernel to program SID after
resume because bootloader/firmware programs the SID of display device to
bypass. In order to make sure that kernel IOMMU mappings for these
devices work after resume, add SID override programming support for all
memory clients on memory controller resume.
This partially reverts 'commit ef86b2c2807f ("memory: tegra: Remove
clients SID override programming")'
Signed-off-by: Ashish Mhetre <amhetre@nvidia.com>
Link: https://lore.kernel.org/r/20231107112713.21399-1-amhetre@nvidia.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Diffstat (limited to 'include/soc')
-rw-r--r-- | include/soc/tegra/mc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/soc/tegra/mc.h b/include/soc/tegra/mc.h index 71ae37d3bedd..af1d73a7f0cd 100644 --- a/include/soc/tegra/mc.h +++ b/include/soc/tegra/mc.h @@ -162,6 +162,7 @@ struct tegra_mc_ops { */ int (*probe)(struct tegra_mc *mc); void (*remove)(struct tegra_mc *mc); + int (*resume)(struct tegra_mc *mc); irqreturn_t (*handle_irq)(int irq, void *data); int (*probe_device)(struct tegra_mc *mc, struct device *dev); }; |