[PATCH 000/120] DC Patches Aug 9, 2017

Harry Wentland harry.wentland at amd.com
Wed Aug 9 15:00:46 UTC 2017


A whole lot of stuff this time around because it's Raven crunchtime
and a bunch of us found time to keep massaging DC in DRM's image.

 * Bunch more work to align DC with DRM
   * Flattened most core/dc objects
   * dc_surface is now dc_plane_state
   * dc_stream is now dc_stream_state (aka crtc_state)
   * Started work on dividing pipe_ctx into per-plane and per-stream ctx
   * Per-plane & per-stream validation
 * Align some DCN HW objects better with actual HW
 * Merged amdgpu_dm_types.c with amdgpu_dm.c
 * Add a couple missing register defines
 * Bunch of fixes, mostly for Raven

AMD\ktsao (1):
  drm/amd/display: remove DCN1 guard as DCN1 is already open sourced.

Andrey Grodzovsky (7):
  drm/amd/display: Move stream validations into seperate function.
  drm/amd/display: Use stream validation hook.
  drm/amd/display: Add per surface validation hook.
  drm/amd/display: add preferred mode from Video Format Preference Data
    Block
  drm/amd/display: Implement plane atomic_check.
  drm/amd/display: Add stateless surface validation to
    validate_resources
  drm/amd/display: fix >340 Mhz with deep color pipe split no display

Anthony Koo (1):
  drm/amd/display: implement DXGI Gamma Ramps

Bhawanpreet Lakha (3):
  drm/amd/display: Move and Rename "is_stream_changed()"
  drm/amd/display: Avoid full modeset when not required
  drm/amd/display: Fix comment placement for when new_stream is null

Charlene Liu (7):
  drm/amd/display: fix YCbCr420 deep color mode not supported
  drm/amd/display: single PSR display not allow CSTATE sw w/a
  drm/amd/display: fix PHYCLK in formula.
  drm/amd/display: fix PHYCLK in formula.
  drm/amd/display: update predefined latency for Rv1_F0
  drm/amd/display: fix dlg ttu calculation input
  drm/amd/display: fix eDP power down sequence

Corbin McElhanney (4):
  drm/amd/display: Add more pstate sanity checks
  drm/amd/display: Fix accessing freed memory
  drm/amd/display: Fix hw state logging regression
  drm/amd/display: fix HDMI 12bits last two bits are zero issue

Ding Wang (1):
  drm/amd/display: fix decide_link_settings

Dmytro Laktyushkin (10):
  drm/amd/display: fix dcn10_resource read_dce_straps
  drm/amd/display: update dcn register headers
  drm/amd/display: revert dcn10 soc defaults to 17 19
  drm/amd/display: support for updated register headers on DCN
  drm/amd/display: collapse dce11 reset_hw_ctx_wrap into 1 function
  drm/amd/display: mpc block redesign
  drm/amd/display: fix mpcc idle wait
  drm/amd/display: fix dcn fe reset memory access error
  drm/amd/display: fix bw_calc for hdmi and 420 outputs
  drm/amd/display: do not report min_memory_clock_khz to pplib for dce8
    & 10

Eric Yang (8):
  drm/amd/display: fix locking in apply_ctx_for_surface
  drm/amd/display: Fix generic_reg_wait 1000ms case
  drm/amd/display: add idle wait for passive surface update and modeset
  drm/amd/display: add missing func for dce11o to avoid crash
  drm/amd/display: break up plane disable and disconnect in set mode
  drm/amd/display: reduce 40s time out to 1s in disable crtc
  drm/amd/display: update clocks we report to PPlib
  drm/amd/display: add programming for 0 plane case

Harry Wentland (38):
  drm/amd/include: Add DC_PINSTRAPS.AUDIO defines
  drm/amd/include: Add DCHUBBUB_TEST_DEBUG register defines
  drm/amd: Add missing SURFACE_TMZ register shift/mask
  drm/amd/display: Roll surface struct into core_surface
  drm/amd/display: Roll core_surface into dc_surface
  drm/amd/display: Roll core_link into dc_link
  drm/amd/display: Roll sink struct into core_sink
  drm/amd/display: Roll core_sink into dc_sink
  Revert "drm/amd/display: Roll core_sink into dc_sink"
  drm/amd/display: Roll core_sink into dc_sink
  drm/amd/display: Roll gamma struct into core_gamma
  drm/amd/display: Roll core_gamma into dc_gamma
  drm/amd/display: Minor fix for dc_link refactor
  drm/amd/display: Minor fix for dc_sink refactor
  drm/amd/display: Fix compilation with DCN disabled
  drm/amd/display: Rename firmware_info to dc_firmware_info
  drm/amd/display: Merge amdgpu_dm_types and amdgpu_dm
  drm/amd/display: Fix ckeckpatch problems in amdgpu_dm
  drm/amd/display: Rename dc_surface to dc_plane_state
  drm/amd/display: Rename dc_stream to dc_stream_state
  drm/amd/display: Rename more dc_surface stuff to plane_state
  drm/amd/display: Remove struct from stack in dp_set_test_pattern
  drm/amd/display: Stub new resource objects
  drm/amd/display: Move scl_data to plane_res
  drm/amd/display: Move mi, ipp, xfm to plane_res
  drm/amd/display: Move OPP to stream_res
  drm/amd/display: Move TG to stream_res
  drm/amd/display: Move stream_enc to stream_res
  drm/amd/display: Move audio to stream_res
  drm/amd/display: Move pix_clk_params into stream_res
  drm/amd/display: Move encoder_info_frame to stream_res
  drm/amd/display: Fix plane_atomic_check when no dc_state
  drm/amd/display: Clean up cursor code
  drm/amd/display: Use public plane destroy helper
  drm/amd/display: Couple newline fixes
  drm/amd/display: Fix regression in dce110_apply_ctx_for_surfaces
  drm/amd/display: Pass correct number for gamma entries
  drm/amd/display: Fix warnings about uninitialized use

Jerry Zuo (1):
  drm/amd/display: Add surface to dm_plane_state if fb reserve fails

Kenny Tsao (1):
  drm/amd/display: remove remaining DCN1 guard

Leo (Sunpeng) Li (2):
  drm/amd/display: Roll core_stream into dc_stream
  drm/amd/display: Roll stream into dc_stream

Roman Li (6):
  drm/amd/display: fix index and union overwrite in compressor
  drm/amd/display: Fix eDP panel light-up
  drm/amd/display: safeguard compressor api
  drm/amd/display: add detect caps for edp
  drm/amd/display: Initial prototype of FBC implementation
  drm/amd/display: Initial prototype of FBC implementation

Tony Cheng (12):
  drm/amd/display: register programming consolidation
  drm/amd/display: plumbing to allow easy print of HW state for DTN
  drm/amd/display: mpo debug sanity checks
  drm/amd/display: mpcc disconnect and pipe pg in multi-display
  drm/amd/display: move VGA to HWSS from TG
  drm/amd/display: move ocsc programming from opp to dpp
  drm/amd/display: separate plane disable sequence
  drm/amd/display: log HUBP using DTN logging
  drm/amd/display: log HW state when we about to encounter DF DPM hang
  drm/amd/display: log underflow
  drm/amd/display: use some sensible time out
  drm/amd/display: log watermarks

Vikrant Mhaske (1):
  drm/amd/display: Fix DCN compile errors

Vitaly Prosyak (1):
  drm/amd/display: Add interfaces for new CM blocks

Wenjing Liu (2):
  drm/amd/display: Return hpd_irq_dpcd from hpd_rx handler
  drm/amd/display: Move verify link cap after read edid

Wesley Chalmers (1):
  drm/amd/display: Change DTN_INFO macro

Yongqiang Sun (5):
  drm/amd/display: Disable timestamp and entry heading
  drm/amd/display: Keep blank until set visibility to true after mode
    switch
  drm/amd/display: Implement tmz surface.
  drm/amd/display: Clear water mark change request bit before
    programing.
  drm/amd/display: Workaround for underflow.

Yue Hin Lau (4):
  drm/amd/display: move RGAM programming from opp to dpp
  drm/amd/display: move ocsc programming from opp to dpp
  drm/amd/display: move ocsc programming from opp to dpp for dce
  drm/amd/display: move regamma from opp to dpp for dce

Zeyu Fan (4):
  drm/amd/display: Set i2c speed to 100khz for DCE11.2 and later.
  drm/amd/display: Implement logic for hdmi info packet bits.
  drm/amd/display: Move DCHUBBUB block from MemInput to HW sequencer.
  drm/amd/display: Clean up some DCN1 guards

 drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h           |    6 +-
 drivers/gpu/drm/amd/display/amdgpu_dm/Makefile     |    2 +-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c  | 3437 ++++++++++++++++++-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h  |  120 +-
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c  |   16 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c    |    2 +-
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_services.c |    1 -
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.c    | 3445 --------------------
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_types.h    |  135 -
 .../gpu/drm/amd/display/dc/basics/log_helpers.c    |   28 -
 drivers/gpu/drm/amd/display/dc/bios/bios_parser.c  |   14 +-
 drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c |    8 +-
 .../amd/display/dc/bios/command_table_helper2.c    |    1 +
 drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c   |   72 +-
 .../gpu/drm/amd/display/dc/calcs/dcn_calc_auto.c   |   13 +-
 drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c   |  337 +-
 drivers/gpu/drm/amd/display/dc/core/dc.c           |  532 +--
 drivers/gpu/drm/amd/display/dc/core/dc_debug.c     |  196 +-
 drivers/gpu/drm/amd/display/dc/core/dc_link.c      |  380 +--
 drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c  |    6 +-
 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c   |  430 ++-
 drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c |   67 +-
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c  |  740 +++--
 drivers/gpu/drm/amd/display/dc/core/dc_sink.c      |   52 +-
 drivers/gpu/drm/amd/display/dc/core/dc_stream.c    |  178 +-
 drivers/gpu/drm/amd/display/dc/core/dc_surface.c   |  124 +-
 drivers/gpu/drm/amd/display/dc/dc.h                |  312 +-
 drivers/gpu/drm/amd/display/dc/dc_bios_types.h     |    2 +-
 drivers/gpu/drm/amd/display/dc/dc_ddc_types.h      |    2 +-
 drivers/gpu/drm/amd/display/dc/dc_helper.c         |   13 +-
 drivers/gpu/drm/amd/display/dc/dc_hw_types.h       |   29 +-
 drivers/gpu/drm/amd/display/dc/dc_types.h          |   35 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c       |   11 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_abm.h       |   91 +-
 .../gpu/drm/amd/display/dc/dce/dce_clock_source.c  |    6 +-
 .../gpu/drm/amd/display/dc/dce/dce_clock_source.h  |    2 -
 drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c    |    4 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c      |    8 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.h      |   20 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.c     |    8 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.h     |  161 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_ipp.c       |   14 +-
 .../gpu/drm/amd/display/dc/dce/dce_link_encoder.c  |   17 +-
 .../gpu/drm/amd/display/dc/dce/dce_link_encoder.h  |   17 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c |   54 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_opp.c       |  438 +--
 drivers/gpu/drm/amd/display/dc/dce/dce_opp.h       |  144 +-
 .../drm/amd/display/dc/dce/dce_stream_encoder.h    |    6 -
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.c |  450 +++
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.h |  118 +
 .../amd/display/dc/dce100/dce100_hw_sequencer.c    |    4 +-
 .../drm/amd/display/dc/dce100/dce100_resource.c    |   58 +-
 .../drm/amd/display/dc/dce100/dce100_resource.h    |    2 +
 .../drm/amd/display/dc/dce110/dce110_compressor.c  |    4 +-
 .../amd/display/dc/dce110/dce110_hw_sequencer.c    |  820 +++--
 .../drm/amd/display/dc/dce110/dce110_opp_csc_v.c   |   45 +-
 .../amd/display/dc/dce110/dce110_opp_regamma_v.c   |   88 +-
 .../gpu/drm/amd/display/dc/dce110/dce110_opp_v.c   |    5 -
 .../gpu/drm/amd/display/dc/dce110/dce110_opp_v.h   |   17 -
 .../drm/amd/display/dc/dce110/dce110_resource.c    |  117 +-
 .../drm/amd/display/dc/dce110/dce110_transform_v.c |    5 +
 .../drm/amd/display/dc/dce110/dce110_transform_v.h |   21 +
 .../drm/amd/display/dc/dce112/dce112_compressor.c  |    4 +-
 .../drm/amd/display/dc/dce112/dce112_resource.c    |   52 +-
 .../drm/amd/display/dc/dce112/dce112_resource.h    |    2 +-
 .../amd/display/dc/dce120/dce120_hw_sequencer.c    |   64 +
 .../drm/amd/display/dc/dce120/dce120_resource.c    |    9 +-
 .../drm/amd/display/dc/dce80/dce80_compressor.c    |    4 +-
 .../gpu/drm/amd/display/dc/dce80/dce80_resource.c  |   51 +-
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c   |  580 ++++
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h   | 1022 +++++-
 .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c  | 1348 ++++++--
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.c   |   29 +-
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.h   |    9 +-
 .../gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c |  375 +--
 .../gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h |  111 +-
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c   |  245 +-
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h   |   82 +-
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c   |  585 +---
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.h   |  547 +---
 .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c  |  168 +-
 .../amd/display/dc/dcn10/dcn10_timing_generator.c  |   86 +-
 drivers/gpu/drm/amd/display/dc/dm_helpers.h        |   12 +-
 drivers/gpu/drm/amd/display/dc/dm_services.h       |   14 +-
 drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c   |    1 +
 drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c |    1 +
 drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c     |   21 +-
 drivers/gpu/drm/amd/display/dc/inc/compressor.h    |    1 +
 drivers/gpu/drm/amd/display/dc/inc/core_dc.h       |    2 +-
 drivers/gpu/drm/amd/display/dc/inc/core_types.h    |  163 +-
 drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h   |    2 +-
 drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h    |   22 +-
 drivers/gpu/drm/amd/display/dc/inc/dcn_calcs.h     |    5 +
 .../gpu/drm/amd/display/dc/inc/hw/display_clock.h  |    2 -
 drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h       |    2 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h  |   47 +
 drivers/gpu/drm/amd/display/dc/inc/hw/ipp.h        |    2 -
 .../gpu/drm/amd/display/dc/inc/hw/link_encoder.h   |    3 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h  |   15 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h        |   26 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/opp.h        |   62 +-
 .../drm/amd/display/dc/inc/hw/timing_generator.h   |    7 +-
 drivers/gpu/drm/amd/display/dc/inc/hw/transform.h  |   55 +-
 drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h  |   17 +-
 drivers/gpu/drm/amd/display/dc/inc/link_hwss.h     |   22 +-
 drivers/gpu/drm/amd/display/dc/inc/resource.h      |   17 +-
 .../amd/display/dc/irq/dce110/irq_service_dce110.c |    2 +-
 .../amd/display/dc/virtual/virtual_link_encoder.c  |    2 +-
 drivers/gpu/drm/amd/display/include/dal_asic_id.h  |    7 +-
 drivers/gpu/drm/amd/display/include/dal_types.h    |    3 +-
 .../amd/display/include/grph_object_ctrl_defs.h    |    2 +-
 .../gpu/drm/amd/display/include/logger_interface.h |   32 +-
 .../drm/amd/display/modules/freesync/freesync.c    |   62 +-
 .../gpu/drm/amd/display/modules/inc/mod_freesync.h |   28 +-
 .../include/asic_reg/raven1/DCN/dcn_1_0_offset.h   |    6 +
 .../include/asic_reg/raven1/DCN/dcn_1_0_sh_mask.h  |    5 +
 116 files changed, 10466 insertions(+), 9067 deletions(-)
 delete mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
 delete mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.h

-- 
2.11.0



More information about the amd-gfx mailing list