[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a5efb372-1a2a-4262-abc8-49bbeffa6961@packett.cool>
Date: Sat, 17 Jan 2026 18:46:09 -0300
From: Val Packett <val@...kett.cool>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Cc: Xilin Wu <sophon@...xa.com>,
Jessica Zhang <jessica.zhang@....qualcomm.com>,
Rob Clark <robdclark@...il.com>, Dmitry Baryshkov <lumag@...nel.org>,
Sean Paul <sean@...rly.run>, Marijn Suijten <marijn.suijten@...ainline.org>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Abhinav Kumar <quic_abhinavk@...cinc.com>, linux-arm-msm@...r.kernel.org,
dri-devel@...ts.freedesktop.org, freedreno@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, Neil Armstrong <neil.armstrong@...aro.org>,
Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Subject: Re: [PATCH v2] drm/msm/dpu: Filter modes based on adjusted mode clock
On 1/15/26 6:08 PM, Dmitry Baryshkov wrote:
> On Mon, Jan 12, 2026 at 04:54:28AM -0300, Val Packett wrote:
>> On 1/12/26 3:31 AM, Xilin Wu wrote:
>>> On 5/7/2025 9:38 AM, Jessica Zhang wrote:
>>>> Filter out modes that have a clock rate greater than the max core clock
>>>> rate when adjusted for the perf clock factor
>>>>
>>>> This is especially important for chipsets such as QCS615 that have lower
>>>> limits for the MDP max core clock.
>>>>
>>>> Since the core CRTC clock is at least the mode clock (adjusted for the
>>>> perf clock factor) [1], the modes supported by the driver should be less
>>>> than the max core clock rate.
>>>>
>>>> [1] https://elixir.bootlin.com/linux/v6.12.4/source/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c#L83
>>>>
>>>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
>>>> Signed-off-by: Jessica Zhang <jessica.zhang@....qualcomm.com>
>>>> ---
>>> Hi. This patch effectively filters out the 3840x2160@...Hz mode on
>>> SC8280XP CRD. The calculated adjusted_mode_clk is 623700, which slightly
>>> exceeds the supported max core clock of 600000.
>>>
>>> However, 4K 120Hz works flawlessly with the limit removed on this
>>> platform. I even tried connecting two 4K 120Hz displays, and they can
>>> work properly simultaneously. Is it possible to bring back support for
>>> this mode, or adjust the limits?
>> hm, interestingly on X1E80100 we didn't hit *that* limit,
>> the adjusted_mode_clk (576318) was only above what disp_cc_mdss_mdp_clk was
> Hmm, what is your modeline then? Xilin's mode params looks sane and
> standard enough.
as mentioned in
https://gitlab.freedesktop.org/drm/msm/-/issues/38#note_3216051:
"3840x2160": 120 1097750 3840 3888 3920 4000 2160 2166 2176 2287 0x40 0x9
## 1097750 / 2 = 548875; 548875 * 1.05 = 576318.75
vs.
"3840x2160": 120 1188000 3840 4016 4104 4400 2160 2168 2178 2250 0x40 0x5
## 1188000 / 2 = 594000; 594000 * 1.05 = 623700
Yeah, what's interesting is that both are just slightly above the max
disp_cc_mdss_mdp_clk_src on the respective platforms. 576318 is only
slightly above 575000, and 623700 is only slightly above 608000. So it's
actually the *same* limit, just that the numbers are different per
platform (sorry for any confusion).
Sooo.. what *is* the deal with the 105% inefficiency factor, is it
possible to find out where it came from and why it's hardcoded to that
number everywhere?
Can we add a loop that reduces it until the result fits into the max
clk? Or should the factor be ignored for this calculation maybe?
~val
Powered by blists - more mailing lists