[Freedreno] [PATCH 3/9] drm/msm/dpu: fix the condition for (not) applying QoS to CURSOR SSPP
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Tue May 2 14:59:22 UTC 2023
On 02/05/2023 03:56, Jeykumar Sankaran wrote:
>
>
> On 4/30/2023 1:57 PM, Dmitry Baryshkov wrote:
>> The function dpu_plane_sspp_update_pipe() contains code to skip enabling
>> the QoS and OT limitis for CURSOR pipes. However all DPU since sdm845
>> repurpose DMA SSPP for the cursor planes because they lack the real
>> CURSOR SSPP. Fix the condition to actually check that the plane is
>> CURSOR or not.
>>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>> ---
>> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
>> b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
>> index 43d9fbc0c687..36f6eb71fef8 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
>> @@ -1124,7 +1124,8 @@ static void dpu_plane_sspp_update_pipe(struct
>> drm_plane *plane,
>> _dpu_plane_set_qos_lut(plane, pipe, fmt, pipe_cfg);
>> _dpu_plane_set_danger_lut(plane, pipe, fmt);
>> - if (plane->type != DRM_PLANE_TYPE_CURSOR) {
>> + if (pipe->sspp->idx == SSPP_CURSOR0 ||
>> + pipe->sspp->idx == SSPP_CURSOR1) {
> Isn't this differ from the current sequence: The existing sequence
> programs QOS for all the non-cursor SSPP's. This patch programs QOS only
> for CURSOR SSPP's.
Thanks for the catch! I was thinking about inverting the condition and
ended up overengineering it.
>
> If DMA SSPP's are used for cursor planes, we should ideally remove this
> check.
Unfortunately, we also support 8998 (and patches to use CURSOR SSPP were
posted to the mailing list). The plan is to also support some of 1.x
MDP5/DPU units (e.g. 8996), which would also make use of origin CURSOR
planes. So we can not drop this. I'll post v2 fixing the issue.
>
> Jeykumar S.
>> _dpu_plane_set_qos_ctrl(plane, pipe, true,
>> DPU_PLANE_QOS_PANIC_CTRL);
>> _dpu_plane_set_ot_limit(plane, pipe, pipe_cfg, frame_rate);
>> }
--
With best wishes
Dmitry
More information about the Freedreno
mailing list