Tegra's memory controller has a "memory hot reset" functionality that blocks all memory transactions for the memory client, which is required for a proper HW resetting. HW could be in process of performing DMA while being reset and this could lead to a system hang or memory corruption, so here comes the memory hot reset that blocks all interactions of HW with memory so that it could be reset safely. Changelog: V4: Fixed compilation warning about unused function for the case where Tegra20 SoC isn't enabled in Kconfig, corrected typos in commit messages. V3: Addressed review comments to V2 from Thierry Reding. MC now uses generic reset controller API instead of a custom one, hence DT changes are now involved and so Rob Herring is CC'd for a review. Added couple minor cleanup/correction patches. V2: Basically a re-send of V1 with some minor changes. Dmitry Osipenko (14): dt-bindings: arm: tegra: Remove duplicated Tegra30+ MC binding dt-bindings: memory: tegra: Document #reset-cells property of the Tegra30 MC dt-bindings: arm: tegra: Document #reset-cells property of the Tegra20 MC dt-bindings: memory: tegra: Add hot resets definitions memory: tegra: Do not handle spurious interrupts memory: tegra: Setup interrupts mask before requesting IRQ memory: tegra: Apply interrupts mask per SoC memory: tegra: Remove unused headers inclusions memory: tegra: Squash tegra20-mc into common tegra-mc driver memory: tegra: Introduce memory client hot reset memory: tegra: Add Tegra124 memory controller hot resets memory: tegra: Add Tegra114 memory controller hot resets memory: tegra: Add Tegra30 memory controller hot resets memory: tegra: Add Tegra20 memory controller hot resets Thierry Reding (1): memory: tegra: Add Tegra210 memory controller hot resets .../bindings/arm/tegra/nvidia,tegra20-mc.txt | 12 +- .../bindings/arm/tegra/nvidia,tegra30-mc.txt | 18 -- .../memory-controllers/nvidia,tegra30-mc.txt | 5 + drivers/memory/Kconfig | 10 - drivers/memory/Makefile | 1 - drivers/memory/tegra/Makefile | 1 + drivers/memory/tegra/mc.c | 358 +++++++++++++++++++-- drivers/memory/tegra/mc.h | 22 ++ drivers/memory/tegra/tegra114.c | 35 ++ drivers/memory/tegra/tegra124.c | 48 +++ drivers/memory/tegra/tegra20.c | 296 +++++++++++++++++ drivers/memory/tegra/tegra210.c | 53 ++- drivers/memory/tegra/tegra30.c | 35 ++ drivers/memory/tegra20-mc.c | 254 --------------- include/dt-bindings/memory/tegra114-mc.h | 19 ++ include/dt-bindings/memory/tegra124-mc.h | 25 ++ include/dt-bindings/memory/tegra20-mc.h | 21 ++ include/dt-bindings/memory/tegra210-mc.h | 31 ++ include/dt-bindings/memory/tegra30-mc.h | 19 ++ include/soc/tegra/mc.h | 37 ++- 20 files changed, 978 insertions(+), 322 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-mc.txt create mode 100644 drivers/memory/tegra/tegra20.c delete mode 100644 drivers/memory/tegra20-mc.c create mode 100644 include/dt-bindings/memory/tegra20-mc.h -- 2.16.3 -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html