]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/msm/dpu: handle perf mode in _dpu_core_perf_crtc_update_bus()
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 9 Feb 2025 03:21:18 +0000 (05:21 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Wed, 5 Mar 2025 02:34:14 +0000 (04:34 +0200)
commit6d3175a72cc07e90f81fb35841048a8a9b5134cb
tree7f376b839f10b4fd3d6b6a669b18bad6e25910ea
parente7e2495595e01839b117e9c08500ff80cd218f6a
drm/msm/dpu: handle perf mode in _dpu_core_perf_crtc_update_bus()

Move perf mode handling for the bandwidth to
_dpu_core_perf_crtc_update_bus() rather than overriding per-CRTC data
and then aggregating known values.

Note, this changes the fix_core_ab_vote. Previously it would be
multiplied per the CRTC number, now it will be used directly for
interconnect voting. This better reflects user requirements in the case
of different resolutions being set on different CRTCs: instead of using
the same bandwidth for each CRTC (which is incorrect) user can now
calculate overall bandwidth required by all outputs and use that value.

Note #2: this also disables threshold checks for user-entered bandwidth
values. First of all, it doesn't make sense to fail atomic commits
because of the debugfs input. Compositors have no way to correlate
failing commits with debugfs settings. Second, it makes sense to allow
users to go beyond these values and check whether this makes any
difference or fixes the issue.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/636072/
Link: https://lore.kernel.org/r/20250209-dpu-perf-rework-v5-8-87e936cf3004@linaro.org
drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c