Hi Dave, Fixes for 4.12. Mostly updates for vega10 which is new for 4.12. Highlights: - Lots of vega10 fixes - fix interruptable wait mixup - misc display fixes for radeon and amdgpu - misc bug fixes The following changes since commit 73ba2d5c2bd4ecfec8fe37f20e962889b8a4c972: Merge tag 'drm-intel-next-fixes-2017-04-27' of git://anongit.freedesktop.org/git/drm-intel into drm-next (2017-04-29 05:50:27 +1000) are available in the git repository at: git://people.freedesktop.org/~agd5f/linux drm-next-4.12 for you to fetch changes up to c81a1a74037f61c578f6b8218b079aa434e300b4: drm/amdgpu: Make amdgpu_bo_reserve use uninterruptible waits for cleanup (2017-04-28 17:33:16 -0400) ---------------------------------------------------------------- Alex Deucher (3): drm/amdgpu: fix spelling in header comment drm/amdgpu: bump version number to note race fix and new fence functionality Revert "drm/amd/amdgpu: Set VCE/UVD off during late init" Alex Xie (8): drm/amdgpu: Fix use of interruptible waiting drm/amdgpu: Fix use of interruptible waiting drm/amdgpu: Fix use of interruptible waiting drm/amdgpu: Fix use of interruptible waiting drm/amdgpu: Real return value can be over-written when clean up drm/amdgpu: Fix use of interruptible waiting drm/amdgpu: Fix use of interruptible waiting drm/amdgpu: Fix use of interruptible waiting Christian König (14): drm/amdgpu: add VMHUB to ring association drm/amdgpu: drop VMID per ring tracking drm/amdgpu: split VMID management by VMHUB drm/amdgpu: invalidate only the currently needed VMHUB v2 drm/amdgpu: assign VM invalidation engine manually v2 drm/amdgpu: allow concurrent VM flushes drm/amdgpu: trace the vmhub in grab_id as well drm/amdgpu: trace vm hub during flush as well v2 drm/radeon: force the UVD DPB into VRAM as well drm/amdgpu: fix coding style and printing in amdgpu_doorbell_init drm/amdgpu: fix amdgpu_vm_clear_freed v2 drm/amdgpu: fix amdgpu_ttm_bo_eviction_valuable drm/amdgpu: fix VM clearing in amdgpu_gem_object_close drm/amdgpu: remove unused and mostly unimplemented CGS functions v2 Chunming Zhou (6): drm/amdgpu: add gtt print like vram when dump mm table V2 drm/amdgpu: increase gtt size to 3GB by default v2 drm/amdgpu: fix no-vmid job drm/amdgpu: fix gpu reset crash drm/amdgpu: fix NULL pointer error drm/amdgpu: fix deadlock of reservation between cs and gpu reset v2 Daniel Wang (2): drm/amdgpu/psp: skip loading SDMA/RLCG under SRIOV VF drm/amdgpu/vce4: fix a PSP loading VCE issue Evan Quan (1): drm/amdgpu: update smu9 driver interface Frank Min (7): drm/amdgpu/vce4: update VCE initialization sequence for SRIOV drm/amdgpu/vce4: enable ring & ib test for sriov drm/amdgpu/vce4: move mm table constructions functions into mmsch header file drm/amdgpu/uvd7: add sriov uvd initialization sequences drm/amdgpu/uvd7: add uvd doorbell initialization for sriov drm/amdgpu/uvd7: add UVD hw init sequences for sriov drm/amdgpu/soc15: enable UVD code path for sriov Huang Rui (14): drm/amdgpu: split psp tmr init function drm/amdgpu: add psp firmware private memory drm/amdgpu: use private memory to store psp firmware data drm/amdgpu: split psp asd function drm/amdgpu: split psp ring init function drm/amdgpu: add hw_start and non-psp firmware loading into resume drm/amd/powerplay: fix suspend error on DPM disabled drm/amdgpu: do not free fence buf when driver probes. drm/amdgpu: fix to clear ASIC INIT COMPLETE bit on resuming phase drm/amdgpu: fix to add buffer funcs check drm/amdgpu: fix dead lock if any ip block resume failed in s3 drm/amdgpu: fix to print incorrect wptr address drm/ttm: cleanup unuse ret value drm/amd/powerplay: add error message to remind user updating firmware Junwei Zhang (3): drm/amdgpu: fix double_offchip_lds_buf for gfx v6 drm/amdgpu: export more gpu info for gfx9 drm/amdgpu: bump version for exporting gpu info for gfx9 Mario Kleiner (3): drm/amdgpu: Add missing lb_vblank_lead_lines setup to DCE-6 path. drm/radeon: Avoid overflows/divide-by-zero in latency_watermark calculations. drm/radeon: Make display watermark calculations more accurate Michel Dänzer (1): drm/amdgpu: Make amdgpu_bo_reserve use uninterruptible waits for cleanup Monk Liu (1): drm/amdgpu:fix race condition Pan Bian (2): drm/radeon: check return value of radeon_ring_lock drm/radeon: check return value of radeon_fence_emit Pixel Ding (1): drm/amdgpu/virt: don't check VALID bit for FLR completion message Rex Zhu (16): drm/amd/powerplay: align with VBIOS to support new AVFS structure drm/amdgpu: Remove redundant itermediate return val in sdma_v4_0.c drm/amd/amdgpu: coding style refine in sdma_v4_0.c drm/amd/powerplay: delete dead functions in vega10. drm/amdgpu: fix memory clock can't switch on CI. drm/amd/powerplay: enable AGM logging while dpm disabled. drm/amd/powerplay: allocate fb for avfs fuse table on vega10. drm/amd/powerplay: enable pcie dpm on Vega10. drm/amd/powerplay: enable clock stretch feature on Vega10. drm/amd/powerplay: Fix AVFS param. drm/amd/powerplay: correct UlvOffsetVid on Vega10. drm/amd/powerplay: disable cks by default on vega10. drm/amd/powerplay: refine set pcie dpm default table on vega10. drm/amd/powerplay: add disable_smc_ctf callback in hwmgr. drm/amd/powerplay: complete disable_smc_firmware_ctf_tasks. drm/amd/powerplay: implement stop dpm task for vega10. Roger.He (2): drm/amdgpu: fix indent drm/amdgpu: validate shadow before restoring from it Tom St Denis (5): drm/amd/amdgpu: Introduce new read/write macros for SOC15 drm/amd/amdgpu: Port gfx9 driver over to new read/write macros drm/amd/amdgpu: Change comp GFXv6 ring name to remove space drm/amd/amdgpu: Change comp GFXv9 ring name to remove space drm/amd/amdgpu: Print out ring name in dev_info Trigger Huang (3): drm/amdgpu: Fix firmware UCODE_ID_STORAGE issue (v2) drm/amdgpu: Fix module unload hang by KIQ on Vega10 drm/amdgpu: Destroy psp ring in hw_fini Xiangliang Yu (5): drm/amdgpu/vce4: workaround VCE ring test slow issue drm/amdgpu/mmhub_v1: bypass clockgating setting drm/amdgpu/gfx9: bypass clockgating setting drm/amdgpu/virt: add two functions for MM table drm/amdgpu/vce4: replaced with virt_alloc_mm_table Zhang, Jerry (1): drm/amdgpu: PRT support for gfx9 (v3) drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 6 + drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 7 + drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 13 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 208 +-------- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 99 ++--- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 68 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 9 + drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 13 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 23 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 229 ++++++---- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 18 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 37 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 34 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 10 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 46 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 153 ++++--- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 21 +- drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 3 +- drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 13 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 10 +- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 12 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 10 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 473 ++++++++++----------- drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 23 +- drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 3 + drivers/gpu/drm/amd/amdgpu/mmsch_v1_0.h | 57 +++ drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c | 9 +- drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 86 ++-- drivers/gpu/drm/amd/amdgpu/psp_v3_1.h | 4 + drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 222 +++++----- drivers/gpu/drm/amd/amdgpu/soc15.c | 3 +- drivers/gpu/drm/amd/amdgpu/soc15_common.h | 20 +- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 466 +++++++++++++++----- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 224 ++++------ drivers/gpu/drm/amd/include/cgs_common.h | 270 ------------ drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 4 +- .../drm/amd/powerplay/eventmgr/eventsubchains.c | 2 +- .../gpu/drm/amd/powerplay/eventmgr/eventtasks.c | 5 + .../gpu/drm/amd/powerplay/eventmgr/eventtasks.h | 1 + .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 10 + drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c | 21 +- drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h | 24 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 1 + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 264 +++++++----- .../gpu/drm/amd/powerplay/hwmgr/vega10_powertune.c | 23 + .../gpu/drm/amd/powerplay/hwmgr/vega10_powertune.h | 1 + .../gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c | 2 +- .../gpu/drm/amd/powerplay/hwmgr/vega10_thermal.h | 1 + .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 2 +- drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 1 + drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h | 18 +- .../gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c | 55 ++- .../gpu/drm/amd/powerplay/smumgr/vega10_smumgr.h | 2 +- drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 4 +- drivers/gpu/drm/radeon/cik.c | 29 +- drivers/gpu/drm/radeon/evergreen.c | 18 +- drivers/gpu/drm/radeon/r420.c | 8 +- drivers/gpu/drm/radeon/radeon_cs.c | 10 +- drivers/gpu/drm/radeon/radeon_test.c | 7 +- drivers/gpu/drm/radeon/radeon_uvd.c | 2 +- drivers/gpu/drm/radeon/si.c | 29 +- drivers/gpu/drm/ttm/ttm_bo.c | 3 +- include/uapi/drm/amdgpu_drm.h | 24 +- 85 files changed, 1895 insertions(+), 1668 deletions(-)