soc/tegra: cbb: Use correct master_id mask for CBB NOC in Tegra194
authorSumit Gupta <sumitg@nvidia.com>
Wed, 9 Nov 2022 13:57:14 +0000 (19:27 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:31:50 +0000 (13:31 +0100)
commit6ede06dde33148ec41fd2933e7d88906bf9c34e3
treee1b08eb5b24ef4698034574ef48047c1f7638fa6
parent61eb9624e764e9374e912430214bed38c4be2894
soc/tegra: cbb: Use correct master_id mask for CBB NOC in Tegra194

[ Upstream commit 33af51a652191d7b9fe449563594b0bdbeb93c2a ]

In Tegra194 SoC, master_id bit range is different between cluster NOC
and CBB NOC. Currently same bit range is used which results in wrong
master_id value. Due to this, illegal accesses from the CCPLEX master
do not result in a crash as expected. Fix this by using the correct
range for the CBB NOC.

Finally, it is only necessary to extract the master_id when the
erd_mask_inband_err flag is set because when this is not set, a crash
is always triggered.

Fixes: b71344221466 ("soc/tegra: cbb: Add CBB 1.0 driver for Tegra194")
Fixes: fc2f151d2314 ("soc/tegra: cbb: Add driver for Tegra234 CBB 2.0")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/soc/tegra/cbb/tegra194-cbb.c
drivers/soc/tegra/cbb/tegra234-cbb.c