]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Thu, 14 Jan 2021 22:10:58 +0000 (23:10 +0100)
committerSeth Forshee <seth.forshee@canonical.com>
Wed, 17 Mar 2021 18:39:55 +0000 (13:39 -0500)
commitd56994801a31f2eabb27a0cf3f5acce8c026132f
tree429d194fc2df82fbd882c83b73740710233718b7
parent457e4bee1188945d9074f069f31c8b7caada7691
clk: qcom: gpucc-msm8998: Add resets, cxc, fix flags on gpu_gx_gdsc

BugLink: https://bugs.launchpad.net/bugs/1919492
[ Upstream commit a59c16c80bd791878cf81d1d5aae508eeb2e73f1 ]

The GPU GX GDSC has GPU_GX_BCR reset and gfx3d_clk CXC, as stated
on downstream kernels (and as verified upstream, because otherwise
random lockups happen).
Also, add PWRSTS_RET and NO_RET_PERIPH: also as found downstream,
and also as verified here, to avoid GPU related lockups it is
necessary to force retain mem, but *not* peripheral when enabling
this GDSC (and, of course, the inverse on disablement).

With this change, the GPU finally works flawlessly on my four
different MSM8998 devices from two different manufacturers.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210114221059.483390-11-angelogioacchino.delregno@somainline.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/clk/qcom/gpucc-msm8998.c