A long list of changes all at once again, this time, since we've had a couple regressions to iron out. * Build state per streams and planes to follow model of other atomic drivers * Rename context to state to avoid confusion * Flatten core_dc object * Remove bunch of unneeded code * Rework HW object code to fit HW layout better * Bunch of Raven fixes and ongoing work * Fix some races with DC object refcounts by using atomic_t * Fix some MST regressions Andrey Grodzovsky (5): drm/amd/display: Per stream validate_context build v2. drm/amd/display: Per plane validation context build. drm/amd/display: Refactor atomic check. drm/amd/display: Use DRM provided page flip flag. drm/amd/display: Move dis_clk into dc_state. Bhawanpreet Lakha (8): drm/amd/display: change bw_dceip and bw_vbios into pointers drm/amd/display: change dcn_ip and dcn_soc into pointers drm/amd/display: Flattening core_dc to dc drm/amd/display: Disable stutter for Raven drm/amd/display: Change log level for DCN powergatting drm/amd/display: Remove unneeded code drm/amd/display: Clean up flattening core_dc to dc drm/amd/display: Rename dc resource_validate_ctx methods Charlene Liu (9): drm/amd/display: fix eDP bootup/S4 backlight on drm/amd/display: eDP power sequence T9 fail drm/amd/display: fix not enter/exit PSR with latest driver/SBIOS drm/amd/display: write dpcd 0x600 to 2 for DP/eDP when powerdown drm/amd/display: Block 6Ghz timing if SBIOS set HDMI_6G_en to 0 drm/amd/display: add aux arbitration logic drm/amd/display: only polling VSync Phase within VSync peroroid drm/amd/display: not override the FMT setting set by VBIOS for eDP drm/amd/display: add backlight control in blankstream. Corbin McElhanney (2): drm/amd/display: Add comment explaining context free drm/amd/display: Log OTG registers with dcn10 hw state Dmytro Laktyushkin (4): drm/amd/display: Use function pointer for update_plane_addr drm/amd/display: Use MAX_PIPES for DTO reg arrays drm/amd/display: fix hubp mpcc and opp tracking drm/amd/display: Fixed mpc add, enable always scaler for video surface. Duke Du (1): drm/amd/display: add display write back(DWB) Eric Bernstein (1): drm/amd/display: Update DSCL Eric Yang (1): drm/amd/display: Fix time out on boot Harry Wentland (8): drm/amd/display: Leave DCN config guard around fpu header drm/amd/display: Remove unnecessary assignemnt drm/amd/display: dc: Remove unneeded includes in DCN drm/amd/display: Remove old, misleading comment drm/amd/display: Stop including atomfimrwareid.h directly drm/amd/display: Set add_stream_ctx for CZ, Hawaii and others drm/amd/display: Restore missing DCE8 xfm regs drm/amd/display: Don't spam log with failed validation Hersen Wu (1): drm/amd/display: DF C-state entry blocked when DPMS Jerry Zuo (4): drm/amd/display: Use atomic types for ref_count drm/amd/display: Fix two MST not light up regressions drm/amd/display: Fix MST downstream display not light up regression drm/amd/display: Rename dc validate_context and current_context Mikita Lipski (1): drm/amd/display: Add a clock source to a sharing pipe Roman Li (5): drm/amd/display: fix gamma distortion on Vega drm/amd/display: Fix FBC compilation drm/amd/display: increase polling interval for fbc status update drm/amd/display: Fix FBC disable for stereo drm/amd/display: program fbc for scatter/gather Tony Cheng (6): drm/amd/display: remove fake address reporting when blank drm/amd/display: refactor pplib/smu communication drm/amd/display: memory leak dwb drm/amd/display: version 3.1.01 drm/amd/display: retire dm_pp_apply_clock_for_voltage_request drm/amd/display: delete dead code Wenjing Liu (6): drm/amd/display: Cache edp config in dc link drm/amd/display: re-enable audio after LT test drm/amd/display: retry LT on failing LT in automated request drm/amd/display: Fix return value from rx irq handler on up request drm/amd/display: Safe stream encoder id in stream_status drm/amd/display: do not reset lane count in EQ fallback Yongqiang Sun (6): drm/amd/display: blank otg before power gate front end. drm/amd/display: Enable double buffer when unblank crtc. drm/amd/display: work around for 8k sleep crash drm/amd/display: Remove mpc from bios left over, keep double buffer disabled. drm/amd/display: Program reg for vertical interrupt. drm/amd/display: Disable OTG double buffer. Yue Hin Lau (8): drm/amd/display: move vm registers to hwsequencer drm/amd/display: separate scl functions out from dcn10_dpp drm/amd/display: separate cm functions out from dcn10_dpp drm/amd/display: cleanup naming of DCN DPP functions drm/amd/display: move cm registers from ipp to dpp_cm drm/amd/display: clean up header file includes drm/amd/display: clean up functions in dcn10_dpp_cm drm/amd/display: clean up cm register programming functions Zeyu Fan (1): drm/amd/display: Implement HDMI retimer settings for RV AM4 support. drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 545 +++---- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 13 +- drivers/gpu/drm/amd/display/dc/bios/bios_parser.c | 1 + drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 70 +- .../gpu/drm/amd/display/dc/bios/command_table2.c | 1 - .../amd/display/dc/bios/command_table_helper2.c | 1 - drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c | 733 +++++----- drivers/gpu/drm/amd/display/dc/core/dc.c | 791 ++++------ drivers/gpu/drm/amd/display/dc/core/dc_debug.c | 22 +- .../gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 3 +- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 507 ++++++- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 27 +- drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c | 48 +- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 798 ++++++---- drivers/gpu/drm/amd/display/dc/core/dc_sink.c | 12 +- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 68 +- drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 50 +- drivers/gpu/drm/amd/display/dc/dc.h | 211 +-- drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 2 +- .../gpu/drm/amd/display/dc/dce/dce_clock_source.c | 87 +- .../gpu/drm/amd/display/dc/dce/dce_clock_source.h | 14 +- drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c | 35 +- drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 32 +- drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.c | 4 +- drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.h | 54 +- .../gpu/drm/amd/display/dc/dce/dce_link_encoder.c | 8 +- drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c | 2 + drivers/gpu/drm/amd/display/dc/dce/dce_transform.h | 13 + .../amd/display/dc/dce100/dce100_hw_sequencer.c | 17 +- .../amd/display/dc/dce100/dce100_hw_sequencer.h | 10 +- .../drm/amd/display/dc/dce100/dce100_resource.c | 123 +- .../drm/amd/display/dc/dce100/dce100_resource.h | 9 +- .../drm/amd/display/dc/dce110/dce110_compressor.c | 26 +- .../amd/display/dc/dce110/dce110_hw_sequencer.c | 248 ++-- .../amd/display/dc/dce110/dce110_hw_sequencer.h | 25 +- .../drm/amd/display/dc/dce110/dce110_resource.c | 185 +-- .../drm/amd/display/dc/dce110/dce110_resource.h | 4 +- .../amd/display/dc/dce112/dce112_hw_sequencer.c | 5 +- .../amd/display/dc/dce112/dce112_hw_sequencer.h | 4 +- .../drm/amd/display/dc/dce112/dce112_resource.c | 237 ++- .../drm/amd/display/dc/dce112/dce112_resource.h | 23 +- .../amd/display/dc/dce120/dce120_hw_sequencer.c | 6 +- .../amd/display/dc/dce120/dce120_hw_sequencer.h | 4 +- .../drm/amd/display/dc/dce120/dce120_resource.c | 46 +- .../drm/amd/display/dc/dce120/dce120_resource.h | 4 +- .../drm/amd/display/dc/dce80/dce80_hw_sequencer.c | 5 +- .../drm/amd/display/dc/dce80/dce80_hw_sequencer.h | 4 +- .../gpu/drm/amd/display/dc/dce80/dce80_resource.c | 152 +- .../gpu/drm/amd/display/dc/dce80/dce80_resource.h | 8 +- drivers/gpu/drm/amd/display/dc/dcn10/Makefile | 3 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 1521 +++----------------- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h | 787 +++++----- .../gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm.c | 864 +++++++++++ .../gpu/drm/amd/display/dc/dcn10/dcn10_dpp_dscl.c | 710 +++++++++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dwb.c | 651 +++++++++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dwb.h | 32 + .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 433 ++++-- .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h | 6 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.c | 717 +-------- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.h | 416 ------ .../gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.c | 118 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_mem_input.h | 41 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c | 16 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 189 +-- .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.h | 4 +- .../amd/display/dc/dcn10/dcn10_timing_generator.c | 49 + .../amd/display/dc/dcn10/dcn10_timing_generator.h | 29 + drivers/gpu/drm/amd/display/dc/dm_helpers.h | 5 - drivers/gpu/drm/amd/display/dc/dm_pp_smu.h | 131 ++ drivers/gpu/drm/amd/display/dc/dm_services.h | 7 +- drivers/gpu/drm/amd/display/dc/dm_services_types.h | 2 + drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c | 6 + drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.h | 2 + .../display/dc/i2caux/dce110/aux_engine_dce110.c | 30 +- drivers/gpu/drm/amd/display/dc/inc/clock_source.h | 4 + drivers/gpu/drm/amd/display/dc/inc/core_dc.h | 55 - drivers/gpu/drm/amd/display/dc/inc/core_types.h | 57 +- drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h | 4 +- drivers/gpu/drm/amd/display/dc/inc/dcn_calcs.h | 16 +- .../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/dwb.h | 193 +++ drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h | 18 + drivers/gpu/drm/amd/display/dc/inc/hw/ipp.h | 17 +- .../gpu/drm/amd/display/dc/inc/hw/link_encoder.h | 1 + drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h | 24 + drivers/gpu/drm/amd/display/dc/inc/hw/transform.h | 20 + drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | 61 +- drivers/gpu/drm/amd/display/dc/inc/resource.h | 44 +- .../amd/display/dc/irq/dce110/irq_service_dce110.c | 8 +- .../amd/display/dc/irq/dce80/irq_service_dce80.c | 1 - .../amd/display/include/grph_object_ctrl_defs.h | 38 + .../gpu/drm/amd/display/include/logger_interface.h | 14 +- .../drm/amd/display/modules/freesync/freesync.c | 20 +- 95 files changed, 6912 insertions(+), 5755 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp_dscl.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dwb.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dwb.h create mode 100644 drivers/gpu/drm/amd/display/dc/dm_pp_smu.h delete mode 100644 drivers/gpu/drm/amd/display/dc/inc/core_dc.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/dwb.h -- 2.11.0