From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Marijn Suijten <marijn.suijten@somainline.org>
Cc: Stephen Boyd <swboyd@chromium.org>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
Bjorn Andersson <andersson@kernel.org>,
linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
freedreno@lists.freedesktop.org
Subject: [PATCH v4 01/13] drm/msm/dpu: take plane rotation into account for wide planes
Date: Thu, 14 Mar 2024 02:02:04 +0200 [thread overview]
Message-ID: <20240314000216.392549-2-dmitry.baryshkov@linaro.org> (raw)
In-Reply-To: <20240314000216.392549-1-dmitry.baryshkov@linaro.org>
Take into account the plane rotation and flipping when calculating src
positions for the wide plane parts.
This is not an issue yet, because rotation is only supported for the
UBWC planes and wide UBWC planes are rejected anyway because in parallel
multirect case only the half of the usual width is supported for tiled
formats. However it's better to fix this now rather than stumbling upon
it later.
Fixes: 80e8ae3b38ab ("drm/msm/dpu: add support for wide planes")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
index ff975ad51145..44f35ae09ba6 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
@@ -862,6 +862,10 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
max_linewidth = pdpu->catalog->caps->max_linewidth;
+ drm_rect_rotate(&pipe_cfg->src_rect,
+ new_plane_state->fb->width, new_plane_state->fb->height,
+ new_plane_state->rotation);
+
if ((drm_rect_width(&pipe_cfg->src_rect) > max_linewidth) ||
_dpu_plane_calc_clk(&crtc_state->adjusted_mode, pipe_cfg) > max_mdp_clk_rate) {
/*
@@ -911,6 +915,14 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
r_pipe_cfg->dst_rect.x1 = pipe_cfg->dst_rect.x2;
}
+ drm_rect_rotate_inv(&pipe_cfg->src_rect,
+ new_plane_state->fb->width, new_plane_state->fb->height,
+ new_plane_state->rotation);
+ if (r_pipe->sspp)
+ drm_rect_rotate_inv(&r_pipe_cfg->src_rect,
+ new_plane_state->fb->width, new_plane_state->fb->height,
+ new_plane_state->rotation);
+
ret = dpu_plane_atomic_check_pipe(pdpu, pipe, pipe_cfg, fmt, &crtc_state->adjusted_mode);
if (ret)
return ret;
--
2.39.2
next prev parent reply other threads:[~2024-03-14 0:02 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-14 0:02 [PATCH v4 00/13] drm/msm/dpu: support virtual wide planes Dmitry Baryshkov
2024-03-14 0:02 ` Dmitry Baryshkov [this message]
2024-05-30 22:51 ` [PATCH v4 01/13] drm/msm/dpu: take plane rotation into account for " Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 02/13] drm/msm/dpu: use drm_rect_fp_to_int() Dmitry Baryshkov
2024-05-30 23:14 ` Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 03/13] drm/msm/dpu: move pstate->pipe initialization to dpu_plane_atomic_check Dmitry Baryshkov
2024-05-31 0:28 ` Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 04/13] drm/msm/dpu: drop virt_formats from SSPP subblock configuration Dmitry Baryshkov
2024-05-31 0:32 ` Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 05/13] drm/msm/dpu: move scaling limitations out of the hw_catalog Dmitry Baryshkov
2024-05-31 1:02 ` Abhinav Kumar
2024-05-31 8:16 ` Dmitry Baryshkov
2024-05-31 19:20 ` Abhinav Kumar
2024-05-31 19:45 ` Dmitry Baryshkov
2024-03-14 0:02 ` [PATCH v4 06/13] drm/msm/dpu: split dpu_plane_atomic_check() Dmitry Baryshkov
2024-06-05 23:19 ` Abhinav Kumar
2024-06-05 23:32 ` Dmitry Baryshkov
2024-06-05 23:47 ` Abhinav Kumar
2024-06-06 8:53 ` Dmitry Baryshkov
2024-06-06 8:54 ` Dmitry Baryshkov
2024-03-14 0:02 ` [PATCH v4 07/13] drm/msm/dpu: move rot90 checking to dpu_plane_atomic_check_pipe() Dmitry Baryshkov
2024-06-05 23:34 ` Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 08/13] drm/msm/dpu: add support for virtual planes Dmitry Baryshkov
2024-03-14 8:04 ` [v4,08/13] " Sui Jingfeng
2024-06-06 22:21 ` [PATCH v4 08/13] " Abhinav Kumar
2024-06-07 7:16 ` Dmitry Baryshkov
2024-06-07 19:22 ` Abhinav Kumar
2024-06-07 21:10 ` Dmitry Baryshkov
2024-06-07 21:39 ` Abhinav Kumar
2024-06-07 22:26 ` Dmitry Baryshkov
2024-06-07 23:55 ` Abhinav Kumar
2024-06-08 0:57 ` Dmitry Baryshkov
2024-06-08 2:45 ` Abhinav Kumar
2024-06-10 21:01 ` Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 09/13] drm/msm/dpu: allow using two SSPP blocks for a single plane Dmitry Baryshkov
2024-06-10 20:19 ` Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 10/13] drm/msm/dpu: allow sharing SSPP between planes Dmitry Baryshkov
2024-06-11 23:12 ` Abhinav Kumar
2024-06-12 9:08 ` Dmitry Baryshkov
2024-06-13 1:17 ` Abhinav Kumar
2024-06-13 10:05 ` Dmitry Baryshkov
2024-06-13 20:02 ` Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 11/13] drm/msm/dpu: create additional virtual planes Dmitry Baryshkov
2024-06-11 23:26 ` Abhinav Kumar
2024-03-14 0:02 ` [PATCH v4 12/13] drm/msm/dpu: allow sharing of blending stages Dmitry Baryshkov
2024-06-12 1:47 ` Abhinav Kumar
2024-06-12 8:50 ` Dmitry Baryshkov
2024-03-14 0:02 ` [PATCH v4 13/13] drm/msm/dpu: include SSPP allocation state into the dumped state Dmitry Baryshkov
2024-06-11 23:43 ` Abhinav Kumar
2024-03-14 0:04 ` [PATCH v4 00/13] drm/msm/dpu: support virtual wide planes Dmitry Baryshkov
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=20240314000216.392549-2-dmitry.baryshkov@linaro.org \
--to=dmitry.baryshkov@linaro.org \
--cc=airlied@gmail.com \
--cc=andersson@kernel.org \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=quic_abhinavk@quicinc.com \
--cc=robdclark@gmail.com \
--cc=sean@poorly.run \
--cc=swboyd@chromium.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