On Fri, Nov 25, 2022 at 09:37:52AM +0530, Ashish Mhetre wrote: > On newer Tegra releases, early boot SID override programming and SID > override programming during resume is handled by bootloader. > In the function tegra186_mc_program_sid() which is getting removed, SID > override register of all clients is written without checking if secure > firmware has allowed write on it or not. If write is disabled by secure > firmware then it can lead to errors coming from secure firmware and hang > in kernel boot. > Also, SID override is programmed on-demand during probe_finalize() call > of IOMMU which is done in tegra186_mc_client_sid_override() in this same > file. This function does it correctly by checking if write is permitted > on SID override register. It also checks if SID override register is > already written with correct value and skips re-writing it in that case. > > Fixes: 393d66fd2cac ("memory: tegra: Implement SID override programming") > Signed-off-by: Ashish Mhetre > --- > Changes in v3: > - Updated the commit message to point out the bug fix. > > Changes in v2: > - After offline discussions with Thierry and Jonathan, removed SID > override programming during resume as well. > > > drivers/memory/tegra/tegra186.c | 36 --------------------------------- > 1 file changed, 36 deletions(-) Acked-by: Thierry Reding