Hi Dave, First pull for 4.17. Highlights: - Expose thermal thresholds through hwmon properly - Rework HDP flushing for rings and CPU - Improved dual-link DVI handling in DC - Lots of code clean up - Additional DC clean up - Allow scanout from system memory on CZ/BR/ST - Improved PASID/VM integration - Expose GPU voltage and power via hwmon - Initial wattman-like support - Initial power profiles for use-case optimized performance - Rework GPUVM TLB flushing - Rework IP offset handling for SOC15 asics - Add CRC support in DC - Fixes for mmhub powergating - Initial regamma/degamma/CTM support in DC - ttm cleanups and simplifications - ttm OOM avoidance fixes The following changes since commit 933519a5a269d8460450545adefcb5caec622cac: Merge tag 'topic/hdcp-2018-02-13' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2018-02-16 09:36:04 +1000) are available in the git repository at: git://people.freedesktop.org/~agd5f/linux drm-next-4.17 for you to fetch changes up to 9aff8b2ae71dcf7f02443821a894a736f40e4919: Revert "drm/radeon/pm: autoswitch power state when in balanced mode" (2018-02-20 16:27:16 -0500) ---------------------------------------------------------------- Alex Deucher (29): drm/amd/powerplay: export thermal range through temp sysfs drm/amdgpu: add new asic callbacks for HDP flush/invalidation drm/amdgpu: add HDP asic callbacks for SI drm/amdgpu: add HDP asic callbacks for CIK drm/amdgpu: add HDP asic callbacks for VI drm/amdgpu: add HDP asic callbacks for SOC15 (v2) drm/amdgpu: adjust HDP write queue flushing for tlb invalidation drm/amdgpu: drop extra tlb invalidation in gpuvm drm/amdgpu: only allow scatter/gather display with DC drm/amdgpu/powerplay/vega10: fix compute profile name drm/amdgpu: drop the drm irq pre/post/un install callbacks drm/amdgpu/psp: use a function pointer structure drm/amdgpu/soc15: don't abuse IP soft reset for adapter reset drm/amdgpu/pm: handle fan properly when card is powered down drm/amdgpu/pm: report gpu voltages via hwmon API drm/amdgpu/pm: report gpu average power via hwmon API drm/amdgpu/pm: use read_sensor API to get temperature drm/amdgpu/pp: remove the get_temperature API drm/amdgpu/pm: rework the hwmon visibility settings drm/amdgpu: remove DC special casing for KB/ML drm/amdgpu: set DRIVER_ATOMIC flag early drm/amdgpu/dce: fix mask in dce_v*_0_is_in_vblank drm/amdgpu: remove unused display_vblank_wait interface drm/amd/powerplay: use PP_CAP macro for disable_mclk_switching_for_frame_lock drm/amd/powerplay/vega10: allow mclk switching with no displays drm/amd/powerplay/smu7: allow mclk switching with no displays drm/amdgpu/cgs: add refresh rate checking to non-DC display code drm/amdgpu/powerplay/smu7: drop refresh rate checks for mclk switching Revert "drm/radeon/pm: autoswitch power state when in balanced mode" Andres Rodriguez (2): drm/amdgpu: add high priority compute support for gfx9 drm/amdgpu: bump version for gfx9 high priority compute Andrew Jiang (1): drm/amd/display: Fix check for setting input TF Andrey Grodzovsky (5): drm/ttm: Allow page allocations w/o triggering OOM.. drm/amdgpu: Use new TTM flag to avoid OOM triggering. drm/amd/display: Remove unsued mutex and spinlock. drm/amd/display: Remove timer handler. Revert "drm/amdgpu/gfx8: Fix compute ring failure after resetting" Anthony Koo (1): drm/amd/display: provide an interface to query firmware version Arnd Bergmann (1): drm/amd/display: fix incompatible structure layouts Arun Pandey (1): drm/amd/display: Define dpp1_set_cursor_position in header Bas Nieuwenhuizen (1): drm/amdgpu: Fix always_valid bos multiple LRU insertions. Charlene Liu (13): drm/amd/display: PME sw wa to support waking AZ D3 drm/amd/display: disablePSR in UpdatePlanes in PassiveLevel drm/amd/display: fix backlight not off at resume from S4 drm/amd/display: disable az_clock_gating for endpoint register access only drm/amd/display: dpms off mute az audio endpoint only. drm/amd/display: eDP sequence BL off first then DP blank. drm/amd/display: BL setting save/restore drm/amd/display: wait for T9 after backlight off mainlink blank. drm/amd/display: add eDP 1.2+ polling for T7 drm/amd/display: resume from S3 bypass power down HW block. drm/amd/display: enable #PME code path for RV. drm/amd/display: boot up/S4 fix mainlink off before BL. drm/amd/display: add force_trigger even to static screen control Christian König (78): drm/amdgpu: allow framebuffer in GART memory as well drm/amdgpu: rename pas_id to pasid drm/amdgpu: print the PASID with VM faults on GMC v7 drm/amdgpu: print the PASID with VM faults on GMC v8 drm/amdgpu: remove agp_base drm/amdgpu: move struct amdgpu_mc into amdgpu_gmc.h drm/amdgpu: move struct gart_funcs into amdgpu_gmc.h drm/amdgpu: move PD/PT address calculation into backend function drm/amdgpu: add amdgpu_pasid_free_delayed v2 drm/amdgpu: always allocate a PASIDs for each VM v2 drm/amdgpu: trace allocated PASIDs drm/amdgpu: trace the PASID instead of the VM pointer drm/amdgpu: forward pasid to backend flush implementations drm/amdgpu: wire up emit_wreg for gfx v6 drm/amdgpu: wire up emit_wreg for gfx v7 drm/amdgpu: wire up emit_wreg for gfx v8 drm/amdgpu: wire up emit_wreg for gfx v9 drm/amdgpu: wire up emit_wreg for SI DMA drm/amdgpu: wire up emit_wreg for CIK SDMA drm/amdgpu: wire up emit_wreg for SDMA v2.4 drm/amdgpu: wire up emit_wreg for SDMA v3 drm/amdgpu: wire up emit_wreg for SDMA v4 drm/amdgpu: wire up emit_wreg for UVD v6 drm/amdgpu: wire up emit_wreg for UVD v7 drm/amdgpu: wire up emit_wreg for VCE v4 drm/amdgpu: wire up emit_wreg for VCN v1 drm/amdgpu: add new amdgpu_gmc_emit_flush_gpu_tlb callback drm/amdgpu: implement gmc_v6_0_emit_flush_gpu_tlb drm/amdgpu: implement gmc_v7_0_emit_flush_gpu_tlb drm/amdgpu: implement gmc_v8_0_emit_flush_gpu_tlb drm/amdgpu: implement gmc_v9_0_emit_flush_gpu_tlb drm/amdgpu: add PASID mapping for GMC v7 drm/amdgpu: add PASID mapping for GMC v8 drm/amdgpu: add PASID mapping for GMC v9 drm/amdgpu: add optional ring to *_hdp callbacks drm/amdgpu: fallback to generic HDP operation drm/amdgpu: remove now superflous *_hdp operation drm/amdgpu: reduce reserved VA size drm/amdgpu: apply top reserved VA space to pre Vega10 as well drm/amdgpu: consistently use AMDGPU_CSA_VADDR drm/amdgpu: move static CSA address to top of address space v2 drm/amdgpu: fix vcn_v1_0_dec_ring_emit_wreg drm/amdgpu: revert "drm/amdgpu: use AMDGPU_GEM_CREATE_VRAM_CLEARED for VM PD/PTs" v2 drm/amdgpu: drop root shadow sync drm/amdgpu: revert "Add a parameter to amdgpu_bo_create()" drm/amdgpu: revert "Add support for filling a buffer with 64 bit value" drm/amdgpu: fill only the lower range with ATS entries v2 drm/amdgpu: limit the VM address space with older VCE FW versions drm/amdgpu: fix DW estimation on VI drm/amdgpu: add new emit_reg_wait callback drm/amdgpu: implement gfx_v9_0_ring_emit_reg_wait drm/amdgpu: implement sdma_v4_0_ring_emit_reg_wait drm/amdgpu: implement uvd_v7_0_(enc_|)ring_emit_reg_wait v2 drm/amdgpu: implement vce_v4_0_emit_reg_wait v2 drm/amdgpu: implement vcn_v1_0_(dec|enc)_ring_emit_reg_wait v2 drm/amdgpu: move waiting for VM flush into gmc_v9_0_emit_flush_gpu_tlb drm/amdgpu: make VMID assignment more fair v2 drm/amdgpu: split finding idle VMID into separate function drm/amdgpu: make VMID owner none atomic v2 drm/amdgpu: stop checking GPU reset counter during VMID grab drm/amdgpu: cleanup and simplify amdgpu_vmid_grab_reserved drm/amdgpu: move reusing VMIDs into separate function drm/amdgpu: restructure amdgpu_vmid_grab drm/amdgpu: cache the fence to wait for a VMID drm/amdgpu: release the VM shadow in the error path as well drm/amdgpu: clear the shadow fence as well drm/amdgpu: sync the VM PD/PT before clearing it drm/ttm: add ttm_tt_populate wrapper drm/amdgpu: remove extra TT unpopulated check drm/radeon: remove extra TT unpopulated check drm/amdgpu: fix and cleanup UVD IB generation drm/amdgpu: cleanup VCN IB generation drm/amdgpu: separate PASID mapping from VM flush v2 drm/amdgpu: update the PASID mapping only on demand drm/amdgpu: implement amdgpu_gem_map_(attach/detach) drm/amdgpu: mitigate workaround for i915 drm/amdgpu: use drm_gem_private_object_init drm/radeon: use drm_gem_private_object_init Chunming Zhou (1): drm/amdgpu: all vram is visible for APU (v2) Corentin Labbe (1): drm/amd/powerplay: remove unused headers Dan Carpenter (1): drm/amd/powerplay: delete some dead code Dmitry Rozhkov (1): drm/radeon: use raw buffer printk specifier Dmytro Laktyushkin (2): drm/amd/display: revert to hacking bounding box for pipe split drm/amd/display: disable seamless vp adjustment for mirrored surface Duke Du (1): drm/amd/display: Update the register GRPH_SWAP_CNTL if surface pixel format changed. Eric Bernstein (3): drm/amd/display: clean up DCHUBBUB register definition in hwseq drm/amd/display: Update dcn10_init_hw for FPGA drm/amd/display: Expose is_rgb_cspace function in hw_sequencer Eric Huang (4): drm/amdgpu: add an interface of amdgpu_dpm_set_mmhub_powergating_by_smu drm/amd/powerplay: implement set_mmhub_powergating_by_smu for Raven drm/amd/powerplay: add mmhub powergating by smu in powerplay drm/amdgpu: add mmhub powergating set by smu Eric Yang (5): drm/amd/display: fix cursor related Pstate hang drm/amd/display: remove unused function prototypes drm/amd/display: turn off cursor when disconnect plane drm/amd/display: Treat bad EDID as no EDID drm/amd/display: Add logging for aux DPCD access Evan Quan (9): drm/amd/powerplay: remove unused parameter of phm_start_thermal_controller (v2) drm/amd/powerplay: removed hwmgr_handle_task unused parameter and given a better name for other parameter drm/amd/powerplay: correct PP_TemperatureRange member type since negative values are part of the valid range drm/amd/powerplay: new cgs interface setting dpm thermal range drm/amd/powerplay: new hw manager interface for retrieving device specific thermal range drm/amd/powerplay: export vega10 specific thermal ranges (V2) drm/amd/powerplay: export the thermal ranges of VI asics (V2) drm/amd/powerplay: export the thermal ranges of Carrizo (V2) drm/amd/powerplay: use ffs/fls instead of implementing our own Fengguang Wu (1): drm/amdgpu: fix semicolon.cocci warnings Geling Li (1): drm/amd/display: Add debug flag for p010_mpo_support Gustavo A. R. Silva (1): drm/amdgpu_gem: fix error handling path in amdgpu_gem_va_update_vm Harry Wentland (23): drm/amd/display: Move MAX_TMDS_CLOCK define to header drm/amd/display: Remove unnecessary fail labels in create_stream_for_sink drm/amd/display: Pass signal directly to enable_tmds_output drm/amd/display: Debug print when validate_stream fails drm/amd/display: Don't allow dual-link DVI on all ASICs. drm/amd/display: Don't block dual-link DVI modes drm/amd/display: Debug-print reason for mode validation failure drm/amd/display: Log which clocks are unsupported drm/amd/display: Make create_stream_for_sink more consistent drm/amd/display: Drop dm_connector_update_modes drm/amd/display: Enable VM support only on APUs newer than CZ drm/amd/display: dc: Remove unused display_mode_vba.c drm/amd/display: Call update_stream_signal directly from amdgpu_dm drm/amd/display: Fix warning about misaligned code drm/amd/display: Adding missing TMZ sh/mask entries for DCN1 SURFACE_CONTROL drm/amd/display: Remove unused CFLAGS entry in DML Makefile drm/amdgpu: Fix potential uninitialized use of 'idle' in amdgpu_ids.c drm/amd/display: Change blackout time to 0 on CZ/ST drm/amd/display: Remove unused DCE80 compressor drm/amd/display: Re-use DCE100 display_power_gating for DCE80 drm/amd/display: Make couple functions in DCE80 TG static drm/amd/display: Add missing Vega defines to dal_asic_id drm/amd/display: Remove unused dm_pp_ interfaces Hawking Zhang (5): drm/amdgpu: split soc15ip header into ip and ip_offset header drm/amdgpu: include new ip and ip offset headers drm/amd/pp: include new ip and ip offset headers drm/amd/dc: include new ip and ip_offset headers drm/amdgpu: retire soc15ip.h Hersen Wu (1): drm/amd/display: VGA black screen from s3 when attached to hook Jerry (Fangzhi) Zuo (2): drm/amd/display: Fix topology change issue in MST rehook drm/amd/display: Fixed non-native modes not lighting up John Barberiz (6): drm/amd/display: Add temporary delay on disconnect patch drm/amd/display: Add temporary delay on disconnect patch drm/amd/display: Bypass gamma set if not standard type drm/amd/display: Fixed if statement parameters to add a delay on disconnect drm/amd/display: Rearchitecture HDMI HPD drm/amd/display: Remove delay on disconnect patch Julia Lawall (1): drm/amd/powerplay: drop unneeded newline Kai-Heng Feng (1): drm/amdgpu: add new device to use atpx quirk Ken Chalmers (5): drm/amd/display: Fix Maximus pixel clock programming drm/amd/display: Eliminate several Maximus-specific code paths drm/amd/display: Remove unused param in DML drm/amd/display: WBSCL filter init calculation fixes drm/amd/display: Remove duplicate entries from BIOS function table Krunoslav Kovac (4): drm/amd/display: Pass full 3x4 remap matrix for color transform drm/amd/display: [RS4][RV] SDR Brightness Boost drm/amd/display: Force full update on pixel_format_change drm/amd/display: Optimize regamma calculations Leo (Sunpeng) Li (16): drm/amd/display: Implement interface for CRC on CRTC drm/amd/display: Implement CRTC CRC for DCE110 drm/amd/display: Early return on crc get drm/amd/display: Fix unused variable compilation error drm/amd/display: Fix multiple definitions of handle_crc_irq drm/amd/display: Use hardware max low point when sampling OTF drm/amd/display: Add color module's gamma helpers to Linux build drm/amd/display: Implement color management drm/amd/display: Hookup color management functions drm/amd/display: Refactor max color lut entries into a macro. drm/amd/display: Expose dither setting functionality to Linux drm/amd/display: When enabling CRC, disable dither & enable truncation drm/amd/display: Rework DCE transform bit depth reduction programming. drm/amd/display: Expose DCE110 CRC functions for DCE8 drm/amd/display: Skip 2 frames when first reading CRC drm/amd/display: Fix increment when sampling OTF in DCE Luis de Bethencourt (2): drm: amd: Fix trailing semicolons drm: Fix trailing semicolon Martin Tsai (2): drm/amd/display: Remove return when no EDID read. drm/amd/display: add monitor patch for delay after DP receive power up Matthias Kaehlcke (8): drm/amd/powerplay: Fix enum mismatch drm/amd/powerplay: Remove extra pair of parentheses drm/amd/display: Remove extra pairs of parentheses in dce_calcs.c amdgpu/dc: Fix enum mismatch in calls to program_color_matrix() amdgpu/dc/dml: Consolidate redundant CFLAGS amdgpu/dc/calcs: Consolidate redundant CFLAGS amdgpu/dc/dml: Support clang option for stack alignment amdgpu/dc/calcs: Support clang option for stack alignment Mikita Lipski (5): drm/amd/display: Prevent master programming in multisync drm/amd/display: Remove unnecessary register programming drm/amd/display: Set irq state only on existing crtcs drm/amdgpu: Add a missing lock for drm_mm_takedown drm/amdgpu: Unify the dm resume calls into one Nikola Cornij (2): drm/amd/display: Define remove_stream_from_ctx resource func drm/amd/display: Remove couple of unused OPTC registers Rex Zhu (37): drm/amd/pp: Add a helper to convert VID to voltage value drm/amd/pp: Refine code shorten variable name drm/amd/pp: Add memory clock info display on Cz/St drm/amd/pp: Export registers for read vddc on VI/Vega10 drm/amd/pp: Add querying current gfx voltage for CI/VI drm/amd/pp: Add querying current gfx voltage for Vega10 drm/amd/pp: Implement voltage regulator config on CI drm/amd/pp: Fix SMIO implementation on CI drm/amdgpu: add custom power policy support in sysfs drm/amd/pp: Add custom power profile mode support on Vega10 drm/amd/pp: Store stable Pstate clocks drm/amd/pp: Add stable Pstate clk display support in debugfs drm/amd/pp: Refine code abbreviate variable name drm/amd/pp: Move DPMTABLE_* definitions to common header file drm/amd/pp: Add a new pp feature mask bit for OD feature drm/amd/pp: Add and initialize OD_dpm_table for CI/VI. drm/amd/pp: Add OD driver clock/voltage display on smu7 drm/amdgpu: Expose more GPU sensor queries drm/amdgpu: Bump driver version for sensor pstate clk drm/amd/pp: Add hwmgr interface for edit dpm table drm/amd/pp: Add edit/commit/show OD clock/voltage support in sysfs drm/amd/pp: Disable OD feature if VBIOS limits drm/amd/pp: Disable OD feature on APU/Iceland drm/amd/pp: Implement edit_dpm_table on smu7 drm/amd/pp: Update smu7 dpm table with OD clock/voltage drm/amd/pp: Add update_avfs call when set_power_state drm/amd/pp: Change activity_target for performance optimization on Polaris drm/amd/pp: Delete dead code in powerplay drm/amd/pp: Add struct profile_mode_setting for smu7 drm/amd/pp: Delete unnecessary function argument drm/amd/pp: Delete debug info when set power_profile_mode drm/amd/pp: Refine pp_dpm_force_clock_level functions drm/amd/pp: Enable pp_set_power_profile_mode under manual mode drm/amd/pp: Fix sysfs pp_dpm_pcie bug on CI/VI drm/amd/pp: Expose set/get_power_limit for DGPU drm/amdgpu: Get/set dgpu power cap via hwmon API drm/amd/pp: Restore power profile mode in auto dpm level on Vega10 Roger He (1): drm/ttm: add the missed global memory count update Roman Li (6): drm/amd/display: make FBC mem alloc dynamic drm/amd/display: cleanup after FBC init rework drm/amd/display: Fix FBC topology change drm/amd/display: Fix null-derefs on non-dcn builds drm/amd/display: fix boot-up on vega10 drm/amd/display: Make FBC work without fbdev emulation Samuel Li (13): drm/amdgpu: Move to gtt before cpu accesses dma buf. drm/amdgpu: rename static functions in amdgpu_display.c drm/amdgpu: rename amdgpu_crtc_page_flip_target drm/amdgpu: rename amdgpu_crtc_set_config drm/amdgpu: rename amdgpu_print_display_setup drm/amdgpu: rename amdgpu_ddc_probe drm/amdgpu: rename amdgpu_framebuffer_init drm/amdgpu: rename amdgpu_user_framebuffer_create drm/amdgpu: rename amdgpu_modeset_create_props drm/amdgpu: rename amdgpu_update_display_priority drm/amdgpu: rename amdgpu_crtc_scaling_mode_fixup drm/amdgpu: rename amdgpu_get_crtc_scanoutpos drm/amdgpu: rename amdgpu_crtc_idx_to_irq_type Shaoyun Liu (6): drm/amdgpu: Enable ip block bit mask print out info by default drm/amdgpu: Basic emulation support drm/amdgpu: Fix none-powerplay issue when load driver on emulation mode drm/amdgpu: Avoid get vram info from atom bios on emulation mode drm/amdgpu: Double the timeout count on emulation mode drm/amdgpu: Add place holder for soc15 asic init on emulation SivapiriyanKumarasamy (1): drm/amd/display: Synchronize update plane addr for freesync Tao (1): drm/amd/display: Set vsc pack revision when DPCD revision is >= 1.2 Tom St Denis (12): drm/ttm: Fix coding style in ttm_bo.c drm/ttm: Add a default BO destructor to simplify code (v2) drm/ttm: Change ttm_tt page allocations to return errors drm/ttm: Fix coding style in ttm_pool_store() drm/ttm: Simplify ttm_dma_find_pool() (v2) drm/ttm: Fix coding style in ttm_bo_move_memcpy() drm/ttm: Remove unncessary retval from ttm_bo_vm_fault() drm/ttm: Simplify ttm_eu_reserve_buffers() drm/ttm: Fix coding style in ttm_tt_swapout() drm/ttm: Fix coding style in ttm_dma_pool_alloc_new_pages() drm/ttm: Simplify ttm_dma_page_put() drm/amd/powerplay: Zero out power data in AMDGPU_PP_SENSOR_GPU_POWER readout Tony Cheng (7): drm/amd/display: dal 3.1.28 drm/amd/display: dal 3.1.29 drm/amd/display: dal 3.1.30 drm/amd/display: dal 3.1.31 drm/amd/display: dal 3.1.32 drm/amd/display: dal 3.1.33 drm/amd/display: dal 3.1.34 Vitaly Prosyak (1): drm/amd/display: De PQ implementation Yong Zhao (1): drm/amdgpu: Update MMHUB power gating register settings Yongqiang Sun (16): drm/amd/display: Use pipe_control_lock instead of tg lock. drm/amd/display: disable eDP backlight for extend monitor only reboot use case. drm/amd/display: Disable eDP with a proper sequence. drm/amd/display: Move hubp reg access from hwss to hubp module. drm/amd/display: Use real BE and FE index to program regs. drm/amd/display: Check opplist in pipe ctx not in res pool. drm/amd/display: Move dpp reg access from hwss to dpp module. drm/amd/display: Move opp reg access from hwss to opp module. drm/amd/display: Refactor remove mpcc processing. drm/amd/display: Move output_tf to stream_state/update drm/amd/display: Add timing generator count to resource pool. drm/amd/display: Check hubp in pipe_ctx not in res_pool. drm/amd/display: Null check for gamma correction. drm/amd/display: Add return value for detect dp. drm/amd/display: Add primary tmz_c and meta tmz tmz_c. drm/amd/display: Keep eDP stream enabled during boot. drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 120 +- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 27 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 20 +- drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 10 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 18 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 52 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 125 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.h | 7 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 23 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 33 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 23 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 18 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.h | 3 - drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 13 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 112 + drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 17 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 412 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h | 7 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ih.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 52 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 98 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 49 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 49 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 456 +- drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 143 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 40 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 43 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 38 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 72 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 106 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 87 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 24 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 322 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 6 +- drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 34 +- drivers/gpu/drm/amd/amdgpu/cik.c | 23 + drivers/gpu/drm/amd/amdgpu/cik.h | 2 + drivers/gpu/drm/amd/amdgpu/cik_ih.c | 2 +- drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 41 +- drivers/gpu/drm/amd/amdgpu/cz_ih.c | 2 +- drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 80 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 81 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 79 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 81 +- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 25 +- drivers/gpu/drm/amd/amdgpu/emu_soc.c | 33 + drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 78 +- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 68 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 86 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 186 +- drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c | 24 +- drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 133 +- drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 183 +- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 210 +- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 171 +- drivers/gpu/drm/amd/amdgpu/iceland_ih.c | 2 +- drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 1 - drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 88 +- drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c | 11 +- drivers/gpu/drm/amd/amdgpu/nbio_v7_0.c | 9 +- drivers/gpu/drm/amd/amdgpu/psp_v10_0.c | 56 +- drivers/gpu/drm/amd/amdgpu/psp_v10_0.h | 20 +- drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 65 +- drivers/gpu/drm/amd/amdgpu/psp_v3_1.h | 24 +- drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 44 +- drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 46 +- drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 64 +- drivers/gpu/drm/amd/amdgpu/si.c | 23 + drivers/gpu/drm/amd/amdgpu/si.h | 2 + drivers/gpu/drm/amd/amdgpu/si_dma.c | 50 +- drivers/gpu/drm/amd/amdgpu/si_dpm.c | 19 +- drivers/gpu/drm/amd/amdgpu/soc15.c | 24 +- drivers/gpu/drm/amd/amdgpu/soc15.h | 3 + drivers/gpu/drm/amd/amdgpu/tonga_ih.c | 2 +- drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 30 - drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 30 - drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 66 +- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 144 +- drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 54 +- drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 155 +- drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 2 +- drivers/gpu/drm/amd/amdgpu/vega10_reg_init.c | 3 +- drivers/gpu/drm/amd/amdgpu/vi.c | 23 + drivers/gpu/drm/amd/amdgpu/vi.h | 2 + drivers/gpu/drm/amd/display/Makefile | 3 +- drivers/gpu/drm/amd/display/amdgpu_dm/Makefile | 6 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 265 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 34 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 228 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 126 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 82 +- .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 16 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 33 - drivers/gpu/drm/amd/display/dc/basics/fixpt31_32.c | 9 + drivers/gpu/drm/amd/display/dc/bios/bios_parser.c | 5 +- drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 7 + .../drm/amd/display/dc/bios/bios_parser_helper.c | 8 + .../drm/amd/display/dc/bios/bios_parser_helper.h | 1 + .../drm/amd/display/dc/bios/command_table_helper.h | 33 +- .../amd/display/dc/bios/command_table_helper2.h | 30 +- .../display/dc/bios/command_table_helper_struct.h | 66 + drivers/gpu/drm/amd/display/dc/calcs/Makefile | 14 +- drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c | 30 +- drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c | 44 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 220 +- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 91 +- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 28 +- drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c | 25 +- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 21 +- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 76 +- drivers/gpu/drm/amd/display/dc/dc.h | 36 +- drivers/gpu/drm/amd/display/dc/dc_bios_types.h | 3 + drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 8 +- drivers/gpu/drm/amd/display/dc/dc_link.h | 4 + drivers/gpu/drm/amd/display/dc/dc_stream.h | 20 +- drivers/gpu/drm/amd/display/dc/dc_types.h | 6 + drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 9 + drivers/gpu/drm/amd/display/dc/dce/dce_audio.c | 18 +- .../gpu/drm/amd/display/dc/dce/dce_clock_source.c | 12 +- drivers/gpu/drm/amd/display/dc/dce/dce_clocks.c | 15 +- drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 5 +- drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.c | 4 +- drivers/gpu/drm/amd/display/dc/dce/dce_hwseq.h | 104 +- .../gpu/drm/amd/display/dc/dce/dce_link_encoder.c | 25 +- .../gpu/drm/amd/display/dc/dce/dce_link_encoder.h | 3 +- .../drm/amd/display/dc/dce/dce_stream_encoder.c | 6 +- drivers/gpu/drm/amd/display/dc/dce/dce_transform.c | 123 +- .../amd/display/dc/dce100/dce100_hw_sequencer.c | 2 +- .../amd/display/dc/dce100/dce100_hw_sequencer.h | 4 + .../drm/amd/display/dc/dce100/dce100_resource.c | 2 + .../amd/display/dc/dce110/dce110_hw_sequencer.c | 382 +- .../amd/display/dc/dce110/dce110_hw_sequencer.h | 9 +- .../drm/amd/display/dc/dce110/dce110_opp_csc_v.c | 2 +- .../drm/amd/display/dc/dce110/dce110_resource.c | 6 +- .../display/dc/dce110/dce110_timing_generator.c | 122 + .../display/dc/dce110/dce110_timing_generator.h | 6 + .../drm/amd/display/dc/dce112/dce112_resource.c | 3 + .../amd/display/dc/dce120/dce120_hw_sequencer.c | 3 +- .../drm/amd/display/dc/dce120/dce120_resource.c | 6 +- .../display/dc/dce120/dce120_timing_generator.c | 3 +- drivers/gpu/drm/amd/display/dc/dce80/Makefile | 2 +- .../drm/amd/display/dc/dce80/dce80_compressor.c | 834 --- .../drm/amd/display/dc/dce80/dce80_compressor.h | 78 - .../drm/amd/display/dc/dce80/dce80_hw_sequencer.c | 38 +- .../gpu/drm/amd/display/dc/dce80/dce80_resource.c | 4 + .../amd/display/dc/dce80/dce80_timing_generator.c | 127 +- .../amd/display/dc/dce80/dce80_timing_generator.h | 6 - .../gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c | 39 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 23 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.h | 27 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_dpp_cm.c | 47 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c | 39 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h | 25 +- .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 273 +- .../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h | 1 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.h | 2 - drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.c | 9 + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_opp.h | 14 +- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.h | 8 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 21 +- drivers/gpu/drm/amd/display/dc/dm_pp_smu.h | 3 +- drivers/gpu/drm/amd/display/dc/dm_services.h | 31 - drivers/gpu/drm/amd/display/dc/dml/Makefile | 26 +- .../gpu/drm/amd/display/dc/dml/display_mode_lib.h | 3 - .../drm/amd/display/dc/dml/display_mode_structs.h | 1 - .../gpu/drm/amd/display/dc/dml/display_mode_vba.c | 6085 -------------------- .../gpu/drm/amd/display/dc/dml/display_mode_vba.h | 598 -- .../drm/amd/display/dc/dml/display_rq_dlg_calc.c | 1772 ------ .../drm/amd/display/dc/dml/display_rq_dlg_calc.h | 148 - .../amd/display/dc/dml/dml1_display_rq_dlg_calc.h | 3 +- .../amd/display/dc/gpio/dce120/hw_factory_dce120.c | 3 +- .../display/dc/gpio/dce120/hw_translate_dce120.c | 3 +- .../amd/display/dc/gpio/dcn10/hw_factory_dcn10.c | 3 +- .../amd/display/dc/gpio/dcn10/hw_translate_dcn10.c | 3 +- drivers/gpu/drm/amd/display/dc/i2caux/aux_engine.c | 16 + .../display/dc/i2caux/dce110/aux_engine_dce110.c | 4 - .../amd/display/dc/i2caux/dce120/i2caux_dce120.c | 3 +- .../drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c | 3 +- drivers/gpu/drm/amd/display/dc/inc/core_types.h | 7 + drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h | 2 +- drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h | 7 - drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h | 5 + drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 3 + drivers/gpu/drm/amd/display/dc/inc/hw/hw_shared.h | 2 +- .../gpu/drm/amd/display/dc/inc/hw/link_encoder.h | 3 +- drivers/gpu/drm/amd/display/dc/inc/hw/opp.h | 4 + .../drm/amd/display/dc/inc/hw/timing_generator.h | 45 + drivers/gpu/drm/amd/display/dc/inc/hw/transform.h | 2 +- drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | 5 +- drivers/gpu/drm/amd/display/dc/inc/link_hwss.h | 2 + .../amd/display/dc/irq/dce120/irq_service_dce120.c | 3 +- .../amd/display/dc/irq/dcn10/irq_service_dcn10.c | 3 +- .../amd/display/dc/virtual/virtual_link_encoder.c | 3 +- drivers/gpu/drm/amd/display/include/dal_asic_id.h | 8 + drivers/gpu/drm/amd/display/include/fixed31_32.h | 3 + .../amd/display/include/grph_object_ctrl_defs.h | 5 - drivers/gpu/drm/amd/display/include/signal_types.h | 5 + drivers/gpu/drm/amd/display/modules/color/Makefile | 31 + .../drm/amd/display/modules/color/color_gamma.c | 1403 +++++ .../drm/amd/display/modules/color/color_gamma.h | 53 + .../drm/amd/include/asic_reg/dcn/dcn_1_0_sh_mask.h | 14 + .../gpu/drm/amd/include/asic_reg/smu/smu_7_1_3_d.h | 1 + .../amd/include/asic_reg/smu/smu_7_1_3_sh_mask.h | 6 +- .../amd/include/asic_reg/smuio/smuio_9_0_offset.h | 3 + .../amd/include/asic_reg/smuio/smuio_9_0_sh_mask.h | 3 + drivers/gpu/drm/amd/include/cgs_common.h | 7 + drivers/gpu/drm/amd/include/kgd_pp_interface.h | 30 +- drivers/gpu/drm/amd/include/soc15_hw_ip.h | 98 + .../amd/include/{soc15ip.h => vega10_ip_offset.h} | 84 +- drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 210 +- .../drm/amd/powerplay/hwmgr/cz_clockpowergating.c | 8 +- drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 38 +- drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.h | 2 - .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 25 +- drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 24 +- .../amd/powerplay/hwmgr/process_pptables_v1_0.c | 8 +- .../gpu/drm/amd/powerplay/hwmgr/processpptables.c | 14 +- drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c | 9 + .../amd/powerplay/hwmgr/smu7_clockpowergating.c | 2 +- .../drm/amd/powerplay/hwmgr/smu7_dyn_defaults.h | 2 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 562 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.h | 34 +- .../gpu/drm/amd/powerplay/hwmgr/smu7_powertune.c | 8 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_thermal.c | 4 +- drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 211 +- drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h | 7 +- .../gpu/drm/amd/powerplay/hwmgr/vega10_powertune.c | 7 +- .../amd/powerplay/hwmgr/vega10_processpptables.c | 8 +- .../gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c | 4 +- .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 19 +- drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 22 +- .../gpu/drm/amd/powerplay/inc/polaris10_ppsmc.h | 412 -- drivers/gpu/drm/amd/powerplay/inc/power_state.h | 4 +- drivers/gpu/drm/amd/powerplay/inc/pp_feature.h | 67 - drivers/gpu/drm/amd/powerplay/inc/pp_soc15.h | 6 +- drivers/gpu/drm/amd/powerplay/inc/pp_thermal.h | 40 + drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h | 3 +- drivers/gpu/drm/amd/powerplay/inc/smu7.h | 19 + drivers/gpu/drm/amd/powerplay/inc/smu7_discrete.h | 3 +- drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.c | 90 +- drivers/gpu/drm/amd/powerplay/smumgr/ci_smumgr.h | 2 - drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c | 44 +- drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.h | 2 - .../gpu/drm/amd/powerplay/smumgr/iceland_smumgr.c | 22 +- .../gpu/drm/amd/powerplay/smumgr/iceland_smumgr.h | 1 - .../drm/amd/powerplay/smumgr/polaris10_smumgr.c | 44 +- .../drm/amd/powerplay/smumgr/polaris10_smumgr.h | 1 - .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.c | 45 +- .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.h | 3 - drivers/gpu/drm/radeon/radeon_dp_mst.c | 4 +- drivers/gpu/drm/radeon/radeon_object.c | 6 +- drivers/gpu/drm/radeon/radeon_pm.c | 6 +- drivers/gpu/drm/radeon/radeon_ttm.c | 3 - drivers/gpu/drm/scheduler/gpu_scheduler.c | 2 +- drivers/gpu/drm/ttm/ttm_bo.c | 21 +- drivers/gpu/drm/ttm/ttm_bo_util.c | 15 +- drivers/gpu/drm/ttm/ttm_bo_vm.c | 30 +- drivers/gpu/drm/ttm/ttm_execbuf_util.c | 14 +- drivers/gpu/drm/ttm/ttm_page_alloc.c | 47 +- drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 32 +- drivers/gpu/drm/ttm/ttm_tt.c | 42 +- include/drm/ttm/ttm_bo_driver.h | 13 + include/uapi/drm/amdgpu_drm.h | 4 + 279 files changed, 7929 insertions(+), 14344 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h create mode 100644 drivers/gpu/drm/amd/amdgpu/emu_soc.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c create mode 100644 drivers/gpu/drm/amd/display/dc/bios/command_table_helper_struct.h delete mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.c delete mode 100644 drivers/gpu/drm/amd/display/dc/dce80/dce80_compressor.h delete mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.c delete mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h delete mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_calc.c delete mode 100644 drivers/gpu/drm/amd/display/dc/dml/display_rq_dlg_calc.h create mode 100644 drivers/gpu/drm/amd/display/modules/color/Makefile create mode 100644 drivers/gpu/drm/amd/display/modules/color/color_gamma.c create mode 100644 drivers/gpu/drm/amd/display/modules/color/color_gamma.h create mode 100644 drivers/gpu/drm/amd/include/soc15_hw_ip.h rename drivers/gpu/drm/amd/include/{soc15ip.h => vega10_ip_offset.h} (92%) delete mode 100644 drivers/gpu/drm/amd/powerplay/inc/polaris10_ppsmc.h delete mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_feature.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_thermal.h