linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/7] drm/msm/dpu: Implement tearcheck support on INTF block
@ 2022-12-31 21:49 Marijn Suijten
  2022-12-31 21:50 ` [RFC PATCH 1/7] drm/msm/dpu: Remove unused INTF0 interrupt mask from sm6115/qcm2290 Marijn Suijten
                   ` (6 more replies)
  0 siblings, 7 replies; 33+ messages in thread
From: Marijn Suijten @ 2022-12-31 21:49 UTC (permalink / raw)
  To: phone-devel, Abhinav Kumar, Dmitry Baryshkov, Neil Armstrong
  Cc: ~postmarketos/upstreaming, AngeloGioacchino Del Regno,
	Konrad Dybcio, Martin Botka, Jami Kettunen, Marijn Suijten,
	Rob Clark, Sean Paul, David Airlie, Daniel Vetter, Stephen Boyd,
	Vinod Koul, Bjorn Andersson, Kuogee Hsieh, Jessica Zhang,
	Konrad Dybcio, Loic Poulain, Vinod Polimera, Adam Skladowski,
	linux-arm-msm, dri-devel, freedreno, linux-kernel

Since DPU 5.0.0 the TEARCHECK registers and interrupts moved out of the
PINGPONG block and into the INTF.  Implement the necessary callbacks in
the INTF block, and use these callbacks together with the INTF_TEAR
interrupts.  Additionally, disable previous register writes and remove
unused interrupts in the PINGPONG and MDP_TOP blocks for these newer
platforms.

With these patches the devices on DPU >= 5.0.0 listed below now update
their panels at 60fps without tearing (nor sluggishness), and without
repeated timeouts in dmesg.

Tested on the following devices with command-mode panels and TE pins:

- Sony Xperia XZ3 (sdm845, DPU 4.0.0, cmdmode panel): no regressions on
  PINGPONG TE;
- Sony Xperia 5 (sm8150, DPU 5.0.0);
- Sony Xperia 10 II (sm6125, DPU 5.0.4).

Konrad Dybcio (1):
  drm/msm/dpu: Move dpu_hw_{tear_check,pp_vsync_info} to dpu_hw_mdss.h

Marijn Suijten (6):
  drm/msm/dpu: Remove unused INTF0 interrupt mask from sm6115/qcm2290
  drm/msm/dpu: Disable pingpong TE on DPU 5.0.0 and above
  drm/msm/dpu: Disable MDP vsync source selection on DPU 5.0.0 and above
  drm/msm/dpu: Document and enable TEAR interrupts on DSI interfaces
  drm/msm/dpu: Implement tearcheck support on INTF block
  drm/msm/dpu: Remove intr_rdptr from DPU >= 5.0.0 pingpong config

 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c   |  11 +
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h  |  10 +-
 .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c  | 108 +++++++--
 .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c    | 181 +++++++++------
 .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h    |   7 +-
 .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c |  12 +
 .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h |   2 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c   | 206 ++++++++++++++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h   |  29 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h   |  48 ++++
 .../gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c   |  18 +-
 .../gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h   |  22 --
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c    |  52 +++--
 drivers/gpu/drm/msm/disp/dpu1/dpu_hwio.h      |   3 +
 14 files changed, 570 insertions(+), 139 deletions(-)

--
2.39.0


^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2023-04-17 19:59 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-31 21:49 [RFC PATCH 0/7] drm/msm/dpu: Implement tearcheck support on INTF block Marijn Suijten
2022-12-31 21:50 ` [RFC PATCH 1/7] drm/msm/dpu: Remove unused INTF0 interrupt mask from sm6115/qcm2290 Marijn Suijten
2023-01-01  4:18   ` Dmitry Baryshkov
2023-01-02  9:29   ` Konrad Dybcio
2023-01-02 10:12     ` Marijn Suijten
2022-12-31 21:50 ` [RFC PATCH 2/7] drm/msm/dpu: Disable pingpong TE on DPU 5.0.0 and above Marijn Suijten
2023-01-01  4:28   ` Dmitry Baryshkov
2023-01-02 10:25     ` Marijn Suijten
2023-01-02 14:02       ` Dmitry Baryshkov
2022-12-31 21:50 ` [RFC PATCH 3/7] drm/msm/dpu: Disable MDP vsync source selection " Marijn Suijten
2022-12-31 21:52   ` Marijn Suijten
2023-01-01 12:28     ` Dmitry Baryshkov
2023-01-02  9:30     ` Konrad Dybcio
2023-01-02 10:18       ` Marijn Suijten
2023-01-02 10:19         ` Konrad Dybcio
2022-12-31 21:50 ` [RFC PATCH 4/7] drm/msm/dpu: Move dpu_hw_{tear_check,pp_vsync_info} to dpu_hw_mdss.h Marijn Suijten
2023-01-01 12:37   ` Dmitry Baryshkov
2022-12-31 21:50 ` [RFC PATCH 5/7] drm/msm/dpu: Document and enable TEAR interrupts on DSI interfaces Marijn Suijten
2023-01-01 13:12   ` Dmitry Baryshkov
2023-01-02 10:38     ` Marijn Suijten
2023-02-13 19:37   ` Jessica Zhang
2023-02-13 21:46     ` Dmitry Baryshkov
2023-02-14  3:09       ` Abhinav Kumar
2023-02-14 13:06         ` Marijn Suijten
2023-02-14 17:54           ` Abhinav Kumar
2023-04-17 19:41             ` Marijn Suijten
2023-04-17 19:59               ` Abhinav Kumar
2022-12-31 21:50 ` [RFC PATCH 6/7] drm/msm/dpu: Implement tearcheck support on INTF block Marijn Suijten
2023-01-01 13:32   ` Dmitry Baryshkov
2023-01-02 11:06     ` Marijn Suijten
2023-01-02 15:48       ` Dmitry Baryshkov
2022-12-31 21:50 ` [RFC PATCH 7/7] drm/msm/dpu: Remove intr_rdptr from DPU >= 5.0.0 pingpong config Marijn Suijten
2023-01-01 12:27   ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).