[pull] radeon, amdgpu, ttm, and gpu scheduler drm-next-4.18

Hi Dave, Main changes for 4.18. I'd like to do a separate pull for vega20 later this week or next. Highlights: - Reserve pre-OS scanout buffer during init for seemless transition from console to driver - VEGAM support - Improved GPU scheduler documentation - Initial gfxoff support for raven - SR-IOV fixes - Default to non-AGP on PowerPC for radeon - Fine grained clock voltage control for vega10 - Power profiles for vega10 - Further clean up of powerplay/driver interface - Underlay fixes - Display link bw updates - Gamma fixes - Scatter/Gather display support on CZ/ST - Misc bug fixes and clean ups The following changes since commit 871e899db19da3dbd17a5d263b555dc5b7d8fed5: Merge branch 'drm-next-4.17' of git://people.freedesktop.org/~agd5f/linux into drm-next (2018-04-11 08:35:41 +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 8344c53f57057b42a5da87e9557c40fcda18fb7a: drm/scheduler: remove unused parameter (2018-05-15 13:44:27 -0500) ---------------------------------------------------------------- Alex Deucher (29): drm/amdgpu/sdma4: use a helper for SDMA_OP_POLL_REGMEM drm/amdgpu: add documentation on hwmon interfaces exposed (v3) drm/amdgpu: add asic need_full_reset callback drm/amdgpu/si: implement asic need_full_reset callback drm/amdgpu/cik: implement asic need_full_reset callback drm/amdgpu/vi: implement asic need_full_reset callback drm/amdgpu/soc15: implement asic need_full_reset callback drm/amdgpu: use new asic need_full_reset callback drm/amdgpu/gfx9: cache DB_DEBUG2 and make it available to userspace drm/amdgpu/powerplay: fix smu7_get_memory_type for fiji drm/amdgpu/powerplay: rename smu7_upload_mc_firmware drm/amdgpu: add emit_reg_write_reg_wait ring callback drm/amdgpu/gfx9: add emit_reg_write_reg_wait ring callback (v2) drm/amdgpu/sdma4: add emit_reg_write_reg_wait ring callback (v2) drm/amdgpu/uvd7: add emit_reg_write_reg_wait ring callback drm/amdgpu/vce4: add emit_reg_write_reg_wait ring callback drm/amdgpu/vcn1: add emit_reg_write_reg_wait ring callback drm/amdgpu/gmc9: use amdgpu_ring_emit_reg_write_reg_wait in gpu tlb flush drm/amdgpu/gmc: steal the appropriate amount of vram for fw hand-over (v3) drm/amdgpu: print the vbios version in the debugfs firmware info drm/amdgpu/pm: document power_dpm_force_performance_level drm/amdgpu/pm: document power_dpm_state drm/amdgpu/pm: document pp_table drm/amdgpu/pm: document pp_dpm_sclk pp_dpm_mclk pp_dpm_pcie (v2) drm/amdgpu/pm: document pp_power_profile_mode drm/amdgpu/pm: document pp_od_clk_voltage drm/amdgpu/powerplay: actually return the power with the new query drm/amdgpu: Add VEGAM support to the legacy DCE 11 module drm/amdgpu/gmc9: remove unused register defs Andrey Grodzovsky (2): drm/amdgpu: Free VGA stolen memory as soon as possible. drm/amdgpu: Switch to interruptable wait to recover from ring hang. Anthony Koo (19): drm/amd/display: Couple bug fixes in stats module drm/amd/display: Rename encoder_info_packet to dc_info_packet drm/amd/display: Only program MSA_TIMING_PARAM if it changed drm/amd/display: Program v_total_min/max after v_total_cntl drm/amd/display: Add vmax/min_sel prints to dcn10_log_hw_state drm/amd/display: csc updates require FULL update drm/amd/display: Updated HDR Static Metadata to directly take info packet raw drm/amd/display: Get rid of unused input_tf drm/amd/display: Remove unused fields drm/amd/display: Do not use os types drm/amd/display: csc_transform to dc_csc_transform drm/amd/display: Refactor color module drm/amd/display: move color_transfer_func to color mod drm/amd/display: Fix structure initialization of hdmi_info_packet drm/amd/display: Have DC manage its own allocation of gamma drm/amd/display: Do not create memory allocation if stats not enabled drm/amd/display: fix issue related to infopacket was not transmitted drm/amd/display: add some DTN logs for input and output tf drm/amd/display: update dtn logging and goldens Bhawanpreet Lakha (3): drm/amd/display: Add debug prints for bandwidth calculations drm/amd/display: Correct print types in DC_LOGS drm/amd/display: Add Dynamic debug prints Charlene Liu (3): drm/amd/display: add delay between panel pwr off to on. drm/amd/display: HDMI has no sound after Panel power off/on drm/amd/display: add cursor TTU CRQ related Christian König (11): drm/amdgpu: use ctx bytes_moved drm/amdgpu: fix and cleanup cpu visible VRAM handling drm/ttm: keep a reference to transfer pipelined BOs drm/amdgpu: revert "add new bo flag that indicates BOs don't need fallback (v2)" drm/amdgpu: revert "Don't change preferred domian when fallback GTT v6" drm/amdgpu: re-validate per VM BOs if required v2 drm/amdgpu: limit reg_write_reg_wait workaround to SRIOV v2 drm/amdgpu: print DMA-buf status in debugfs drm/amdgpu: add HDP flush dummy for UVD 6/7 drm/amdgpu: drop printing the BO offset in the gem debugfs (v2) drm/amdgpu: print the BO flags in the gem debugfs entry Chunming Zhou (9): drm/amdgpu: Don't change preferred domian when fallback GTT v6 drm/amdgpu: add new bo flag that indicates BOs don't need fallback (v2) drm/amdgpu: add amdgpu_bo_param drm/amdgpu: use amdgpu_bo_param for amdgpu_bo_create v2 drm/amdgpu: set preferred_domain independent of fallback handling drm/amdgpu: handle domain mask checking v2 drm/amdgpu: fix list not initialized drm/amdgpu: abstract bo_base init function drm/amdgpu: invalidate parent bo when shadow bo was invalidated Colin Ian King (4): drm/amd/pp: Fix spelling mistake: "suppported" -> "supported" drm/amd/display: fix spelling mistake: "Usupported" -> "Unsupported" drm/amd/powerplay: fix spelling mistake: "contruct" -> "construct" drm/amd/display: clean up assignment of amdgpu_crtc Daniel Stone (3): drm/radeon: Move GEM BO to drm_framebuffer drm/radeon: radeon_framebuffer -> drm_framebuffer drm/amdgpu: Move GEM BO to drm_framebuffer Dirk Hohndel (1): Add SPDX idenitifier and clarify license Dmytro Laktyushkin (10): drm/amd/display: fix Polaris 12 bw bounding box drm/amd/display: add mpc to dtn log drm/amd/display: align dtn logs and add mpc idle bit print drm/amd/display: hide inconsistent mpcc programming from dtn log drm/amd/display: Update scaler v_active data if interlaced drm/amd/display: fix segfault on insufficient TG during validation drm/amd/display: change dml init to use default structs drm/amd/display: add rq/dlg/ttu to dtn log drm/amd/display: add calculated clock logging to DTN drm/amd/display: compact the rq/dlg/ttu log Emily Deng (3): drm/gpu-sched: fix force APP kill hang(v4) drm/amdgpu: For sriov reset, move IB test into exclusive mode drm/amdgpu/sriov: Need to set in_gpu_reset flag to back after gpu reset Eric Anholt (1): drm/sched: Extend the documentation. Eric Bernstein (8): drm/amd/display: Change wb_h/vratio to double drm/amd/display: Add num_active_wb to DML drm/amd/display: Refactor stream encoder for HW review drm/amd/display: Make DCN stream encoder shareable drm/amd/display: Move dp_pixel_encoding_type to stream_encoder include drm/amd/display: Move DCC support functions into dchubbub drm/amd/display: Make program_output_csc HWSS interface function drm/amd/display: Refactor otg_blank sequence Eric Huang (7): drm/amd/powerplay: add smu75 header files drm/amd: add a new struct in atombios.h drm/amd/powerplay: update ppatomctrl.c (v2) drm/amd/powerplay: update process pptables drm/amd/powerplay: add smumgr support for VEGAM (v2) drm/amd/powerplay: add specific changes for VEGAM in smu7_hwmgr.c drm/powerplay: Add powertune table for VEGAM Eric Yang (4): drm/amd/display: Only update mpc blend config if not full update drm/amd/display: Set all update flags when we have full update drm/amd/display: fix link bw calculation for 422 and 420 encoding drm/amd/display: dal 3.1.42 Evan Quan (3): drm/amdgpu: add MP1 and THM hw ip base reg offset drm/amd/pp: use soc15 common macros instead of vega10 specific drm/amd/pp: fix the wrong readout engine clock in deep sleep Flora Cui (1): drm/amdgpu: init gfx9 aperture settings Harry Wentland (22): drm/amdgpu: Add CM_TEST_DEBUG regs for DCN drm/amd/display: Don't read EDID in atomic_check drm/amd/display: Move commit_planes_to_stream to amdgpu_dm drm/amd/display: Don't access legacy properties drm/amd/display: Only register backlight device if embedded panel connected drm/amd/display: Don't register backlight on connector_destroy drm/amd/display: Set ignore_msa_timing_param drm/amd/display: Fix potential access beyond end of array in CM drm/amd/display: Implement dm_get_timestamp drm/amd/display: Fix 64-bit division in hwss_edp_power_control drm/amd/display: Remove PRE_VEGA flag drm/amd/display: Don't spam debug messages Revert "drm/amd/display: fix dereferencing possible ERR_PTR()" Revert "drm/amd/display: disable CRTCs with NULL FB on their primary plane (V2)" drm/amd/display: Don't program bypass on linear regamma LUT drm/amd/display: Use HBR2 if eDP monitor it doesn't advertise link rate drm/amd/display: Disallow enabling CRTC without primary plane with FB drm/amd/display: Use int for calculating vline start drm/amd/display: Couple formatting fixes drm/amd/display: Add VG12 ASIC IDs drm/amd/display: Add get_firmware_info_v3_2 for VG12 drm/amd/display: Don't return ddc result and read_bytes in same return value Hawking Zhang (4): drm/amdgpu: add df v1_7 header files drm/amdgpu: add df callback functions structure drm/amdgpu/df: implement df v1_7 callback functions drm/amdgpu: switch to use df callback functions Hersen Wu (2): drm/amd/display: Non-HDMI DP active dongle should not support YUV pixel format drm/amd/display: DP link validation bug for YUV422 Huang Rui (21): drm/amdgpu: fix null pointer panic with direct fw loading on gpu reset drm/amdgpu: update psp gfx if header drm/amdgpu: add new rlc firmware header format v2.1 drm/amdgpu: add save restore list cntl gpm and srm firmware support drm/amdgpu: enter rlc safe mode before set cgpg drm/amdgpu: cleanup init power gating function drm/amdgpu: revise init_rlc_save_restore_list behavior to support latest register_list_format/register_restore table drm/amdgpu: add setting powergating method for gfx9 drm/amd/powerplay: send CGPG smc message if PG is enabled for raven drm/amdgpu: move PP_FEATURE_MASK to amd_shared header drm/amdgpu: add gfxoff feature mask drm/amdgpu: set gfxoff disabled by default drm/amd/powerplay: add gfx off control function drm/amd/powerplay: enable/disable gfxoff through smu drm/amdgpu: use pp_feature member to store the mask drm/amdgpu: clear gfxoff feature mask if the asic is not raven drm/amd/powerplay: add control gfxoff enabling in late init drm/amdgpu: it should disable gfxoff when system is going to suspend drm/amdgpu: fix to disable powergating in hw_fini drm/amdgpu: set CGPG if gfxoff is enabled for raven drm/amd/powerplay: use the flag to decide whether send gfxoff smc message James Zhu (1): drm/amdgpu: Added support for MV packet Jerry (Fangzhi) Zuo (5): drm/amd/display: Implement VEGAM device IDs in DC drm/amd/display: Implement VEGAM device IDs in DM drm/amd/display: Update MST edid property every time drm/amd/display: Check dc_sink every time in MST hotplug drm/amd: Add BIOS smu_info v3_3 required struct def. Julian Parkin (3): drm/amd/display: drop dc_validate_guaranteed drm/amd/display: Add assert that chroma pitch is non zero drm/amd/display: reprogram infoframe during apply_ctx_to_hw Jun Lei (2): drm/amd/display: remove unused enum drm/amd/display: Fill calcs date from stream src/dst if available Junwei Zhang (6): drm/amdgpu: simplify bo_va list when vm bo update (v2) drm/amdgpu: bo could be null when access in vm bo update drm/amd/powerplay: add PME smu message for raven drm/ttm: remove priority hard code when initializing ttm bo drm/amdgpu: set ttm bo priority before initialization drm/amdgpu: fix null pointer for bo unmap trace function Kenneth Feng (5): amd/powerplay: implement the vega12_force_clock_level interface drm/amd/powerplay: Get more than 8 level gfxclk states drm/amd/powerplay: initialzie the dpm intial enabled state drm/amd/powerplay: header file interface to SMU update drm/amd/powerplay: add registry key to disable ACG Krunoslav Kovac (1): drm/amd/display: Add user_regamma to color module Leo (Sunpeng) Li (3): drm/amd/display: Fix dim display on DCE11 drm/amd/display: Fix memleak on input transfer function drm/amd/display: Fix regamma not affecting full-intensity color values Leo Liu (21): drm/amdgpu: add VEGAM ASIC type drm/amdgpu: bypass GPU info firmware load for VEGAM drm/amdgpu: set VEGAM to ASIC family and ip blocks drm/amdgpu: specify VEGAM ucode SMU load method drm/amdgpu: add VEGAM SMU firmware support drm/amdgpu/virtual_dce: add VEGAM support drm/amdgpu: add VEGAM dc support check drm/amdgpu: skip VEGAM MC firmware load drm/amdgpu: add VEGAM GMC golden settings drm/amdgpu: initialize VEGAM GMC (v2) drm/amdgpu: add VEGAM SDMA firmware support drm/amdgpu: add VEGAM SDMA golden settings drm/amdgpu: add VEGAM GFX firmware support drm/amdgpu: add VEGAM GFX golden settings drm/amdgpu: initialize VEGAM GFX drm/amdgpu: add VEGAM UVD firmware support drm/amdgpu: add VEGAM UVD encode support drm/amdgpu: add VEGAM VCE firmware support drm/amdgpu: add VEGAM to VCE harvest config drm/amdgpu: add VEGAM support to vi drm/amdgpu: add VEGAM pci ids Luc Van Oostenryck (4): drm/amdgpu: fix amdgpu_atpx_get_client_id()'s return type drm/radeon: fix radeon_atpx_get_client_id()'s return type drm/radeon: fix mode_valid's return type drm/admgpu: fix mode_valid's return type Marek Olšák (1): drm/amdgpu: optionally do a writeback but don't invalidate TC for IB fences Martin Tsai (2): drm/amd/display: correct the condition in setting cursor not visible beyond left edge drm/amd/display: to synchronize the hubp and dpp programming in cursor control Mathieu Malaterre (1): drm/radeon: Change the default to PCI on PowerPC Michel Dänzer (2): drm/amd/display: Use kvzalloc for potentially large allocations drm/ttm: Use GFP_TRANSHUGE_LIGHT for allocating huge pages Mikita Lipski (9): drm/amd/display: Don't call amdgpu_dm_display_resume as it doesn't exist drm/amd/display: Adding stutter entry wm to dce bw struct drm/amd/display: Implementing new bandwidth registers for DCE120 drm/amd/display: Separate mem input constuctors for dce 112 and 120 drm/amd/pp: Adding set_watermarks_for_clocks_ranges for SMU10 drm/amd/pp: Adding a function to store cc6 data in SMU10 drm/amd/display: Fix deadlock when flushing irq drm/amd/display: Unify dm resume sequence into a single call drm/amd/powerplay: Add notify PWE function to SMU10 Nayan Deshmukh (3): drm/scheduler: fix param documentation drm/scheduler: move the tracepoints file from the include directory drm/scheduler: remove unused parameter Nico Sneck (1): drm/radeon: add PX quirk for Asus K73TK Nicolai Hähnle (1): drm/amdgpu: set COMPUTE_PGM_RSRC1 for SGPR/VGPR clearing shaders Nikola Cornij (2): drm/amd/display: Update ASIC header files drm/amd/display: Rename feature-specific register address init macro Pixel Ding (3): drm/scheduler: always put last_sched fence in entity_fini drm/scheduler: move last_sched fence updating prior to job popping (v2) drm/scheduler: don't update last scheduled fence in TDR Rex Zhu (42): drm/amd/pp: Remove useless fw load error handler on Polaris drm/amd/pp: Add hwmgr_sw_init/fini functioins drm/amd/pp: Lock pm_funcs when set pp table drm/amd/pp: Save vf state in pp context drm/amd/pp: Use release_firmware directly in powerplay drm/amdgpu: Use dpm_enabled as dpm state flag drm/amd/pp: Use gfx rlc funcs directly in powerplay drm/amdgpu: Get pci resource directly through adev drm/amd/dc: Use atombios api directly in DC drm/amd/pp: Use atombios api directly in powerplay (v2) drm/amdgpu: Set pm_display_cfg in non-dc mode drm/amd/pp: Not call cgs interface to get display info drm/amdgpu: Delete some cgs functions drm/amdgpu: remove duplicate cg/pg wrapper functions drm/amd/display: Disentangle dc.h include from amdgpu.h drm/amd/pp: Refine pp_atomfwctrl_get_vbios_bootup_values drm/amd/pp: Move same macro definitions to hwmgr.h drm/amd/pp: Remove unnecessary forward declaration drm/amdgpu: Add APU support in vi_set_uvd_clocks drm/amdgpu: Add APU support in vi_set_vce_clocks drm/amd/pp: Remove dead function in smu7_smumgr.c drm/amd/pp: Remove useless smu7 running state check Revert "drm/amd/powerply: fix power reading on Fiji" drm/amd/pp: Refine get_gpu_power for VI drm/amd/pp: Remove struct pp_gpu_power drm/amd/pp: Clear smu response register before send smu message drm/amd/pp: Move common code to smu_helper.c drm/amdgpu: Reserved vram for smu to save debug info. drm/amd/pp: Remove dead interface drm/amd/pp: Fix bug voltage can't be OD separately on VI drm/amd/pp: Fix NULL point check error in smu_set_watermarks_for_clocks_ranges drm/amd/pp: Change pstate_clk frequency unit to 10KHz on Rv drm/amd/pp: Use dynamic gfx_clk rather than hardcoded values drm/amd/pp: Refine the OD state checking code in smu7 drm/amd/pp: Change voltage/clk range for OD feature on VI drm/amd/pp: Print out voltage/clock range in sysfs drm/amd/pp: Add OVERDRIVE support on Vega10 (v2) drm/amd/pp: Skip fan attributes if fan not present drm/amdgpu: Fix display corruption on CI with dpm enabled drm/amd/pp: Refine the output of pp_power_profile_mode on VI drm/amd/pp: Implement force_clock_level for RV drm/amd/pp: Fix performance drop on Fiji Roman Li (3): drm/amd/display: add assert in enable FBC drm/amd/display: Fix FBC text console corruption drm/amd/display: fix brightness level after resume from suspend Samuel Li (3): drm/amdgpu: Rename amdgpu_display_framebuffer_domains() drm/amdgpu: Remove VRAM from shared bo domains. drm/amdgpu: Enable scatter gather display support Shirish S (4): drm/amd/display: remove dummy is_blanked() to optimise boot time drm/amdgpu: defer test IBs on the rings at boot (V3) drm/amd/display: disable FBC on underlay pipe drm/amd/display: remove need of modeset flag for overlay planes (V2) SivapiriyanKumarasamy (1): drm/amd/display: Add vline IRQ programming for DCN Tom St Denis (2): drm/amd/amdgpu: vcn10 Add callback for emit_reg_write_reg_wait drm/amd/amdgpu: Add some documentation to the debugfs entries Tony Cheng (4): drm/amd/display: dal 3.1.39 drm/amd/display: dal 3.1.40 drm/amd/display: dal 3.1.43 drm/amd/display: dal 3.1.44 Vitaly Prosyak (1): drm/amd/display: Add dc_lut_mode enum Xiaojie Yuan (1): drm/amdgpu/uvd7: add emit_reg_write_reg_wait ring callback Xingyue Tao (2): drm/amd/display: Add double buffer machanism to ICSC drm/amd/display: Add double buffer machanism to OCSC Yong Zhao (1): drm/amdgpu: Add support to change mtype for 2nd part of gart BOs on GFX9 Yongqiang Sun (6): drm/amd/display: Retry when read dpcd caps failed. drm/amd/display: Change disable backlight ramp change threshold from 0 to maximum value. drm/amd/display: dal 3.1.41 drm/amd/display: Check lid state to determine fast boot optimization. drm/amd/display: Check SCRATCH reg to determine S3 resume. drm/amd/display: Use dig enable to determine fast boot optimization. Yue Hin Lau (1): drm/amd/display: add missing colorspace for set black color welu (1): drm/amdgpu: change pp_dpm clk/mclk/pcie input format. drivers/gpu/drm/amd/amdgpu/Makefile | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 45 +- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 11 +- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 12 +- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 11 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 15 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 244 +- drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 8 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 72 +- drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 195 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 105 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 40 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c | 20 + drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 11 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 12 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 17 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 50 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 8 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 58 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 120 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 38 +- drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 365 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 20 + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 11 +- drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 18 +- drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 110 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 52 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 22 + drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 35 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 114 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 5 +- drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 4 +- drivers/gpu/drm/amd/amdgpu/cik.c | 7 + drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 17 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 30 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 17 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 17 +- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 9 +- drivers/gpu/drm/amd/amdgpu/df_v1_7.c | 112 + .../{powerplay/inc/pp_soc15.h => amdgpu/df_v1_7.h} | 38 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 109 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 267 ++- drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 25 +- drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 25 +- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 33 +- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 137 +- drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 4 +- drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 4 +- drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h | 67 +- drivers/gpu/drm/amd/amdgpu/psp_v10_0.c | 9 + drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 12 +- drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 63 +- drivers/gpu/drm/amd/amdgpu/si.c | 7 + drivers/gpu/drm/amd/amdgpu/si_dpm.c | 2 +- drivers/gpu/drm/amd/amdgpu/soc15.c | 77 +- drivers/gpu/drm/amd/amdgpu/soc15d.h | 1 + drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 4 +- drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 20 +- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 17 +- drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 7 +- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 1 + drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 + drivers/gpu/drm/amd/amdgpu/vega10_reg_init.c | 3 +- drivers/gpu/drm/amd/amdgpu/vi.c | 130 +- drivers/gpu/drm/amd/display/Kconfig | 14 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 322 +-- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 5 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 8 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 5 +- .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 74 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 13 +- drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c | 158 +- drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 86 +- .../gpu/drm/amd/display/dc/bios/command_table.c | 22 +- .../gpu/drm/amd/display/dc/bios/command_table2.c | 26 +- .../drm/amd/display/dc/bios/command_table_helper.c | 3 + .../amd/display/dc/bios/command_table_helper2.c | 3 + .../gpu/drm/amd/display/dc/calcs/calcs_logger.h | 579 +++++ drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c | 260 ++- drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c | 74 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 112 +- drivers/gpu/drm/amd/display/dc/core/dc_debug.c | 38 +- .../gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 24 +- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 76 +- drivers/gpu/drm/amd/display/dc/core/dc_link_ddc.c | 10 +- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 30 +- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 272 +-- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 24 +- drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 22 +- drivers/gpu/drm/amd/display/dc/dc.h | 30 +- drivers/gpu/drm/amd/display/dc/dc_helper.c | 59 + drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 5 + drivers/gpu/drm/amd/display/dc/dc_link.h | 11 + drivers/gpu/drm/amd/display/dc/dc_stream.h | 28 +- drivers/gpu/drm/amd/display/dc/dc_types.h | 15 +- drivers/gpu/drm/amd/display/dc/dce/dce_audio.c | 9 +- .../gpu/drm/amd/display/dc/dce/dce_clock_source.c | 17 +- drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.c | 3 +- .../gpu/drm/amd/display/dc/dce/dce_link_encoder.c | 6 +- .../gpu/drm/amd/display/dc/dce/dce_link_encoder.h | 2 + drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c | 103 +- drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.h | 17 + .../drm/amd/display/dc/dce/dce_stream_encoder.c | 70 +- .../drm/amd/display/dc/dce100/dce100_resource.c | 33 - .../drm/amd/display/dc/dce110/dce110_compressor.c | 67 +- .../amd/display/dc/dce110/dce110_hw_sequencer.c | 108 +- .../drm/amd/display/dc/dce110/dce110_mem_input_v.c | 1 + .../drm/amd/display/dc/dce110/dce110_resource.c | 33 - .../display/dc/dce110/dce110_timing_generator.c | 16 +- .../display/dc/dce110/dce110_timing_generator_v.c | 7 - .../drm/amd/display/dc/dce112/dce112_resource.c | 35 +- .../drm/amd/display/dc/dce112/dce112_resource.h | 5 - .../drm/amd/display/dc/dce120/dce120_resource.c | 3 +- .../display/dc/dce120/dce120_timing_generator.c | 12 +- .../gpu/drm/amd/display/dc/dce80/dce80_resource.c | 49 - drivers/gpu/drm/amd/display/dc/dcn10/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c | 12 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 36 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h | 76 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm.c | 90 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_hubbub.c | 221 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_hubbub.h | 7 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c | 187 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h | 79 +- .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 288 ++- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c | 24 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.h | 5 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c | 94 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.h | 16 + .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 303 +-- .../amd/display/dc/dcn10/dcn10_stream_encoder.c | 1490 ++++++++++++ .../amd/display/dc/dcn10/dcn10_stream_encoder.h | 524 +++++ drivers/gpu/drm/amd/display/dc/dm_services.h | 4 + .../gpu/drm/amd/display/dc/dml/display_mode_lib.c | 138 +- .../drm/amd/display/dc/dml/display_mode_structs.h | 5 +- drivers/gpu/drm/amd/display/dc/gpio/hw_factory.c | 3 + drivers/gpu/drm/amd/display/dc/gpio/hw_translate.c | 3 + .../dc/i2caux/dce110/i2c_hw_engine_dce110.c | 2 +- drivers/gpu/drm/amd/display/dc/i2caux/i2caux.c | 3 + drivers/gpu/drm/amd/display/dc/inc/core_types.h | 6 +- drivers/gpu/drm/amd/display/dc/inc/dc_link_ddc.h | 5 +- drivers/gpu/drm/amd/display/dc/inc/dce_calcs.h | 4 + drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h | 64 + drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h | 18 +- drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 2 +- drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h | 10 +- drivers/gpu/drm/amd/display/dc/inc/hw/ipp.h | 2 +- .../gpu/drm/amd/display/dc/inc/hw/link_encoder.h | 1 + drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h | 1 + drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h | 17 + .../gpu/drm/amd/display/dc/inc/hw/stream_encoder.h | 36 +- .../drm/amd/display/dc/inc/hw/timing_generator.h | 3 + drivers/gpu/drm/amd/display/dc/inc/hw/transform.h | 2 +- drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | 17 +- drivers/gpu/drm/amd/display/dc/inc/reg_helper.h | 56 + drivers/gpu/drm/amd/display/dc/inc/resource.h | 4 - drivers/gpu/drm/amd/display/dc/irq_types.h | 7 + drivers/gpu/drm/amd/display/include/dal_asic_id.h | 16 +- drivers/gpu/drm/amd/display/include/dal_types.h | 3 + drivers/gpu/drm/amd/display/include/fixed31_32.h | 40 +- drivers/gpu/drm/amd/display/include/logger_types.h | 64 +- .../drm/amd/display/modules/color/color_gamma.c | 382 +++- .../drm/amd/display/modules/color/color_gamma.h | 48 +- drivers/gpu/drm/amd/display/modules/stats/stats.c | 65 +- drivers/gpu/drm/amd/include/amd_shared.h | 20 + .../drm/amd/include/asic_reg/dcn/dcn_1_0_offset.h | 19 +- .../drm/amd/include/asic_reg/dcn/dcn_1_0_sh_mask.h | 8 + .../drm/amd/include/asic_reg/df/df_1_7_default.h | 26 + .../drm/amd/include/asic_reg/df/df_1_7_offset.h | 33 + .../drm/amd/include/asic_reg/df/df_1_7_sh_mask.h | 48 + drivers/gpu/drm/amd/include/atombios.h | 7 + drivers/gpu/drm/amd/include/atomfirmware.h | 170 +- drivers/gpu/drm/amd/include/cgs_common.h | 170 -- drivers/gpu/drm/amd/include/kgd_pp_interface.h | 13 +- drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 489 ++-- .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 22 +- drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 90 +- drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c | 2 +- drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c | 204 +- drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.h | 15 +- drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c | 99 +- drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h | 2 + .../amd/powerplay/hwmgr/process_pptables_v1_0.c | 39 +- .../gpu/drm/amd/powerplay/hwmgr/processpptables.c | 4 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c | 186 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.h | 3 +- .../amd/powerplay/hwmgr/smu7_clockpowergating.c | 16 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 384 ++-- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.h | 3 +- .../gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c | 206 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu8_hwmgr.c | 37 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c | 98 + drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.h | 27 + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 951 ++++---- drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h | 26 +- .../gpu/drm/amd/powerplay/hwmgr/vega10_powertune.c | 121 +- .../amd/powerplay/hwmgr/vega10_processpptables.c | 2 +- .../gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c | 107 +- drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c | 95 +- drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.h | 2 +- .../amd/powerplay/hwmgr/vega12_processpptables.c | 7 +- .../gpu/drm/amd/powerplay/hwmgr/vega12_thermal.c | 37 +- .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 6 +- drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 32 +- drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h | 4 +- drivers/gpu/drm/amd/powerplay/inc/smu75.h | 760 +++++++ drivers/gpu/drm/amd/powerplay/inc/smu75_discrete.h | 886 ++++++++ drivers/gpu/drm/amd/powerplay/inc/vega10_ppsmc.h | 1 + .../drm/amd/powerplay/inc/vega12/smu9_driver_if.h | 4 +- drivers/gpu/drm/amd/powerplay/smumgr/Makefile | 2 +- drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c | 12 +- drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c | 24 +- .../gpu/drm/amd/powerplay/smumgr/iceland_smumgr.c | 9 +- .../drm/amd/powerplay/smumgr/polaris10_smumgr.c | 25 +- .../gpu/drm/amd/powerplay/smumgr/smu10_smumgr.c | 39 +- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 40 +- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.h | 1 - drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 1 + .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.c | 19 +- .../gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c | 52 +- .../gpu/drm/amd/powerplay/smumgr/vega12_smumgr.c | 56 +- .../gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c | 2382 ++++++++++++++++++++ .../gpu/drm/amd/powerplay/smumgr/vegam_smumgr.h | 75 + drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 +- drivers/gpu/drm/radeon/atombios_crtc.c | 32 +- drivers/gpu/drm/radeon/radeon_atpx_handler.c | 2 +- drivers/gpu/drm/radeon/radeon_connectors.c | 10 +- drivers/gpu/drm/radeon/radeon_device.c | 10 +- drivers/gpu/drm/radeon/radeon_display.c | 53 +- drivers/gpu/drm/radeon/radeon_drv.c | 5 + drivers/gpu/drm/radeon/radeon_fb.c | 20 +- drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 20 +- drivers/gpu/drm/radeon/radeon_mode.h | 8 +- drivers/gpu/drm/scheduler/gpu_scheduler.c | 76 +- .../gpu/drm/scheduler}/gpu_scheduler_trace.h | 2 +- drivers/gpu/drm/ttm/ttm_agp_backend.c | 1 + drivers/gpu/drm/ttm/ttm_bo.c | 2 +- drivers/gpu/drm/ttm/ttm_bo_manager.c | 1 + drivers/gpu/drm/ttm/ttm_bo_util.c | 51 +- drivers/gpu/drm/ttm/ttm_bo_vm.c | 1 + drivers/gpu/drm/ttm/ttm_execbuf_util.c | 1 + drivers/gpu/drm/ttm/ttm_lock.c | 1 + drivers/gpu/drm/ttm/ttm_memory.c | 1 + drivers/gpu/drm/ttm/ttm_module.c | 1 + drivers/gpu/drm/ttm/ttm_object.c | 1 + drivers/gpu/drm/ttm/ttm_page_alloc.c | 11 +- drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 3 +- drivers/gpu/drm/ttm/ttm_tt.c | 1 + include/drm/amd_asic_type.h | 1 + include/drm/gpu_scheduler.h | 55 +- include/uapi/drm/amdgpu_drm.h | 20 + 263 files changed, 14588 insertions(+), 4707 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/df_v1_7.c rename drivers/gpu/drm/amd/{powerplay/inc/pp_soc15.h => amdgpu/df_v1_7.h} (57%) create mode 100644 drivers/gpu/drm/amd/display/dc/calcs/calcs_logger.h create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c create mode 100644 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.h create mode 100644 drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/df/df_1_7_sh_mask.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu75.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu75_discrete.h create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.c create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/vegam_smumgr.h rename {include/drm => drivers/gpu/drm/scheduler}/gpu_scheduler_trace.h (97%)