* [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76
@ 2026-09-13 23:24 Dmitry Baryshkov
2026-09-13 23:38 ` sashiko-bot
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2026-09-13 23:24 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
AngeloGioacchino Del Regno
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel
The MSM8976/56 family of platforms doe't have a separate cursor plane.
Instead the cursor is a part of the LM block. Drop the erroneously added
pipe configuration, letting LM to provide a legacy cursor instead.
Fixes: 1860f2a8b8b1 ("drm/msm/mdp5: Add configuration for msm8x76")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
index 7c91fc1915f3..389d74ff7516 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
@@ -698,15 +698,6 @@ static const struct mdp5_cfg_hw msm8x76_config = {
MDP_PIPE_CAP_SW_PIX_EXT |
0,
},
- .pipe_cursor = {
- .count = 1,
- .base = { 0x440DC },
- .caps = MDP_PIPE_CAP_HFLIP |
- MDP_PIPE_CAP_VFLIP |
- MDP_PIPE_CAP_SW_PIX_EXT |
- MDP_PIPE_CAP_CURSOR |
- 0,
- },
.lm = {
.count = 2,
.base = { 0x44000, 0x45000 },
---
base-commit: c68a982815dcce5464e3bf2a31ac94f5146c04ca
change-id: 20260914-mdp5-fix-cursor-b80c4320e48a
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76
2026-09-13 23:24 [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76 Dmitry Baryshkov
@ 2026-09-13 23:38 ` sashiko-bot
2026-09-14 0:23 ` Dmitry Baryshkov
2026-09-14 8:02 ` Konrad Dybcio
2026-10-03 0:46 ` Dmitry Baryshkov
2 siblings, 1 reply; 5+ messages in thread
From: sashiko-bot @ 2026-09-13 23:38 UTC (permalink / raw)
To: Dmitry Baryshkov; +Cc: dri-devel
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Missing `flush_hw_mask` update when converting to legacy LM cursor breaks cursor updates.
--
commit e1dbf3d7b78aa6bf44fff588ff9b069eceea7f6b
Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drm/msm/mdp5: drop cursor pipe for msm8x76
This commit removes the separate cursor plane configuration for MSM8976/56
platforms. It drops the erroneously added pipe configuration to let the LM
block provide a legacy cursor instead.
> diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
> index 7c91fc1915f39..389d74ff75163 100644
> --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
> +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
> @@ -698,15 +698,6 @@ static const struct mdp5_cfg_hw msm8x76_config = {
> MDP_PIPE_CAP_SW_PIX_EXT |
> 0,
> },
> - .pipe_cursor = {
> - .count = 1,
> - .base = { 0x440DC },
> - .caps = MDP_PIPE_CAP_HFLIP |
> - MDP_PIPE_CAP_VFLIP |
> - MDP_PIPE_CAP_SW_PIX_EXT |
> - MDP_PIPE_CAP_CURSOR |
> - 0,
> - },
[Severity: High]
Since this drops the cursor pipe to rely on the legacy LM cursor, does the
ctl.flush_hw_mask in msm8x76_config also need to be updated?
Currently, flush_hw_mask is set to 0xffffffff for this platform. When
standalone cursor updates use MDP5_CTL_FLUSH_CURSOR_0, fix_sw_flush() in
mdp5_ctl.c translates this to an LM flush for legacy cursors. However, this
fallback is only triggered if BIT_NEEDS_SW_FIX() determines the cursor flush
bit is excluded from the platform's flush_hw_mask.
Because the cursor bit is still included in the 0xffffffff mask, the
software fix evaluates to false. This prevents the LM from being flushed
and sends a hardware flush for a non-existent cursor block, which can
cause the cursor to lag or freeze during standalone updates.
Should flush_hw_mask be updated to exclude the cursor flush bits (for
example, 0xffffffff & ~MDP5_CTL_FLUSH_CURSOR_0)?
> .lm = {
> .count = 2,
> .base = { 0x44000, 0x45000 },
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914-mdp5-fix-cursor-v1-1-9fba3ace6cb9@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76
2026-09-13 23:38 ` sashiko-bot
@ 2026-09-14 0:23 ` Dmitry Baryshkov
0 siblings, 0 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2026-09-14 0:23 UTC (permalink / raw)
To: sashiko-reviews; +Cc: dri-devel
On Sun, Sep 13, 2026 at 11:38:43PM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [High] Missing `flush_hw_mask` update when converting to legacy LM cursor breaks cursor updates.
> --
>
> commit e1dbf3d7b78aa6bf44fff588ff9b069eceea7f6b
> Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>
> drm/msm/mdp5: drop cursor pipe for msm8x76
>
> This commit removes the separate cursor plane configuration for MSM8976/56
> platforms. It drops the erroneously added pipe configuration to let the LM
> block provide a legacy cursor instead.
>
> > diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
> > index 7c91fc1915f39..389d74ff75163 100644
> > --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
> > +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
> > @@ -698,15 +698,6 @@ static const struct mdp5_cfg_hw msm8x76_config = {
> > MDP_PIPE_CAP_SW_PIX_EXT |
> > 0,
> > },
> > - .pipe_cursor = {
> > - .count = 1,
> > - .base = { 0x440DC },
> > - .caps = MDP_PIPE_CAP_HFLIP |
> > - MDP_PIPE_CAP_VFLIP |
> > - MDP_PIPE_CAP_SW_PIX_EXT |
> > - MDP_PIPE_CAP_CURSOR |
> > - 0,
> > - },
>
> [Severity: High]
> Since this drops the cursor pipe to rely on the legacy LM cursor, does the
> ctl.flush_hw_mask in msm8x76_config also need to be updated?
>
> Currently, flush_hw_mask is set to 0xffffffff for this platform. When
> standalone cursor updates use MDP5_CTL_FLUSH_CURSOR_0, fix_sw_flush() in
> mdp5_ctl.c translates this to an LM flush for legacy cursors. However, this
> fallback is only triggered if BIT_NEEDS_SW_FIX() determines the cursor flush
> bit is excluded from the platform's flush_hw_mask.
>
> Because the cursor bit is still included in the 0xffffffff mask, the
> software fix evaluates to false. This prevents the LM from being flushed
> and sends a hardware flush for a non-existent cursor block, which can
> cause the cursor to lag or freeze during standalone updates.
>
> Should flush_hw_mask be updated to exclude the cursor flush bits (for
> example, 0xffffffff & ~MDP5_CTL_FLUSH_CURSOR_0)?
This should not be necessary. The legacy cursor implemented in LM
doesn't update the HW mask.
>
> > .lm = {
> > .count = 2,
> > .base = { 0x44000, 0x45000 },
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20260914-mdp5-fix-cursor-v1-1-9fba3ace6cb9@oss.qualcomm.com?part=1
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76
2026-09-13 23:24 [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76 Dmitry Baryshkov
2026-09-13 23:38 ` sashiko-bot
@ 2026-09-14 8:02 ` Konrad Dybcio
2026-10-03 0:46 ` Dmitry Baryshkov
2 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2026-09-14 8:02 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Sean Paul, Marijn Suijten, David Airlie,
Simona Vetter, AngeloGioacchino Del Regno
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel
On 9/14/26 1:24 AM, Dmitry Baryshkov wrote:
> The MSM8976/56 family of platforms doe't have a separate cursor plane.
> Instead the cursor is a part of the LM block. Drop the erroneously added
> pipe configuration, letting LM to provide a legacy cursor instead.
>
> Fixes: 1860f2a8b8b1 ("drm/msm/mdp5: Add configuration for msm8x76")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
The HPG agrees, the SWI disagrees.. possibly just a leftover register
though?
Konrad
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76
2026-09-13 23:24 [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76 Dmitry Baryshkov
2026-09-13 23:38 ` sashiko-bot
2026-09-14 8:02 ` Konrad Dybcio
@ 2026-10-03 0:46 ` Dmitry Baryshkov
2 siblings, 0 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2026-10-03 0:46 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
AngeloGioacchino Del Regno, Dmitry Baryshkov
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel
On Mon, 14 Sep 2026 02:24:24 +0300, Dmitry Baryshkov wrote:
> The MSM8976/56 family of platforms doe't have a separate cursor plane.
> Instead the cursor is a part of the LM block. Drop the erroneously added
> pipe configuration, letting LM to provide a legacy cursor instead.
Applied to ttt, thanks!
[1/1] drm/msm/mdp5: drop cursor pipe for msm8x76
https://gitlab.freedesktop.org/lumag/msm/-/commit/c33cee4c07f1
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-03 0:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-13 23:24 [PATCH] drm/msm/mdp5: drop cursor pipe for msm8x76 Dmitry Baryshkov
2026-09-13 23:38 ` sashiko-bot
2026-09-14 0:23 ` Dmitry Baryshkov
2026-09-14 8:02 ` Konrad Dybcio
2026-10-03 0:46 ` Dmitry Baryshkov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.