[PATCH 00/59] DC Patches Aug 26, 2026

Alex Hung <[email protected]>
Newsgroups org.freedesktop.lists.amd-gfx
Message-ID <[email protected]>
This DC patchset brings improvements in multiple areas. In summary, we
have:

* Move the DML wrapper into its own component.
* Fix DCN5/6 DML2 compilation warnings.
* Fix DCN60 DPP PRE_GAM offset, HDMI link rate and DSC handling.
* Fix backlight control for luminance-capable OLED.
* Restore native cursor mode early return for disabled CRTCs.
* Fix NULL hubp deref and CalculateFlipSchedule ordering.
* Remove duplicated fixpt and custom float code.
* Drop pipe_ctx param from MPC_VISUAL_CONFIRM.
* Move cursor SDR white level calc out of the hwss executor.
* Set gpuvm min page size to 4K on DCN35/36.
* Update RBBMIF timeout control conditions.
* Guard DAL port idle optimizations by ASIC rev.
* Re-enable multi-dwb support and clean up per-DPM struct.
* Add max_downscale_src_width debugfs for IGT validation.
* Expand amdgpu_dm KUnit coverage.

Cc: Dan Wheeler <[email protected]>

Alex Hung (34):
  drm/amd/display: Test ISM idle commit
  drm/amd/display: Test ISM idle exit arms
  drm/amd/display: Test ISM delayed workers
  drm/amd/display: Test colorop error paths
  drm/amd/display: Model ASSERT as path terminator
  drm/amd/display: Test backlight caps validation
  drm/amd/display: Skip ACPI backlight caps test
  drm/amd/display: Test vblank counter and scanout position
  drm/amd/display: Test DM atomic private state helpers
  drm/amd/display: Test affected MST DSC CRTC selection
  drm/amd/display: Test cursor commit
  drm/amd/display: Test vblank event arming
  drm/amd/display: Test page flip interrupt state update
  drm/amd/display: Test CRTC memory domain change detection
  drm/amd/display: Test PSR dirty rectangle filling
  drm/amd/display: Test plane reset decision
  drm/amd/display: Test link and sink dump
  drm/amd/display: Test HDCP update
  drm/amd/display: Test global modeset lock acquisition
  drm/amd/display: Test timing sync trigger
  drm/amd/display: Test IP block teardown and link emulation
  drm/amd/display: Test mod_power stream updates on modeset
  drm/amd/display: Test atomic commit setup
  drm/amd/display: Test MMHUB config read
  drm/amd/display: Test power module init
  drm/amd/display: Test vline0 irq control
  drm/amd/display: Test DMCU firmware load
  drm/amd/display: Test SW init and fini
  drm/amd/display: Test DM late init
  drm/amd/display: Test mode and plane init
  drm/amd/display: Test DM early init
  drm/amd/display: Test DC plane info fill
  drm/amd/display: Test DC plane attributes
  drm/amd/display: Test MST VCPI slot calc

Alvin Lee (1):
  drm/amd/display: Fix DPP PRE_GAM register offset on DCN60

Austin Zheng (5):
  drm/amd/display: Preparations To Move DML Wrapper Out Of DML
  drm/amd/display: Clean up Per-DPM Struct
  drm/amd/display: Fix Order Of Operation In Calculate Flip Schedule
  drm/amd/display: Remove const Qualifier From Non-Pointer Fields
  drm/amd/display: Move DML Wrapper into its own Component

Dillon Varone (3):
  drm/amd/display: Guard DAL port idle optimizations by ASIC rev
  drm/amd/display: Re-enable multi-dwb support
  drm/amd/display: Change RBBMIF timeout control conditions

Hansen Dsouza (1):
  drm/amd/display: Add debug bit for force p2cpm

Ivan Lipski (1):
  drm/amd/display: Fix DCN5/6 DML2 compilation warnings

James Lin (1):
  drm/amd/display: Avoid NULL hubp deref for remaining mpcc_id
    assignment

Peichen Huang (1):
  drm/amd/display: Do not use panel_inst in pr

Relja Vojvodic (1):
  drm/amd/display: Update HDMI link rate and DSC handling for DCN60

Roman Li (3):
  drm/amd/display: Set gpuvm min page size to 4K on dcn35/36
  drm/amd/display: Fix backlight control for luminance-capable OLED
  drm/amd/display: Apply debug bit for force p2cpm

Samson Tam (3):
  drm/amd/display: Move custom float structures from opp.h to
    custom_float.h
  drm/amd/display: Remove fixpt and custom float duplicated code
  drm/amd/display: Remove internal references

Taimur Hassan (1):
  drm/amd/display: Promote DC to 3.2.396

Tom Chung (1):
  drm/amd/display: Restore the native cursor mode early return for
    disabled CRTCs

Tomasz Siemek (2):
  drm/amd/display: Move cursor SDR white level calculation out of hwss
    executor
  drm/amd/display: Remove pipe_ctx param from MPC_VISUAL_CONFIRM

Tony Qi (1):
  drm/amd/display: Add max_downscale_src_width debugfs for IGT
    validation

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  187 +-
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h |   77 +
 .../display/amdgpu_dm/amdgpu_dm_backlight.c   |   41 +-
 .../display/amdgpu_dm/amdgpu_dm_backlight.h   |    1 +
 .../amd/display/amdgpu_dm/amdgpu_dm_colorop.c |  110 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_colorop.h |   28 +
 .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c    |   40 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_crtc.h    |    1 +
 .../amd/display/amdgpu_dm/amdgpu_dm_cursor.c  |   17 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c |   20 +
 .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c |    8 +
 .../tests/amdgpu_dm_backlight_test.c          |   53 +-
 .../amdgpu_dm/tests/amdgpu_dm_colorop_test.c  |  232 +-
 .../amdgpu_dm/tests/amdgpu_dm_crtc_test.c     |  101 +
 .../amdgpu_dm/tests/amdgpu_dm_ism_test.c      |  367 +-
 .../display/amdgpu_dm/tests/amdgpu_dm_test.c  | 3552 +++++++++++++++++
 drivers/gpu/drm/amd/display/dc/Makefile       |    1 +
 .../display/dc/clk_mgr/dcn60/dcn60_clk_mgr.c  |    3 +
 drivers/gpu/drm/amd/display/dc/core/dc.c      |    5 +-
 .../drm/amd/display/dc/core/dc_hw_sequencer.c |   75 +-
 .../drm/amd/display/dc/core/dc_link_exports.c |    3 +-
 .../gpu/drm/amd/display/dc/core/dc_resource.c |    2 +-
 .../gpu/drm/amd/display/dc/core/dc_state.c    |    4 +-
 drivers/gpu/drm/amd/display/dc/dc.h           |    5 +-
 drivers/gpu/drm/amd/display/dc/dc_types.h     |    3 +-
 .../drm/amd/display/dc/dml/dcn30/dcn30_fpu.c  |   18 +-
 .../drm/amd/display/dc/dml/dml1_frl_cap_chk.c |    8 +-
 .../gpu/drm/amd/display/dc/dml2_0/Makefile    |   13 +-
 .../display/dc/dml2_0/dml21/dml21_wrapper.h   |  106 -
 .../dml21/inc/dml_top_soc_parameter_types.h   |   32 +-
 .../dml2_core/dml2_core_dcn5_calcs_dchub.c    |    8 +-
 .../dml2_core_dcn5_funcs_mode_programming.c   |    4 +-
 .../dml2_core_dcn5_funcs_mode_support.c       |    5 -
 .../dml2_core/dml2_core_dcn6_calcs_dchub.c    |    4 +-
 .../dml2_core_dcn6_funcs_mode_support.c       |    4 -
 .../src/dml2_core/dml2_core_shared_types.h    |    4 +-
 .../dml2_pmo/dml2_pmo_dcn6_stage_optimizers.c |    2 +-
 .../drm/amd/display/dc/dml2_wrapper/Makefile  |   61 +
 .../dml21_wrapper}/dml21_translation_helper.c |   15 +-
 .../dml21_wrapper}/dml21_translation_helper.h |    7 +-
 .../dml21_wrapper}/dml21_utils.c              |   11 +-
 .../dml21_wrapper}/dml21_utils.h              |    7 +-
 .../dml21_wrapper}/dml21_wrapper.c            |    2 +-
 .../dml21_wrapper/dml21_wrapper.h             |  107 +
 .../dml21_wrapper}/dml21_wrapper_fpu.c        |   19 +-
 .../dml21_wrapper}/dml21_wrapper_fpu.h        |    7 +-
 .../dml2_dc_resource_mgmt.c                   |   60 +-
 .../dml2_dc_resource_mgmt.h                   |    0
 .../{dml2_0 => dml2_wrapper}/dml2_dc_types.h  |    0
 .../dml2_internal_types.h                     |    2 +-
 .../dml2_mall_phantom.c                       |   70 +-
 .../dml2_mall_phantom.h                       |    0
 .../dc/{dml2_0 => dml2_wrapper}/dml2_policy.c |    2 +-
 .../dc/{dml2_0 => dml2_wrapper}/dml2_policy.h |    0
 .../dml2_translation_helper.c                 |   21 +-
 .../dml2_translation_helper.h                 |    0
 .../dc/{dml2_0 => dml2_wrapper}/dml2_utils.c  |   28 +-
 .../dc/{dml2_0 => dml2_wrapper}/dml2_utils.h  |    0
 .../{dml2_0 => dml2_wrapper}/dml2_wrapper.c   |    6 +-
 .../{dml2_0 => dml2_wrapper}/dml2_wrapper.h   |    0
 .../dml2_wrapper_fpu.c                        |   45 +-
 .../dml2_wrapper_fpu.h                        |    0
 .../drm/amd/display/dc/dpp/dcn50/dcn50_dpp.h  |   11 +-
 .../drm/amd/display/dc/dpp/dcn60/dcn60_dpp.h  |    7 +-
 drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c   |    8 +
 .../drm/amd/display/dc/dsc/dcn60/dcn60_dsc.c  |    4 +-
 .../hpo/dcn60/dcn60_hpo_frl_stream_encoder.c  |  131 +-
 .../amd/display/dc/hubp/dcn21/dcn21_hubp.c    |    6 +-
 .../amd/display/dc/hubp/dcn21/dcn21_hubp.h    |    2 +-
 .../amd/display/dc/hubp/dcn30/dcn30_hubp.c    |    2 +-
 .../amd/display/dc/hwss/dcn10/dcn10_hwseq.c   |   26 +-
 .../amd/display/dc/hwss/dcn20/dcn20_hwseq.c   |    4 -
 .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c |    3 +-
 .../amd/display/dc/hwss/dcn50/dcn50_hwseq.c   |    3 +-
 .../drm/amd/display/dc/hwss/hw_sequencer.h    |   11 +-
 .../gpu/drm/amd/display/dc/inc/custom_float.h |   21 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/opp.h   |   14 +-
 .../gpu/drm/amd/display/dc/inc/link_service.h |    2 +-
 .../drm/amd/display/dc/link/link_detection.c  |    2 +
 .../drm/amd/display/dc/link/link_factory.c    |    2 +-
 .../dc/link/protocols/link_dp_panel_replay.c  |   36 +-
 .../dc/link/protocols/link_dp_panel_replay.h  |    2 +-
 .../link/protocols/link_edp_panel_control.c   |   47 +-
 drivers/gpu/drm/amd/display/dc/os_types.h     |   18 +
 .../dc/resource/dcn32/dcn32_resource.c        |    2 +-
 .../dc/resource/dcn35/dcn35_resource.c        |    2 +-
 .../dc/resource/dcn351/dcn351_resource.c      |    2 +-
 .../dc/resource/dcn36/dcn36_resource.c        |    2 +-
 .../dc/resource/dcn401/dcn401_resource.c      |    2 +-
 .../dc/resource/dcn42/dcn42_resource.c        |    2 +-
 .../dc/resource/dcn42b/dcn42b_resource.c      |    2 +-
 .../dc/resource/dcn60/dcn60_resource.c        |    4 +-
 drivers/gpu/drm/amd/display/dc/sspl/Makefile  |    5 +-
 drivers/gpu/drm/amd/display/dc/sspl/dc_spl.c  |  130 +-
 .../display/dc/sspl/dc_spl_isharp_filters.c   |   10 +-
 .../display/dc/sspl/dc_spl_scl_easf_filters.c |   88 +-
 .../amd/display/dc/sspl/dc_spl_scl_filters.c  |   24 +-
 .../drm/amd/display/dc/sspl/dc_spl_types.h    |   60 +-
 .../amd/display/dc/sspl/spl_custom_float.c    |  152 -
 .../amd/display/dc/sspl/spl_custom_float.h    |   29 -
 .../drm/amd/display/dc/sspl/spl_fixpt31_32.c  |  495 ---
 .../drm/amd/display/dc/sspl/spl_fixpt31_32.h  |  526 ---
 .../drm/amd/display/dc/sspl/spl_namespace.h   |   17 +
 .../drm/amd/display/dc/sspl/spl_os_types.h    |   43 +-
 104 files changed, 5459 insertions(+), 2114 deletions(-)
 delete mode 100644 drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_wrapper.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2_wrapper/Makefile
 rename drivers/gpu/drm/amd/display/dc/{dml2_0/dml21 => dml2_wrapper/dml21_wrapper}/dml21_translation_helper.c (99%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0/dml21 => dml2_wrapper/dml21_wrapper}/dml21_translation_helper.h (94%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0/dml21 => dml2_wrapper/dml21_wrapper}/dml21_utils.c (99%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0/dml21 => dml2_wrapper/dml21_wrapper}/dml21_utils.h (96%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0/dml21 => dml2_wrapper/dml21_wrapper}/dml21_wrapper.c (100%)
 create mode 100644 drivers/gpu/drm/amd/display/dc/dml2_wrapper/dml21_wrapper/dml21_wrapper.h
 rename drivers/gpu/drm/amd/display/dc/{dml2_0/dml21 => dml2_wrapper/dml21_wrapper}/dml21_wrapper_fpu.c (96%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0/dml21 => dml2_wrapper/dml21_wrapper}/dml21_wrapper_fpu.h (95%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_dc_resource_mgmt.c (96%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_dc_resource_mgmt.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_dc_types.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_internal_types.h (99%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_mall_phantom.c (97%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_mall_phantom.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_policy.c (99%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_policy.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_translation_helper.c (99%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_translation_helper.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_utils.c (98%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_utils.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_wrapper.c (97%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_wrapper.h (100%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_wrapper_fpu.c (93%)
 rename drivers/gpu/drm/amd/display/dc/{dml2_0 => dml2_wrapper}/dml2_wrapper_fpu.h (100%)
 delete mode 100644 drivers/gpu/drm/amd/display/dc/sspl/spl_custom_float.c
 delete mode 100644 drivers/gpu/drm/amd/display/dc/sspl/spl_custom_float.h
 delete mode 100644 drivers/gpu/drm/amd/display/dc/sspl/spl_fixpt31_32.c
 delete mode 100644 drivers/gpu/drm/amd/display/dc/sspl/spl_fixpt31_32.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/sspl/spl_namespace.h

-- 
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.