[Freedreno] [pull] drm/msm: drm-msm-next-2023-10-17 for v6.7
Rob Clark
robdclark at gmail.com
Tue Oct 17 07:25:00 UTC 2023
Hi Dave,
This is the pull for v6.7, see below for description. There are some
conflicts with drm-next and mm trees. The resolution in linux-next
looks correct. Also, just in case, I've pushed the drm-next merge
resolution to msm-next-merge-resolution branch in the same tree. (And
can do the same for mm if needed.) Ping me if any questions.
The following changes since commit 10f20628c9b8e924b8046e63b36b2cea4d2c85e4:
drm/msm/dpu: fail dpu_plane_atomic_check() based on mdp clk limits
(2023-10-05 10:18:10 -0700)
are available in the Git repository at:
https://gitlab.freedesktop.org/drm/msm.git tags/drm-msm-next-2023-10-17
for you to fetch changes up to b08d26dac1a1075c874f40ee02ec8ddc39e20146:
drm/msm/a7xx: actually use a7xx state registers (2023-10-16 09:38:56 -0700)
----------------------------------------------------------------
Updates for v6.7
DP:
- use existing helpers for DPCD handling instead of open-coded functions
- set the subconnector type according to the plugged cable / dongle
skip validity check for DP CTS EDID checksum
DPU:
- continued migration of feature flags to use core revision checks
- reworked interrupts code to use '0' as NO_IRQ, removed raw IRQ indices
from log / trace output
gpu:
- a7xx support (a730, a740)
- fixes and additional speedbins for a635, a643
core:
- decouple msm_drv from kms to more cleanly support headless devices (like
imx5+a2xx)
----------------------------------------------------------------
Dmitry Baryshkov (40):
drm/msm/dpu: remove irq_idx argument from IRQ callbacks
drm/msm/dpu: extract dpu_core_irq_is_valid() helper
drm/msm/dpu: add helper to get IRQ-related data
drm/msm/dpu: make the irq table size static
drm/msm/dpu: stop using raw IRQ indices in the kernel output
drm/msm/dpu: stop using raw IRQ indices in the kernel traces
drm/msm/dpu: shift IRQ indices by 1
drm/msm/dpu: inline _setup_pingpong_ops()
drm/msm/dpu: enable PINGPONG TE operations only when supported by HW
drm/msm/dpu: drop the DPU_PINGPONG_TE flag
drm/msm/dpu: inline _setup_intf_ops()
drm/msm/dpu: enable INTF TE operations only when supported by HW
drm/msm/dpu: drop DPU_INTF_TE feature flag
drm/msm/dpu: drop useless check from dpu_encoder_phys_cmd_te_rd_ptr_irq()
drm/msm/dpu: move INTF tearing checks to dpu_encoder_phys_cmd_init
drm/msm/dp: support setting the DP subconnector type
drm/msm: allow passing struct msm_kms to msm_drv_probe()
drm/msm/dpu: move resource allocation to the _probe function
drm/msm/mdp4: move resource allocation to the _probe function
drm/msm/mdp5: move resource allocation to the _probe function
drm/msm/dsi: switch to devm_drm_bridge_add()
drm/msm/hdmi: switch to devm_drm_bridge_add()
drm/msm/dp: move pdev from struct dp_display_private to struct msm_dp
drm/msm/dp: switch to devm_drm_bridge_add()
drm/msm: remove msm_drm_private::bridges field
drm/msm: drop pm ops from the headless msm driver
drm/msm: rename msm_pm_prepare/complete to note the KMS nature
drm/msm: remove shutdown callback from msm_platform_driver
drm/msm: rename msm_drv_shutdown() to msm_kms_shutdown()
drm/msm: switch to drmm_mode_config_init()
drm/msm: only register 'kms' debug file if KMS is used
drm/msm: make fb debugfs file available only in KMS case
drm/msm: carve out KMS code from msm_drv.c
drm/msm: fix fault injection support
drm/msm/dsi: use correct lifetime device for devm_drm_bridge_add
drm/msm/hdmi: use correct lifetime device for devm_drm_bridge_add
drm/msm/dp: use correct lifetime device for devm_drm_bridge_add
drm/msm/dsi: use msm_gem_kernel_put to free TX buffer
drm/msm/dsi: free TX buffer in unbind
drm/msm/a7xx: actually use a7xx state registers
Jani Nikula (1):
drm/msm/dp: skip validity check for DP CTS EDID checksum
Jessica Zhang (4):
drm/msm/dpu: Move setting of dpu_enc::wide_bus_en to atomic enable()
drm/msm/dpu: Enable widebus for DSI INTF
drm/msm/dsi: Add DATABUS_WIDEN MDP_CTRL2 bit
drm/msm/dsi: Enable widebus for DSI
Konrad Dybcio (15):
dt-bindings: display/msm/gmu: Add Adreno 7[34]0 GMU
dt-bindings: display/msm/gmu: Allow passing QMP handle
dt-bindings: display/msm/gpu: Allow A7xx SKUs
drm/msm/a6xx: Add missing regs for A7XX
drm/msm/a6xx: Add skeleton A7xx support
drm/msm/a6xx: Send ACD state to QMP at GMU resume
drm/msm/a6xx: Mostly implement A7xx gpu_state
drm/msm/a6xx: Add A730 support
drm/msm/a6xx: Add A740 support
drm/msm/a6xx: Poll for GBIF unhalt status in hw_init
drm/msm/adreno: Fix SM6375 GPU ID
drm/msm/a6xx: Fix unknown speedbin case
drm/msm/adreno: Add ZAP firmware name to A635
drm/msm/adreno: Add A635 speedbin 0xac (A643)
drm/msm/a6xx: Fix up QMP handling
Neil Armstrong (5):
drm/msm/dpu: create a dpu_hw_clk_force_ctrl() helper
drm/msm/dpu: add setup_clk_force_ctrl() op to sspp & wb
drm/msm/dpu: move setup_force_clk_ctrl handling into plane and wb
drm/msm/dpu: sm8550: remove unused VIG and DMA clock controls entries
drm/msm/dpu: enable writeback on SM8550
Rob Herring (2):
dt-bindings: display: msm: Add missing unevaluatedProperties on
child node schemas
dt-bindings: display: msm: Make "additionalProperties: true" explicit
Ruan Jinjie (1):
drm/msm: Remove unnecessary NULL values
Stephen Boyd (9):
drm/msm/dp: Replace open-coded drm_dp_read_dpcd_caps()
drm/msm/dp: Use drm_dp_read_sink_count() helper
drm/msm/dp: Remove dead code related to downstream cap info
drm/msm/dp: Remove aux_cfg_update_done and related code
drm/msm/dp: Simplify with drm_dp_{max_link_rate, max_lane_count}()
drm/msm/dp: Inline dp_link_parse_sink_count()
drm/msm/dp: Remove dp_display_is_ds_bridge()
drm/msm/dp: Inline dp_display_is_sink_count_zero()
drm/msm/dp: Remove error message when downstream port not connected
.../bindings/display/msm/dp-controller.yaml | 1 +
.../devicetree/bindings/display/msm/gmu.yaml | 47 +-
.../devicetree/bindings/display/msm/gpu.yaml | 4 +-
.../bindings/display/msm/qcom,msm8998-mdss.yaml | 6 +
.../bindings/display/msm/qcom,qcm2290-mdss.yaml | 6 +
.../bindings/display/msm/qcom,sc7180-mdss.yaml | 8 +
.../bindings/display/msm/qcom,sc7280-mdss.yaml | 10 +
.../bindings/display/msm/qcom,sc8280xp-mdss.yaml | 4 +
.../bindings/display/msm/qcom,sdm845-mdss.yaml | 8 +
.../bindings/display/msm/qcom,sm6115-mdss.yaml | 6 +
.../bindings/display/msm/qcom,sm6125-mdss.yaml | 6 +
.../bindings/display/msm/qcom,sm6350-mdss.yaml | 6 +
.../bindings/display/msm/qcom,sm6375-mdss.yaml | 6 +
.../bindings/display/msm/qcom,sm8150-mdss.yaml | 6 +
.../bindings/display/msm/qcom,sm8250-mdss.yaml | 6 +
.../bindings/display/msm/qcom,sm8350-mdss.yaml | 8 +
.../bindings/display/msm/qcom,sm8450-mdss.yaml | 8 +
.../bindings/display/msm/qcom,sm8550-mdss.yaml | 8 +
drivers/gpu/drm/msm/Makefile | 1 +
drivers/gpu/drm/msm/adreno/a6xx.xml.h | 9 +
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 209 +++++--
drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 3 +
drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h | 8 +
drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 655 +++++++++++++++++++--
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 69 ++-
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 65 +-
drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 88 +++
drivers/gpu/drm/msm/adreno/adreno_device.c | 34 +-
drivers/gpu/drm/msm/adreno/adreno_gpu.c | 7 +-
drivers/gpu/drm/msm/adreno/adreno_gpu.h | 32 +-
.../drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h | 4 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h | 4 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 8 -
.../drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 10 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h | 3 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h | 8 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h | 3 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_6_3_sm6115.h | 1 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 3 -
.../drm/msm/disp/dpu1/catalog/dpu_6_5_qcm2290.h | 1 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_6_9_sm6375.h | 1 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h | 8 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 6 -
.../drm/msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h | 13 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h | 12 -
.../gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h | 48 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h | 8 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 55 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 6 +-
.../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 62 +-
.../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 4 +-
.../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c | 53 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 3 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 20 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 160 +++--
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h | 20 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 58 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h | 1 +
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c | 41 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h | 3 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 21 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 12 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 23 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c | 21 +
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h | 4 +
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c | 20 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h | 7 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 139 ++---
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 42 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 6 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 72 ++-
drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c | 30 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h | 4 -
drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 112 ++--
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 106 ++--
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c | 2 +-
drivers/gpu/drm/msm/dp/dp_display.c | 60 +-
drivers/gpu/drm/msm/dp/dp_display.h | 1 +
drivers/gpu/drm/msm/dp/dp_drm.c | 21 +-
drivers/gpu/drm/msm/dp/dp_drm.h | 2 +-
drivers/gpu/drm/msm/dp/dp_link.c | 38 +-
drivers/gpu/drm/msm/dp/dp_panel.c | 130 +---
drivers/gpu/drm/msm/dp/dp_panel.h | 11 +-
drivers/gpu/drm/msm/dsi/dsi.c | 34 +-
drivers/gpu/drm/msm/dsi/dsi.h | 5 +-
drivers/gpu/drm/msm/dsi/dsi.xml.h | 1 +
drivers/gpu/drm/msm/dsi/dsi_host.c | 47 +-
drivers/gpu/drm/msm/dsi/dsi_manager.c | 30 +-
drivers/gpu/drm/msm/hdmi/hdmi.c | 22 +-
drivers/gpu/drm/msm/hdmi/hdmi.h | 5 +-
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 30 +-
drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 3 +-
drivers/gpu/drm/msm/msm_debugfs.c | 12 +-
drivers/gpu/drm/msm/msm_drv.c | 365 +-----------
drivers/gpu/drm/msm/msm_drv.h | 17 +-
drivers/gpu/drm/msm/msm_kms.c | 345 +++++++++++
drivers/gpu/drm/msm/msm_kms.h | 3 +
drivers/gpu/drm/msm/msm_ringbuffer.h | 2 +
99 files changed, 2365 insertions(+), 1403 deletions(-)
create mode 100644 drivers/gpu/drm/msm/msm_kms.c
More information about the Freedreno
mailing list