[pull] radeon and amdgpu drm-next-4.14

Alex Deucher alexdeucher at gmail.com
Thu Jul 27 16:00:53 UTC 2017


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


More information about the amd-gfx mailing list