On 24/11/2022 11:20, Ashish Mhetre wrote: > > On 11/22/2022 4:44 PM, Krzysztof Kozlowski wrote: >> External email: Use caution opening links or attachments >> >> >> On 22/11/2022 06:31, Ashish Mhetre wrote: >>> On newer Tegra releases, early boot SID override programming and SID >>> override programming during resume is handled by bootloader. >>> 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 more 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. >>> Hence, removing the SID override programming of all clients. >>> >>> Fixes: 393d66fd2cac ("memory: tegra: Implement SID override programming") >> I could not get from commit msg what is the bug being fixed. You just >> said "more correctly", but usually things are either correct or not. >> What are visible effects of the bug? >> >> Otherwise it sounds more like optimization or a bit better approach, but >> not a bugfix. >> >> Best regards, >> Krzysztof > > Thanks for the review. 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. So, that's a possible bug. Please add it to commit msg, because it justifies Fixes tag and probably backport. > Also, it's an optimization over current approach because it saves time by > removing re-writing of these SID override registers as in new Tegra releases > SID override of all clients is programmed by bootloader. So, MC driver don't > need to program them again. Best regards, Krzysztof