[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