clk: qcom: mmcc-msm8998: Fix the SMMU GDSC
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Wed, 9 Aug 2023 19:20:28 +0000 (21:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:04 +0000 (11:59 +0100)
[ Upstream commit 1fc62c8347397faf4e18249e88ecd4470c0a5357 ]

The SMMU GDSC doesn't have to be ALWAYS-ON and shouldn't feature the
HW_CTRL flag (it's separate from hw_ctrl_addr).  In addition to that,
it should feature a cxc entry for bimc_smmu_axi_clk and be marked as
votable.

Fix all of these issues.

Fixes: d14b15b5931c ("clk: qcom: Add MSM8998 Multimedia Clock Controller (MMCC) driver")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Link: https://lore.kernel.org/r/20230531-topic-8998_mmssclk-v3-5-ba1b1fd9ee75@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/qcom/mmcc-msm8998.c

index b0b51ad..1180e48 100644 (file)
@@ -2610,11 +2610,13 @@ static struct gdsc camss_cpp_gdsc = {
 static struct gdsc bimc_smmu_gdsc = {
        .gdscr = 0xe020,
        .gds_hw_ctrl = 0xe024,
+       .cxcs = (unsigned int []){ 0xe008 },
+       .cxc_count = 1,
        .pd = {
                .name = "bimc_smmu",
        },
        .pwrsts = PWRSTS_OFF_ON,
-       .flags = HW_CTRL | ALWAYS_ON,
+       .flags = VOTABLE,
 };
 
 static struct clk_regmap *mmcc_msm8998_clocks[] = {