Hi Dave, Last feature request for 4.18. Mostly vega20 support. - Vega20 support - clock and powergating for VCN - misc bug fixes The following changes since commit 315852b422972e6ebb1dfddaadada09e46a2681a: drm: rcar-du: Fix build failure (2018-05-17 15:03:40 +1000) are available in the git repository at: git://people.freedesktop.org/~agd5f/linux drm-next-4.18 for you to fetch changes up to b8f3439fa5358ac84d29fa2f4afa115500dec74c: drm/amd/display: Remove use of division operator for long longs (2018-05-24 10:07:56 -0500) ---------------------------------------------------------------- Alex Deucher (16): drm/amdgpu/atomfirmware: add new gfx_info data table v2.4 (v2) drm/amdgpu/atomfirmware: add parser for gfx_info table drm/amdgpu: Use vbios table for gpu info on vega20 drm/amdgpu: add df 3.6 headers drm/amdgpu: flag Vega20 as experimental drm/amdgpu/display: remove VEGAM config option drm/amdgpu/display: remove VEGA20 config option drm/amdgpu/display: fix vega12/20 handling in dal_asic_id.h drm/amdgpu: count fences from all uvd instances in idle handler drm/amdgpu: Take uvd encode rings into account in idle work (v2) drm/amdgpu: Take vcn encode rings into account in idle work drm/amdgpu: add new DF 1.7 register defs drm/amdgpu: add new DF callback for ECC setup drm/amdgpu: add a df 1.7 implementation of enable_ecc_force_par_wr_rmw drm/amdgpu/gmc9: disable partial wr rmw if ECC is not enabled drm/amdgpu/pp: remove duplicate assignment Andrey Grodzovsky (3): drm/amdgpu: Skip drm_sched_entity related ops for KIQ ring. drm/scheduler: Remove obsolete spinlock. Remove calls to suspend/resume atomic helpers from amdgpu_device_gpu_recover. (v2) Anthony Koo (7): drm/amd/display: Cleanup unused SetPlaneConfig drm/amd/display: Make DisplayStats work with just DC DisplayStats minor drm/amd/display: Fix up dm logging functionality drm/amd/display: use macro for logs drm/amd/display: Add fullscreen transitions to log drm/amd/display: fix bug with index check drm/amd/display: fix memory leaks Charlene Liu (1): drm/amd/display: underflow/blankscreen recovery Christian König (7): drm/amdgpu: remove unused member drm/amdgpu: rework VM state machine lock handling v2 drm/amdgpu: cleanup amdgpu_vm_validate_pt_bos v2 drm/amdgpu: further optimize amdgpu_vm_handle_moved drm/amdgpu: kmap PDs/PTs in amdgpu_vm_update_directories drm/amdgpu: consistenly use VM moved flag drm/amdgpu: move VM BOs on LRU again Dan Carpenter (1): drm/amd/pp: missing curly braces in smu7_enable_sclk_mclk_dpm() David Francis (1): drm/amd/display: Remove use of division operator for long longs Dmytro Laktyushkin (7): drm/amd/display: get rid of 32.32 unsigned fixed point drm/amd/display: inline more of fixed point code drm/amd/display: add fixed point fractional bit truncation function drm/amd/display: truncate scaling ratios and inits to 19 bit precision drm/amd/display: fix 31_32_fixpt shift functions drm/amd/display: fix a 32 bit shift meant to be 64 warning drm/amd/display: update dml to allow sync with DV Emily Deng (1): drm/sched: add rcu_barrier after entity fini Eric Bernstein (2): drm/amd/display: Update HW sequencer initialization drm/amd/display: DCN1 link encoder Evan Quan (3): drm/amd/powerplay: new framework to honour DAL clock limits drm/amd/powerplay: add a framework for perfroming pre display configuration change settings drm/amd/powerplay: update vega20 cg flags (v2) Feifei Xu (37): drm/amdgpu/gfx9: Update golden setting for gfx9_0. drm/amdgpu: Drop the unused header files in soc15.c. drm/amdgpu: Fix hardcoded base offset of vram pages drm/amd: Add vega20_ip_offset.h headerfile for vega20. (v2) drm/amdgpu: Add vega20 to asic_type enum. drm/amdgpu: Add gpu_info firmware for vega20. (v2) drm/amdgpu: set asic family for vega20. drm/amdgpu: Add smu firmware support for vega20 drm/amdgpu/powerplay: Add initial vega20 support v2 drm/amdgpu/psp: Add initial psp support for vega20 drm/amdgpu: Add vega20 ucode loading method drm/amdgpu: Specify vega20 uvd firmware drm/amdgpu: Specify vega20 vce firmware drm/amdgpu/virtual_dce: Add vega20 support drm/amdgpu/gmc9: Add vega20 support drm/amdgpu/mmhub: Add clockgating support for vega20 drm/amdgpu/sdma4: Specify vega20 firmware drm/amdgpu/sdma4: Add vega20 golden settings (v3) drm/amdgpu/sdma4: Add clockgating support for vega20 drm/amdgpu/gfx9: Add support for vega20 firmware drm/amdgpu/gfx9: Add vega20 golden settings (v3) drm/amdgpu/gfx9: Add gfx config for vega20. (v4) drm/amdgpu/gfx9: Add support for vega20 drm/amdgpu/gfx9: Add clockgatting support for vega20 drm/amdgpu/soc15:Add vega20 soc15_common_early_init support drm/amdgpu/soc15: Set common clockgating for vega20. drm/amdgpu/soc15: dynamic initialize ip offset for vega20 drm/amdgpu/soc15: Add ip blocks for vega20 (v2) drm/amdgpu: Add nbio support for vega20 (v2) drm/amd/display/dm: Add vega20 support drm/amdgpu: Add vega20 to dc support check (v2) drm/amd/display: Remove COMBO_DISPLAY_PLL0 from Vega20 drm/amdgpu: Set vega20 load_type to AMDGPU_FW_LOAD_DIRECT. drm/amdgpu: Disable ip modules that are not ready yet drm/amdgpu/df: implement df v3_6 callback functions (v2) drm/amdgpu: Switch to use df_v3_6_funcs for vega20 (v2) drm/amdgpu: Add vega20 pci ids James Zhu (9): drm/amd/include/vg20: adjust VCE_BASE to reuse vce 4.0 header files drm/amdgpu/vg20:Restruct uvd to support multiple uvds drm/amdgpu/vg20:Restruct uvd.inst to support multiple instances drm/amdgpu/vg20:increase 3 rings for AMDGPU_MAX_RINGS drm/amdgpu/vg20:Enable the 2nd instance for uvd drm/amdgpu/vg20:Add IH client ID for the 2nd UVD drm/amdgpu/vg20:Enable the 2nd instance IRQ for uvd 7.2 drm/amdgpu/vg20:Enable 2nd instance queue maping for uvd 7.2 drm/amdgpu/vg20:Enable UVD/VCE for Vega20 Jerry (Fangzhi) Zuo (3): drm/amd/display: Add Vega20 config. support drm/amd/display: Add BIOS smu_info v3_3 support for Vega20 drm/amd/display: Add harvest IP support for Vega20 Jun Lei (1): drm/amd/display: constify a few dc_surface_update fields Leo Liu (5): drm/amdgpu: fix insert nop for VCN decode ring drm/amdgpu: fix insert nop for UVD7 ring drm/amdgpu: fix insert nop for UVD6 ring drm/amdgpu: fix insert nop for UVD5 ring drm/amdgpu: fix insert nop for UVD4.2 ring Mikita Lipski (1): drm/amd/display: Clear connector's edid pointer Nayan Deshmukh (1): drm/scheduler: fix function name prefix in comments Nikola Cornij (2): drm/amd/display: Log DTN only after the atomic commit in Diag drm/amd/display: Clear underflow status for debug purposes Rex Zhu (13): drm/amd/pp: Workaround flickering issue on RV drm/amd/pp: Fix build warning in vegam drm/amd/pp: Fix static checker warning drm/amd/pp: fix a couple locking issues drm/amdgpu: skip CG for VCN when late_init/fini drm/amd/pp: Add smu support for VCN powergating on RV drm/amdgpu: Add CG/PG flags for VCN drm/amdgpu: Add SOC15_WAIT_ON_RREG macro define drm/amdgpu: Add static CG control for VCN on RV drm/amdgpu: Enable VCN CG by default on RV drm/amdgpu: Add VCN static PG support on RV drm/amdgpu: Enable VCN static PG by default on RV drm/amdgpu: Add runtime VCN PG support Roman Li (1): drm/amd: Add dce-12.1 gpio aux registers (v2) Samson Tam (1): drm/amd/display: don't create new dc_sink if nothing changed at detection Shaoyun Liu (1): drm/amdgpu: Update GFX info structure to match what vega20 used Tom St Denis (1): drm/amd/amdgpu: Code comments for the amdgpu_ttm.c driver. (v2) Xingyue Tao (2): drm/amd/display: Add dc cap to restrict VSR downscaling src size drm/amd/display: Only limit VSR downscaling when actually downscaling Yue Hin Lau (1): drm/amd/display: disable mpo if brightness adjusted drivers/gpu/drm/amd/amdgpu/Makefile | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 44 + drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 21 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 7 + drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 12 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_queue_mgr.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 348 ++++- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 287 +++-- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h | 19 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 5 + drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 21 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h | 11 + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 171 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 10 +- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 1 + drivers/gpu/drm/amd/amdgpu/df_v1_7.c | 8 + drivers/gpu/drm/amd/amdgpu/df_v3_6.c | 116 ++ drivers/gpu/drm/amd/amdgpu/df_v3_6.h | 40 + drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 76 +- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 9 +- drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 1 + drivers/gpu/drm/amd/amdgpu/nbio_v7_0.c | 18 +- drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 3 + drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 33 + drivers/gpu/drm/amd/amdgpu/soc15.c | 50 +- drivers/gpu/drm/amd/amdgpu/soc15.h | 1 + drivers/gpu/drm/amd/amdgpu/soc15_common.h | 15 + drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 42 +- drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 40 +- drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 92 +- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 1058 ++++++++------- drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 186 ++- drivers/gpu/drm/amd/amdgpu/vega20_reg_init.c | 53 + drivers/gpu/drm/amd/display/Kconfig | 6 - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 14 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 5 - drivers/gpu/drm/amd/display/dc/basics/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/basics/conversion.c | 28 +- drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c | 276 ++-- drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c | 161 --- .../gpu/drm/amd/display/dc/basics/log_helpers.c | 1 - drivers/gpu/drm/amd/display/dc/basics/logger.c | 3 +- drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 3 + .../drm/amd/display/dc/bios/command_table_helper.c | 2 - .../amd/display/dc/bios/command_table_helper2.c | 2 - .../gpu/drm/amd/display/dc/calcs/custom_float.c | 46 +- drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c | 4 - drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c | 8 +- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 107 +- drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c | 2 - drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 81 +- drivers/gpu/drm/amd/display/dc/dc.h | 18 +- drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 2 + drivers/gpu/drm/amd/display/dc/dc_types.h | 2 +- drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 2 +- .../gpu/drm/amd/display/dc/dce/dce_clock_source.c | 64 +- drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c | 33 +- drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 2 +- drivers/gpu/drm/amd/display/dc/dce/dce_ipp.c | 6 +- .../gpu/drm/amd/display/dc/dce/dce_scl_filters.c | 48 +- .../drm/amd/display/dc/dce/dce_stream_encoder.c | 8 +- drivers/gpu/drm/amd/display/dc/dce/dce_transform.c | 26 +- .../amd/display/dc/dce110/dce110_hw_sequencer.c | 105 +- .../drm/amd/display/dc/dce110/dce110_transform_v.c | 8 +- .../drm/amd/display/dc/dce120/dce120_resource.c | 47 +- drivers/gpu/drm/amd/display/dc/dcn10/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c | 86 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 7 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm.c | 6 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_dpp_dscl.c | 38 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_hubbub.c | 8 + .../gpu/drm/amd/display/dc/dcn10/dcn10_hubbub.h | 7 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c | 28 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h | 3 + .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 259 ++-- .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h | 2 + .../drm/amd/display/dc/dcn10/dcn10_link_encoder.c | 1362 ++++++++++++++++++++ .../drm/amd/display/dc/dcn10/dcn10_link_encoder.h | 330 +++++ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c | 10 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.h | 10 + .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 46 +- .../amd/display/dc/dcn10/dcn10_stream_encoder.c | 8 +- drivers/gpu/drm/amd/display/dc/dm_services.h | 4 - .../drm/amd/display/dc/dml/display_mode_enums.h | 13 + .../drm/amd/display/dc/dml/display_mode_structs.h | 962 +++++++------- .../gpu/drm/amd/display/dc/dml/dml_inline_defs.h | 10 + drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c | 2 - drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c | 2 - drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c | 2 - drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h | 2 - drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 2 + drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | 5 - drivers/gpu/drm/amd/display/dc/irq_types.h | 2 + drivers/gpu/drm/amd/display/include/dal_asic_id.h | 12 +- drivers/gpu/drm/amd/display/include/dal_types.h | 2 - drivers/gpu/drm/amd/display/include/fixed31_32.h | 268 ++-- drivers/gpu/drm/amd/display/include/fixed32_32.h | 129 -- .../gpu/drm/amd/display/include/logger_interface.h | 9 + drivers/gpu/drm/amd/display/include/logger_types.h | 2 +- .../drm/amd/display/modules/color/color_gamma.c | 446 +++---- .../gpu/drm/amd/display/modules/inc/mod_stats.h | 4 + drivers/gpu/drm/amd/display/modules/stats/stats.c | 195 ++- drivers/gpu/drm/amd/include/amd_shared.h | 3 +- .../drm/amd/include/asic_reg/dce/dce_12_0_offset.h | 12 + .../amd/include/asic_reg/dce/dce_12_0_sh_mask.h | 152 +++ .../drm/amd/include/asic_reg/df/df_1_7_offset.h | 4 + .../drm/amd/include/asic_reg/df/df_1_7_sh_mask.h | 4 + .../drm/amd/include/asic_reg/df/df_3_6_default.h | 26 + .../drm/amd/include/asic_reg/df/df_3_6_offset.h | 33 + .../drm/amd/include/asic_reg/df/df_3_6_sh_mask.h | 48 + drivers/gpu/drm/amd/include/atomfirmware.h | 35 + drivers/gpu/drm/amd/include/soc15_ih_clientid.h | 1 + drivers/gpu/drm/amd/include/vega20_ip_offset.h | 1051 +++++++++++++++ .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 19 + drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 1 + drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c | 9 + drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c | 26 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c | 22 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 6 +- .../gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c | 31 +- .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 3 + drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 3 + drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 6 +- drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 1 + .../gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c | 5 +- drivers/gpu/drm/scheduler/gpu_scheduler.c | 15 +- drivers/gpu/drm/scheduler/sched_fence.c | 8 +- include/drm/amd_asic_type.h | 1 + include/drm/gpu_scheduler.h | 1 - 139 files changed, 6965 insertions(+), 2829 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/df_v3_6.c create mode 100644 drivers/gpu/drm/amd/amdgpu/df_v3_6.h create mode 100644 drivers/gpu/drm/amd/amdgpu/vega20_reg_init.c delete mode 100644 drivers/gpu/drm/amd/display/dc/basics/fixpt32_32.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.h delete mode 100644 drivers/gpu/drm/amd/display/include/fixed32_32.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/df/df_3_6_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/vega20_ip_offset.h