Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Pengyu Luo <mitltlatltl@gmail.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] clk: qcom: rcg2: expand frac table for mdss_pixel_clk_src
Date: Tue, 24 Mar 2026 14:00:04 +0100	[thread overview]
Message-ID: <bcce61b6-3fe4-43e5-9e1d-a4cba0bec0ac@oss.qualcomm.com> (raw)
In-Reply-To: <CAH2e8h6PB43h08aZsHmN68Cp5HHuEEmhD3WhF7KOaQGyqvHjsw@mail.gmail.com>

On 3/24/26 1:56 PM, Pengyu Luo wrote:
> On Tue, Mar 24, 2026 at 5:22 PM Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> wrote:
>>
>> On 3/23/26 8:23 PM, Dmitry Baryshkov wrote:
>>> On Mon, Mar 23, 2026 at 01:54:29PM +0100, Konrad Dybcio wrote:
>>>> On 3/21/26 10:50 AM, Pengyu Luo wrote:
>>>>> Recently, when testing 10-bit dsi C-PHY panel, clks are different
>>>>> from the usual. (dsi0_phy_pll_out_dsiclk's parent is dsi0_pll_bit_clk
>>>>> now (dsiclk_sel = 0)) And we failed to set dsiclk's children.
>>>>>
>>>>> dsi_link_clk_set_rate_6g: Set clk rates: pclk=172992000, byteclk=108120000
>>>>>
>>>>> byteclk was set first to 108120000, so the vco rate was set to
>>>>> 108120000 * 7 * 1 * 1 = 756840000. When we was trying to set
>>>>> 172992000 on mdss_pixel_clk_src later.
>>>>>
>>>>> Since there was no matched ratio, we failed to set it. And dsiclk
>>>>> divider ratio was set to 15:1 (wrong cached register value 0xf and
>>>>> didn't update), we finally got 50455997, apparently wrong.
>>>>>
>>>>>   dsi0vco_clk                1       1        0        756839941
>>>>>      dsi0_pll_out_div_clk    1       1        0        756839941
>>>>>         dsi0_pll_post_out_div_clk 0       0        0        216239983
>>>>>         dsi0_pll_bit_clk     2       2        0        756839941
>>>>>            dsi0_phy_pll_out_dsiclk 2       2        0        50455997
>>>>>               disp_cc_mdss_pclk1_clk_src 1       1        0        50455997
>>>>>            dsi0_pll_by_2_bit_clk 0       0        0        378419970
>>>>>            dsi0_phy_pll_out_byteclk 2       2        0        108119991
>>>>>               disp_cc_mdss_byte1_clk_src 2       2        0        108119991
>>>>>
>>>>> Downstream clk_summary shows the mdss_pixel_clk_src support the
>>>>> ratio(35:16)
>>>>>
>>>>>  dsi0_phy_pll_out_dsiclk             2       2        0        378420000
>>>>>      disp_cc_mdss_pclk1_clk_src       1       1        0        172992000
>>>>>  dsi0_phy_pll_out_byteclk            2       2        0        108120000
>>>>>      disp_cc_mdss_byte1_clk_src       2       2        0        108120000
>>>>>
>>>>> After checking downstream source, 15:4 also seems to be supported,
>>>>> add them two.
>>>>
>>>> I don't see that, not even in the newest releases.. Is there even a reason
>>>> we have to list these divider pairs in the first place?
>>>
>>> https://git.codelinaro.org/clo/la/kernel/qcom/-/commit/f7aec4359448d25c8a8d21ad8e8733d61f6b69ab
>>
>> Ahh branching..
>>
>>> We need those dividers to correctly program pclk RCG2 clocks.
>>
>> I would assume that's the case, but perhaps the real answer is "because we
>> don't want to try all possible combinations"
>>
> 
> So you meant the pixel clk can support any ratio actually, and just
> common ratio pairs are listed? That is interesting.

I don't know about pixel specifically, but generally RCG2 clocks can
do any rate, only limited by the register width, see:

drivers/clk/qcom/clk-rcg2.c : calc_rate()

Konrad

  reply	other threads:[~2026-03-24 13:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-21  9:50 [PATCH] clk: qcom: rcg2: expand frac table for mdss_pixel_clk_src Pengyu Luo
2026-03-21 21:46 ` Dmitry Baryshkov
2026-03-23  4:24 ` Taniya Das
2026-03-23  4:26 ` Taniya Das
2026-03-23 12:54 ` Konrad Dybcio
2026-03-23 19:23   ` Dmitry Baryshkov
2026-03-24  9:22     ` Konrad Dybcio
2026-03-24 12:56       ` Pengyu Luo
2026-03-24 13:00         ` Konrad Dybcio [this message]
2026-03-24  3:05 ` Bjorn Andersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bcce61b6-3fe4-43e5-9e1d-a4cba0bec0ac@oss.qualcomm.com \
    --to=konrad.dybcio@oss.qualcomm.com \
    --cc=andersson@kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mitltlatltl@gmail.com \
    --cc=mturquette@baylibre.com \
    --cc=sboyd@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox