[Freedreno] [PULL] drm/msm display pull request

Dmitry Baryshkov dmitry.baryshkov at linaro.org
Tue Apr 26 01:33:07 UTC 2022


Hi Rob,

This is a pull request over the patches accumulated, reviewed and tested for
the 5.19 merge window. This pull request contains following changes:

 - DPU: DSC (Display Stream Compression) support
 - DPU: inline rotation support on SC7280
 - DPU: update DP timings to follow vendor recommendations
 - DP, DPU: add support for wide bus (on newer chipsets)
 - DP: eDP support
 - Merge DPU1 and MDP5 MDSS driver, make dpu/mdp device the master
   component
 - MDSS: optionally reset the IP block at the bootup to drop
   bootloader state
 - Properly register and unregister internal bridges in the DRM framework
 - Complete DPU IRQ cleanup
 - DP: conversion to use drm_bridge and drm_bridge_connector
 - Misc small fixes

This request still comes as a merge of several local branches. If you wish, I
can rebase them into a single stream of patches.

There are several other series which are very close to the merge (e.g. the
writeback support), so if the time permits I might send another pull request
later.

The following changes since commit 78f815c1cf8fc5f05dc5cec29eb1895cb53470e9:

  drm/msm: return the average load over the polling period (2022-04-21 15:05:23 -0700)

are available in the Git repository at:

  https://gitlab.freedesktop.org/lumag/msm.git msm-next-lumag

for you to fetch changes up to 7e7657dc3f145df9990494f17aebcbea163f4a84:

  Merge branches 'msm-next-lumag-core', 'msm-next-lumag-dpu', 'msm-next-lumag-dp', 'msm-next-lumag-dsi', 'msm-next-lumag-hdmi', 'msm-next-lumag-mdp5' and 'msm-next-lumag-mdp4' into msm-next-lumag (2022-04-26 04:08:20 +0300)

----------------------------------------------------------------
Abhinav Kumar (1):
      drm/msm: remove unused hotplug and edid macros from msm_drv.h

Bjorn Andersson (2):
      dt-bindings: display: msm: Add optional resets
      drm/msm/dpu: Issue MDSS reset during initialization

Chia-I Wu (1):
      drm/msm: add trace_dma_fence_emit to msm_gpu_submit

Dmitry Baryshkov (30):
      drm/msm: unify MDSS drivers
      drm/msm: remove extra indirection for msm_mdss
      drm/msm: split the main platform driver
      drm/msm: stop using device's match data pointer
      drm/msm: allow compile time selection of driver components
      drm/msm: make mdp5/dpu devices master components
      drm/msm: properly add and remove internal bridges
      drm/msm/dpu: remove manual destruction of DRM objects
      drm/msm: loop over encoders using drm_for_each_encoder()
      drm/msm: don't store created planes, connectors and encoders
      drm/msm: remove unused plane_property field from msm_drm_private
      drm/msm/dpu: don't use merge_3d if DSC merge topology is used
      drm/msm/dp: replace dp_connector with drm_bridge_connector
      drm/msm/dp: remove extra wrappers and public functions
      drm/msm/dp: drop dp_mode argument from dp_panel_get_modes()
      drm/msm/dp: simplify dp_connector_get_modes()
      drm/msm/dp: remove max_pclk_khz field from dp_panel/dp_display
      drm/msm/dpu: remove extra wrappers around dpu_core_irq
      drm/msm/dpu: remove always-true argument of dpu_core_irq_read()
      drm/msm/dpu: allow just single IRQ callback
      drm/msm/dpu: get rid of dpu_encoder_helper_(un)register_irq
      drm/msm/dpu: remove struct dpu_encoder_irq
      drm/msm/dpu: pass irq to dpu_encoder_helper_wait_for_irq()
      drm/msm/dpu: document INTF_EDP/INTF_DP difference
      drm/msm/dpu: drop INTF_TYPE_MAX symbol
      drm/msm/dpu: drop obsolete INTF_EDP comment
      drm/msm/dpu: drop INTF_EDP from interface type conditions
      drm/msm/dsi: fix error checks and return values for DSI xmit functions
      drm/msm: select DRM_DP_AUX_BUS for the AUX bus support
      Merge branches 'msm-next-lumag-core', 'msm-next-lumag-dpu', 'msm-next-lumag-dp', 'msm-next-lumag-dsi', 'msm-next-lumag-hdmi', 'msm-next-lumag-mdp5' and 'msm-next-lumag-mdp4' into msm-next-lumag

Guo Zhengkui (1):
      drm/msm: fix returnvar.cocci warning

Haowen Bai (1):
      drm/msm/mdp5: Eliminate useless code

Kuogee Hsieh (7):
      drm/msm/dpu: adjust display_v_end for eDP and DP
      drm/msm/dpu: replace BIT(x) with correspond marco define string
      drm/msm/dpu: revise timing engine programming to support widebus feature
      drm/msm/dp: enable widebus feature for display port
      drm/msm/dp: replace DRM_DEBUG_DP marco with drm_dbg_dp
      drm/msm/dp: stop event kernel thread when DP unbind
      drm/msm/dp: tear down main link at unplug handle immediately

Lv Ruyi (4):
      drm: msm: fix error check return value of irq_of_parse_and_map()
      drm/msm/dp: fix error check return value of irq_of_parse_and_map()
      drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()
      drm/msm/dpu: fix error check return value of irq_of_parse_and_map()

Marijn Suijten (1):
      drm/msm/dpu: Bind pingpong block to intf on active ctls in cmd encoder

Sankeerth Billakanti (4):
      drm/msm/dp: Add eDP support via aux_bus
      drm/msm/dp: Support only IRQ_HPD and REPLUG interrupts for eDP
      drm/msm/dp: wait for hpd high before aux transaction
      drm/msm/dp: Support the eDP modes given by panel

Tom Rix (1):
      drm/msm: change msm_sched_ops from global to static

Vinod Koul (13):
      drm/msm/dsi: add support for dsc data
      drm/msm/dsi: Pass DSC params to drm_panel
      drm/msm/disp/dpu1: Add support for DSC
      drm/msm/disp/dpu1: Add support for DSC in pingpong block
      drm/msm/disp/dpu1: Add DSC for SDM845 to hw_catalog
      drm/msm/disp/dpu1: Add DSC support in hw_ctl
      drm/msm/disp/dpu1: Add support for DSC in encoder
      drm/msm: Add missing num_dspp field documentation
      drm/msm/disp/dpu1: Add support for DSC in topology
      drm/msm/disp/dpu1: Add DSC support in RM
      drm/msm/dsi: add mode valid callback for dsi_mgr
      drm/msm: Update generated headers
      drm/msm/dsi: Add support for DSC configuration

Vinod Polimera (3):
      drm/msm/disp/dpu1: add inline function to validate format support
      drm/msm/disp/dpu1: add inline rotation support for sc7280
      drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume

Yang Yingliang (1):
      drm/msm/hdmi: check return value after calling platform_get_resource_byname()

 .../bindings/display/msm/dpu-qcm2290.yaml          |   4 +
 .../bindings/display/msm/dpu-sc7180.yaml           |   4 +
 .../bindings/display/msm/dpu-sc7280.yaml           |   4 +
 .../bindings/display/msm/dpu-sdm845.yaml           |   4 +
 drivers/gpu/drm/msm/Kconfig                        |  51 ++-
 drivers/gpu/drm/msm/Makefile                       |  26 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h       |  32 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c        | 282 +++++++++-----
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h        |  10 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h   |  55 +--
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c   | 112 +++---
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   |  79 ++--
 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.h        |  22 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c     |  63 ++-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h     |  29 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c         |  11 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h         |   2 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c         | 215 +++++++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h         |  80 ++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c  | 157 +++-----
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h  |  12 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c        |  62 ++-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h        |   2 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h        |  22 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c    |  32 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h    |  14 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c            | 168 +++-----
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h            |  13 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c           | 260 -------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c          | 139 +++++--
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h          |   2 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c             |  56 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h             |   1 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h          |  67 ++--
 drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c   |   3 +
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c           |  64 ++-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c   |   3 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c           |  80 ++--
 drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c          | 252 ------------
 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c         |   2 -
 drivers/gpu/drm/msm/dp/dp_audio.c                  |  50 ++-
 drivers/gpu/drm/msm/dp/dp_aux.c                    |  21 +-
 drivers/gpu/drm/msm/dp/dp_aux.h                    |   3 +-
 drivers/gpu/drm/msm/dp/dp_catalog.c                |  98 +++--
 drivers/gpu/drm/msm/dp/dp_catalog.h                |   3 +
 drivers/gpu/drm/msm/dp/dp_ctrl.c                   | 150 ++++---
 drivers/gpu/drm/msm/dp/dp_ctrl.h                   |   2 +
 drivers/gpu/drm/msm/dp/dp_debug.c                  |   2 -
 drivers/gpu/drm/msm/dp/dp_display.c                | 429 +++++++++++++--------
 drivers/gpu/drm/msm/dp/dp_display.h                |   7 +-
 drivers/gpu/drm/msm/dp/dp_drm.c                    | 215 +++--------
 drivers/gpu/drm/msm/dp/dp_drm.h                    |  22 +-
 drivers/gpu/drm/msm/dp/dp_link.c                   | 103 +++--
 drivers/gpu/drm/msm/dp/dp_panel.c                  |  49 ++-
 drivers/gpu/drm/msm/dp/dp_panel.h                  |   3 +-
 drivers/gpu/drm/msm/dp/dp_parser.c                 |  25 +-
 drivers/gpu/drm/msm/dp/dp_parser.h                 |  14 +-
 drivers/gpu/drm/msm/dp/dp_power.c                  |  25 +-
 drivers/gpu/drm/msm/dsi/dsi.c                      |   6 +-
 drivers/gpu/drm/msm/dsi/dsi.h                      |   3 +
 drivers/gpu/drm/msm/dsi/dsi.xml.h                  |  80 ++++
 drivers/gpu/drm/msm/dsi/dsi_host.c                 | 297 +++++++++++++-
 drivers/gpu/drm/msm/dsi/dsi_manager.c              |  15 +
 drivers/gpu/drm/msm/hdmi/hdmi.c                    |  11 +-
 drivers/gpu/drm/msm/hdmi/hdmi_bridge.c             |   3 +
 drivers/gpu/drm/msm/msm_drv.c                      | 264 +++----------
 drivers/gpu/drm/msm/msm_drv.h                      | 139 ++++---
 drivers/gpu/drm/msm/msm_gpu.c                      |   2 +
 drivers/gpu/drm/msm/msm_kms.h                      |  21 -
 drivers/gpu/drm/msm/msm_mdss.c                     | 416 ++++++++++++++++++++
 drivers/gpu/drm/msm/msm_ringbuffer.c               |   2 +-
 include/drm/drm_panel.h                            |   7 +
 72 files changed, 3004 insertions(+), 1979 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h
 delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c
 delete mode 100644 drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c
 create mode 100644 drivers/gpu/drm/msm/msm_mdss.c


More information about the Freedreno mailing list