[Freedreno] [PATCH v6 27/32] drm/msm/dpu: add support for wide planes
Abhinav Kumar
quic_abhinavk at quicinc.com
Tue Mar 14 21:07:39 UTC 2023
On 3/14/2023 8:41 AM, Dmitry Baryshkov wrote:
> On Tue, 14 Mar 2023 at 17:36, Dmitry Baryshkov
> <dmitry.baryshkov at linaro.org> wrote:
>>
>> It is possible to use multirect feature and split source to use the SSPP
>> to output two consecutive rectangles. This commit brings in this
>> capability to support wider screen resolutions.
>>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>> ---
>> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 19 +++-
>> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 127 +++++++++++++++++++---
>> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h | 4 +
>> 3 files changed, 133 insertions(+), 17 deletions(-)
>>
>
>> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
>> index f52120b05b6e..494c1144075a 100644
>> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
>> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
>
> [...]
>
>> @@ -1016,21 +1026,58 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
>> return -E2BIG;
>> }
>>
>> + fmt = to_dpu_format(msm_framebuffer_format(new_plane_state->fb));
>> +
>> max_linewidth = pdpu->catalog->caps->max_linewidth;
>> + if (DPU_FORMAT_IS_UBWC(fmt))
>> + max_linewidth /= 2;
>
> I added this check and only after sending it caught my mind that this
> check should not be applied in the non-multirec case. Please ignore
> the series, I will resend it later.
ack, will wait for the next rev
>
>>
>> - /* check decimated source width */
>> if (drm_rect_width(&pipe_cfg->src_rect) > max_linewidth) {
>> - DPU_DEBUG_PLANE(pdpu, "invalid src " DRM_RECT_FMT " line:%u\n",
>> - DRM_RECT_ARG(&pipe_cfg->src_rect), max_linewidth);
>> - return -E2BIG;
>> - }
>> + if (drm_rect_width(&pipe_cfg->src_rect) > 2 * max_linewidth) {
>> + DPU_DEBUG_PLANE(pdpu, "invalid src " DRM_RECT_FMT " line:%u\n",
>> + DRM_RECT_ARG(&pipe_cfg->src_rect), max_linewidth);
>> + return -E2BIG;
>> + }
>>
>
> [skipped the rest]
>
More information about the Freedreno
mailing list