Re: [PATCH v9 07/10] clk: qcom: gpucc-qcs615: Add QCS615 graphics clock controller driver
From: Taniya Das <hidden>
Date: 2025-06-25 10:38:39
Also in:
linux-arm-msm, linux-clk, linux-devicetree, lkml
On 6/15/2025 12:49 AM, Konrad Dybcio wrote:
On 6/12/25 11:55 AM, Taniya Das wrote:quoted
Add support for the graphics clock controller for graphics clients to be able to request for the clocks on QCS615 platform. Reviewed-by: Dmitry Baryshkov <redacted> Signed-off-by: Taniya Das <redacted> ---[...]quoted
+struct clk_hw *gpu_cc_sm6150_hws[] = {"wink"
My bad.
[...]quoted
+static void configure_crc(struct regmap *regmap) +{ + /* Recommended WAKEUP/SLEEP settings for the gpu_cc_cx_gmu_clk */ + regmap_update_bits(regmap, gpu_cc_cx_gmu_clk.clkr.enable_reg, 0xff0, 0xff0); + + /* + * After POR, Clock Ramp Controller(CRC) will be in bypass mode. + * Software needs to do the following operation to enable the CRC + * for GFX3D clock and divide the input clock by div by 2. + */ + regmap_update_bits(regmap, 0x1028, 0x00015011, 0x00015011); + regmap_update_bits(regmap, 0x1024, 0x00800000, 0x00800000);I'm going to assume this is not the same ramp controller as: drivers/soc/qcom/ramp_controller.c
This ramp controller is at the RCG level, which was very specific to 8976 and not same at the CC level.
..or maybe it is one, but we need to set things up on the CC sidequoted
+} + +static int gpu_cc_qcs615_probe(struct platform_device *pdev) +{ + struct regmap *regmap; + + regmap = qcom_cc_map(pdev, &gpu_cc_qcs615_desc); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + clk_alpha_pll_configure(&gpu_cc_pll0, regmap, &gpu_cc_pll0_config); + clk_alpha_pll_configure(&gpu_cc_pll1, regmap, &gpu_cc_pll1_config); + + /* Keep some clocks always enabled */ + qcom_branch_set_clk_en(regmap, 0x1078); /* GPU_CC_AHB_CLK */ + + configure_crc(regmap);Likewise, please rebase on Jagadeesh's series, which is now in linux-next. With that:
I will fix them in the next patch series.
Reviewed-by: Konrad Dybcio <redacted> Konrad