Hi Dave, New features for 4.14: - Stop reprogramming the MC, the vbios already does this in asic_init - Reduce internal gart to 256M (this does not affect the ttm GTT pool size) - Initial support for huge pages - Rework bo migration logic - Lots of improvements for vega10 - Powerplay fixes - Additional Raven enablement - SR-IOV improvements - Bug fixes - Code cleanup The following changes since commit 6419ec78c6726aa54ff103aceffbf19d546d3d1b: Merge branch 'drm-next-4.13' of git://people.freedesktop.org/~agd5f/linux into drm-next (2017-07-13 13:38:22 +1000) are available in the git repository at: git://people.freedesktop.org/~agd5f/linux drm-next-4.14 for you to fetch changes up to 799c7b20b26078e1e3b1c7d38e9ffce9bb56348d: drm/amdgpu: fix header on gfx9 clear state (2017-07-27 11:17:45 -0400) ---------------------------------------------------------------- Alex Deucher (31): drm/amdgpu: use kernel is_power_of_2 rather than local version drm/amdgpu: disable vga render in dce hw_init drm/amdgpu/gmc8: use the vram location programmed by the vbios drm/amdgpu/gmc7: use the vram location programmed by the vbios drm/amdgpu/gmc6: use the vram location programmed by the vbios drm/amdgpu/gmc8: drop fb location programming drm/amdgpu/gmc7: drop fb location programming drm/amdgpu/gmc6: drop fb location programming drm/amdgpu: drop set_vga_render_state from display funcs drm/amdgpu: remove *_mc_access from display funcs drm/amdgpu/atombios: use bios_scratch_reg_offset for atombios drm/amdgpu: unify some atombios/atomfirmware scratch reg functions drm/amdgpu/atombios: add function for whether we need asic_init drm/amdgpu/atom: fix atom_fw check drm/amdgpu/atomfirmware: implement vram_width for APUs drm/amdgpu/gmc9: get vram width from atom for Raven drm/amdgpu: add nbio 6.1 register init function drm/amdgpu/soc15: init nbio registers for vega10 drm/amdgpu: check scratch registers to see if we need post (v2) drm/amdgpu: add get_clock_info for atomfirmware drm/amdgpu: call atomfirmware get_clock_info for atomfirmware systems drm/amdgpu/soc15: drop dead function drm/amdgpu: implement si_read_bios_from_rom drm/amdgpu/gfx: keep all compute queues on the same pipe drm/amdgpu: remove VM shadow WARN_ONs drm/amdgpu: enable huge page handling in the VM v5 drm/amdgpu/gmc6: disable legacy vga features in gmc init (v2) drm/amdgpu/gmc7: disable legacy vga features in gmc init drm/amdgpu/gmc8: disable legacy vga features in gmc init drm/amdgpu/gmc9: disable legacy vga features in gmc init drm/amdgpu: fix header on gfx9 clear state Alex Xie (2): drm/amdgpu: Free resources of bo_list when idr_alloc fails drm/amdgpu: Fix blocking in RCU critical section(v2) Arvind Yadav (3): drm: radeon: radeon_ttm: constify ttm_place structures. drm: radeon: constify drm_prop_enum_list structures. drm: amd: amdgpu: constify ttm_place structures. Christian König (31): drm/amdgpu: simplify VM shadow handling v2 drm/amdgpu: cleanup initializing gtt_size drm/amdgpu: fix amdgpu_debugfs_gem_bo_info drm/amdgpu: move ring helpers to amdgpu_ring.h drm/amdgpu: fix amdgpu_ring_write_multiple drm/amdgpu: allow flushing VMID0 before IB execution as well drm/amdgpu: add vm_needs_flush parameter to amdgpu_copy_buffer drm/amdgpu: bind BOs to TTM only once drm/amdgpu: bind BOs with GTT space allocated directly v2 drm/amdgpu: remove stale TODO comment drm/amdgpu: trace VM flags as 64bits drm/amdgpu: reserve the first 2x512 pages of GART drm/amdgpu: add amdgpu_gart_map function v2 drm/amdgpu: use the GTT windows for BO moves v2 drm/amdgpu: stop mapping BOs to GTT drm/amdgpu: remove maximum BO size limitation v2 drm/amdgpu: use TTM values instead of MC values for the info queries drm/amdgpu: move GART struct and function into amdgpu_gart.h v2 drm/amdgpu: remove gtt_base_align handling drm/amdgpu: consistent name all GART related parts drm/amdgpu: limit the GTT manager address space drm/amdgpu: add new gttsize module parameter v2 drm/amdgpu: change gartsize default to 256MB drm/amdgpu: fix VM flush for CPU based updates drm/amdgpu: fix amdgpu_vm_bo_wait drm/amdgpu: trace setting VM page tables with the CPU as well drm/amdgpu: flush the HDP only once for CPU based VM updates drm/amdgpu: make sure BOs are always kunmapped drm/amdgpu: map VM BOs for CPU based updates only once drm/amdgpu: fix amdgpu_bo_gpu_accessible() drm/amdgpu: increase fragmentation size for Vega10 v2 Chunming Zhou (1): drm/amdgpu: ttm_bind only when user needs gpu_addr in bo pin Colin Ian King (1): drm/amdgpu: make arrays pctl0_data and pctl1_data static Dan Carpenter (1): drm/amdgpu: Off by one sanity checks Egbert Eich (1): drm/radeon: Set depth on low mem to 16 bpp instead of 8 bpp Emily Deng (2): drm/amdgpu/gmc8: SRIOV need to program fb location drm/amdgpu/virtual_dce: Remove the rmmod error message Eric Huang (1): drm/amd/powerplay: fix AVFS voltage offset for Vega10 Evan Quan (9): drm/amdgpu: drop SMU_DRIVER_IF_VERSION check for some vega10 variants drm/amdgpu: add ACG SMU firmware for other vega10 variants drm/amd/powerplay: fixed wrong data type declaration for ppfeaturemask drm/amd/powerplay: added index gc cac read/write apis for vega10 drm/amd/powerplay: added new se_cac_idx r/w APIs v2 drm/amd/powerplay: added soc15 support for new se_cac_idx APIs drm/amd/powerplay: added support for new se_cac_idx APIs to cgs drm/amd/powerplay: added grbm_idx_mutex lock/unlock to cgs v2 drm/amd/powerplay: added didt support for vega10 Felix Kuehling (4): drm/amdgpu: Enable SDMA context switching for CIK drm/amdgpu: Make SDMA phase quantum configurable drm/ttm: Implement vm_operations_struct.access v2 drm/amdgpu: Implement ttm_bo_driver.access_memory callback v2 Gavin Wan (1): drm/amdgpu: Support passing amdgpu critical error to host via GPU Mailbox. Gustavo A. R. Silva (1): drm/radeon: add header comment for clarification to vce_v2_0_enable_mgcg() Hawking Zhang (2): drm/amdgpu: enable 4 level page table on raven (v3) drm/amdgpu: update pctl1 ram index/data for mmhub on raven Huang Rui (9): drm/amdgpu: add check when no firmware need to load drm/amdgpu: remove superfluous check drm/amdgpu: fix missed asd bo free when hw_fini drm/amdgpu: make psp cmd buffer as a reserve memory drm/amdgpu: set firmware loading type as direct by default for raven drm/amdgpu: fix the incorrect scratch reg number on gfx v9 drm/amdgpu: fix the incorrect scratch reg number on gfx v8 drm/amdgpu: fix the incorrect scratch reg number on gfx v7 drm/amdgpu: fix the incorrect scratch reg number on gfx v6 Jay Cornwall (1): drm/amdgpu: Send no-retry XNACK for all fault types Jim Qu (1): drm/amd/amdgpu: fix si_enable_smc_cac() failed issue John Brooks (4): drm/amdgpu: Add vis_vramlimit module parameter drm/amdgpu: Throttle visible VRAM moves separately drm/amdgpu: Set/clear CPU_ACCESS flag on page fault and move to VRAM drm/amdgpu: Don't force BOs into visible VRAM for page faults Junwei Zhang (5): drm/amdgpu: remove unncessary code in psp v10 ring init func drm/amdgpu: add init microcode function for psp v10 drm/amdgpu: add ring_create function for psp v10 drm/amdgpu: add ring_destroy for psp v10 drm/amdgpu: disable firmware loading for psp v10 Ken Wang (1): drm/amdgpu: add workaround for S3 issues on some vega10 boards Kent Russell (1): drm/amdgpu: Update default vram_page_split description Mario Kleiner (2): drm/radeon: Allow vblank_disable_immediate. drm/amdgpu: Allow vblank_disable_immediate. Michel Dänzer (1): drm/amdgpu: Try evicting from CPU visible to invisible VRAM first Monk Liu (2): drm/amdgpu:fix world switch hang drm/amdgpu:fix gfx fence allocate size Nicolai Hähnle (2): drm/amd/sched: print sched job id in amd_sched_job trace drm/amdgpu/gfx9: simplify and fix GRBM index selection Rex Zhu (10): drm/amd/powerplay: add avfs profiling_info_v4_2 support on Vega10. drm/amd/powerplay: export ACG related smu message for vega10 drm/amd/powerplay: add acg support in pptable for vega10 drm/amd/powerplay: enable ACG feature on vega10. drm/amd/powerplay: fix avfs state update error on polaris. drm/amd/powerplay: refine avfs enable code on fiji. drm/amd/powerplay: move VI common AVFS code to smu7_smumgr.c drm/amd/powerplay: add avfs check for old asics on Vi. drm/amd/powerplay: add profile mode for vega10. drm/amd/powerplay: add support for 3DP 4K at 120Hz on vega10. Shaoyun Liu (2): drm/amdgpu: Add WREG32_SOC15_NO_KIQ macro define drm/amdgpu: NO KIQ usage on nbio hdp flush routine Xiangliang Yu (2): drm/amdgpu: correct clock info for SRIOV drm/amdgpu: reduce the time of reading VBIOS Yong Zhao (1): drm/amdgpu: Correctly establish the suspend/resume hook for amdkfd Zhang, Jerry (1): drm/amdgpu: read reg in each iterator of psp_wait_for loop ozeng (1): drm/amdgpu: Changed CU reservation golden settings shaoyunl (1): drm/amdgpu: Enable SDMA_CNTL.ATC_L1_ENABLE for SDMA on CZ drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 122 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 32 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 161 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.h | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 17 +- drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 12 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 24 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 92 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 181 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 22 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 79 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.h | 77 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 22 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 25 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 7 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 19 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 12 - drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 70 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 63 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 5 + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 26 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 40 + drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 52 +- drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 18 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 368 ++++-- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.c | 85 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.h | 62 + drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 289 +++-- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 10 +- drivers/gpu/drm/amd/amdgpu/cik.c | 9 +- drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 60 + drivers/gpu/drm/amd/amdgpu/clearstate_gfx9.h | 41 +- drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 133 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 78 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 116 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 80 +- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 100 +- drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 32 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 28 +- drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c | 15 +- drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 71 +- drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 68 +- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 81 +- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 139 ++- drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 108 +- drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 46 +- drivers/gpu/drm/amd/amdgpu/mxgpu_ai.h | 4 +- drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c | 1 + drivers/gpu/drm/amd/amdgpu/mxgpu_vi.h | 4 +- drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c | 15 +- drivers/gpu/drm/amd/amdgpu/nbio_v6_1.h | 1 + drivers/gpu/drm/amd/amdgpu/nbio_v7_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/psp_v10_0.c | 96 +- drivers/gpu/drm/amd/amdgpu/psp_v10_0.h | 5 + drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 10 +- drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 42 +- drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 34 +- drivers/gpu/drm/amd/amdgpu/si.c | 28 + drivers/gpu/drm/amd/amdgpu/si_dpm.c | 1 + drivers/gpu/drm/amd/amdgpu/soc15.c | 66 +- drivers/gpu/drm/amd/amdgpu/soc15_common.h | 7 + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +- drivers/gpu/drm/amd/include/atomfirmware.h | 63 + drivers/gpu/drm/amd/include/cgs_common.h | 6 + drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c | 239 ++-- drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h | 8 + drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 9 + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 276 ++++- drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h | 15 +- .../gpu/drm/amd/powerplay/hwmgr/vega10_powertune.c | 1291 ++++++++++++++++++++ .../gpu/drm/amd/powerplay/hwmgr/vega10_powertune.h | 16 + .../amd/powerplay/hwmgr/vega10_processpptables.c | 88 +- .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 5 + drivers/gpu/drm/amd/powerplay/inc/pp_debug.h | 6 + drivers/gpu/drm/amd/powerplay/inc/pp_soc15.h | 2 + drivers/gpu/drm/amd/powerplay/inc/smu9.h | 13 +- drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h | 5 +- drivers/gpu/drm/amd/powerplay/inc/smumgr.h | 3 + drivers/gpu/drm/amd/powerplay/inc/vega10_ppsmc.h | 4 + drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c | 19 + drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.h | 1 + drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c | 184 +-- drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.h | 11 - .../gpu/drm/amd/powerplay/smumgr/polaris10_smc.c | 4 +- .../drm/amd/powerplay/smumgr/polaris10_smumgr.c | 34 +- .../drm/amd/powerplay/smumgr/polaris10_smumgr.h | 12 +- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 6 +- drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.h | 8 +- drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 11 +- .../gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c | 30 +- drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h | 9 +- drivers/gpu/drm/radeon/radeon_display.c | 12 +- drivers/gpu/drm/radeon/radeon_fb.c | 7 +- drivers/gpu/drm/radeon/radeon_irq_kms.c | 4 + drivers/gpu/drm/radeon/radeon_ttm.c | 2 +- drivers/gpu/drm/radeon/vce_v2_0.c | 4 + drivers/gpu/drm/ttm/ttm_bo_vm.c | 79 +- include/drm/ttm/ttm_bo_driver.h | 17 + 110 files changed, 4318 insertions(+), 1761 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_gart.h create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.h