[pull] radeon and amdgpu drm-next-4.9

Alex Deucher alexdeucher at gmail.com
Fri Sep 16 20:42:43 UTC 2016


Hi Dave,

More radeon and amdgpu changes for 4.9. Highlights:
- Initial SI support for amdgpu (controlled by a Kconfig option)
- misc ttm cleanups
- runtimepm fixes
- S3/S4 fixes
- power improvements
- lots of code cleanups and optimizations

The following changes since commit 7b4d3e297e8a7d3b82e68231ff077e891c370349:

  drm/amdgpu: use memcpy_toio for VCE firmware upload (2016-08-24 16:25:07 -0400)

are available in the git repository at:

  git://people.freedesktop.org/~agd5f/linux drm-next-4.9

for you to fetch changes up to af1f85ddecfa341e684db950c34a1813d36750db:

  drm/ttm: remove cpu_address member from ttm_tt (2016-09-16 15:53:05 -0400)

----------------------------------------------------------------
Alex Deucher (39):
      drm/amdgpu: rename suspend_kms and resume_kms
      drm/amdgpu: track the number of vce rings
      drm/amdgpu/vce3: add support for third vce ring
      drm/amdgpu/si: Add updated smc firmware for SI kickers
      drm/amdgpu/gfx6: drop some dead code
      drm/amdgpu: set runtime pm state to active on resume
      drm/amdgpu: skip suspend/resume on DRM_SWITCH_POWER_DYNAMIC_OFF
      drm/radeon: set runtime pm state to active on resume
      drm/radeon: skip suspend/resume on DRM_SWITCH_POWER_DYNAMIC_OFF
      drm/amdgpu: handle runtime pm correctly in amdgpu_driver_open_kms
      drm/radeon: handle runtime pm correctly in amdgpu_driver_open_kms
      drm/amdgpu: handle runtime pm in drm pre/post close
      drm/radeon: handle runtime pm in drm pre/post close
      drm/amdgpu: wire up a pci shutdown callback
      drm/radeon: wire up a pci shutdown callback
      drm/amdgpu/si/dpm: make a bunch of things static
      drm/amdgpu/si/dpm: fix symbol conflicts with radeon
      drm/amdgpu: handle runtime pm in fbcon (v2)
      drm/radeon: handle runtime pm in fbcon (v2)
      drm/amdgpu/si: fix ring size for compute
      drm/amdgpu/gfx6: drop duplicate code
      drm/amdgpu/gfx6: add ring_emit_cntxcntl
      drm/amdgpu/gfx6: drop gds_switch callback
      drm/amdgpu/sdma3: drop unused functions
      drm/amdgpu/ring: add an interface to get dma frame and ib size
      drm/amdgpu/gfx6: add ring callbacks for ib and dma frame size
      drm/amdgpu/gfx7: add ring callbacks for ib and dma frame size
      drm/amdgpu/gfx8: add ring callbacks for ib and dma frame size
      drm/amdgpu/si_dma: add ring callbacks for ib and dma frame size
      drm/amdgpu/cik_sdma: add ring callbacks for ib and dma frame size
      drm/amdgpu/sdma2.4: add ring callbacks for ib and dma frame size
      drm/amdgpu/sdma3: add ring callbacks for ib and dma frame size
      drm/amdgpu/uvd4.2: add ring callbacks for ib and dma frame size
      drm/amdgpu/uvd5: add ring callbacks for ib and dma frame size
      drm/amdgpu/uvd6: add ring callbacks for ib and dma frame size
      drm/amdgpu/vce: add common ring callbacks for ib and dma frame size
      drm/amdgpu/vce2: add ring callbacks for ib and dma frame size
      drm/amdgpu/vce3: add ring callbacks for ib and dma frame size
      drm/amdgpu: use the new ring ib and dma frame size callbacks (v2)

Alexandre Courbot (1):
      drm/ttm: remove cpu_address member from ttm_tt

Baoyou Xie (6):
      drm/amdgpu: add missing header dependencies
      drm/amdgpu: mark symbols static where possible
      drm/amd/powerplay/fiji: mark symbols static where possible
      drm/amd/powerplay/polaris10: mark symbols static where possible
      drm/amdgpu: clean function declarations in amdgpu_ttm.c up
      drm/radeon/radeon_device: remove unused function

Christian König (13):
      drm/amdgpu: only try again if we actually run into -ENOMEM
      drm/amdgpu: prevent command submission failures under memory pressure v2
      drm/amdgpu: fix GTT offset handling
      drm/amdgpu: bind GTT on demand
      drm/ttm: use ffs in ttm_mem_type_from_place
      drm/ttm: rework handling of private mem types
      drm/ttm: remove unused placement flags
      drm/ttm: move placement structures into ttm_placement.h
      drm/amdgpu: validate size and offset of user fence BO
      drm/amdgpu: add AMDGPU_BO_INVALID_OFFSET
      drm/amdgpu: unbind GTT only when it is bound
      drm/amdgpu: use explicit GTT limit for evictions
      drm/amdgpu: use explicit limit for VRAM<->GTT moves

Chunming Zhou (2):
      drm/amdgpu: link all gtt when binding them V2
      drm/amdgpu: add gart recovery by gtt list V2

Edward O'Callaghan (1):
      amd/powerplay: use kmemdup instead of kmalloc + memcpy

Flora Cui (1):
      drm/amdgpu: update gart_pin_size if bo is in GTT

Huang Rui (5):
      drm/amdgpu: introduce pcie port read/write entry
      drm/amdgpu: use DRM print instead of printk
      drm/amdgpu: move some release handles into fail labels (v2)
      drm: modify drm_global_item_ref to avoid two times of writing ref->object
      drm/amdgpu: use error label to handle exceptional case

Jordan Lazare (2):
      drm/amd/powerplay: Remove unused variable causing compile warning
      drm/amdgpu/vi: Use correct external_rev_id for stoney

Junwei Zhang (2):
      drm/amdgpu: add a new helper to free a BO in kernel allocations
      drm/amdgpu: free the BO in kernel by helper amdgpu_bo_free_kernel()

Ken Wang (14):
      drm/amdgpu: add SI asics types v2
      drm/amdgpu: add si header files v4
      drm/amdgpu: add graphic memory controller implementation for si v7
      drm/amdgpu: add interupt handler implementation for si v3
      drm/amdgpu: add display controller implementation for si v10
      drm/amdgpu: atombios change for dce6 to work v3
      drm/amdgpu: add graphic pipeline implementation for si v8
      drm/amdgpu: add DMA implementation for si v8
      drm/amdgpu: add si implementation v10
      drm/amdgpu: add all the components for si into Makefile/kconfig v3
      drm/amdgpu: add si ip blocks setup v3
      drm/amdgpu: add si specific logic into the device initialize function v3
      drm/amdgpu: Add SI Family information
      drm/amdgpu: add si pciids v2

Marek Olšák (1):
      drm/amdgpu: throttle buffer migrations at CS using a fixed MBps limit (v2)

Maruthi Bayyavarapu (1):
      drm/amdgpu: add SI DPM support (v4)

Maruthi Srinivas Bayyavarapu (4):
      drm/amdgpu: add si dpm support in amdgpu_atombios
      drm/amdgpu: add SI SMC support
      drm/amdgpu: enable SI DPM
      drm/amdgpu: add VCE VM mode support

Michel Dänzer (1):
      drm/amdgpu/si: Call amdgpu_ttm_set_active_vram_size from si_dma_start/stop

Monk Liu (4):
      drm/amdgpu:add switch buffer to end of CS (v2)
      drm/amdgpu: new method to sync ce&de
      drm/amdgpu: change job->ctx field name
      drm/amdgpu:implement CONTEXT_CONTROL (v5)

Rex Zhu (28):
      drm/amdgpu: refine function name for consistency
      drm/amd/powerplay: add bypass mode for vce 2.0.
      drm/amdgpu: add vce bypass mode for tonga.
      drm/amdgpu: add support for getting sub_device id and     sub_vendor_id in cgs interface.
      drm/amd/powerplay: get system info by cgs interface.
      drm/amd/powerplay: simplify struct amd_pp_init.
      drm/amdgpu: refine uvd gate logic for CI.
      drm/amd/powerplay: refine struct name for code style reason.
      drm/amd/powerplay: add vce state tables initialize for ppt v1.
      drm/amd/powerplay: refine struct name for coding style reason.
      drm/amd/powerplay: original power state table should not be changed.
      drm/amd/powerplay: enable/disable auto thermal throttle for tonga.
      drm/amd/powerplay: fix issue power containment not enabled on Tonga.
      drm/amd/powerplay: calculate flexible array member's address.
      drm/amd/powerplay: declare functions instand of include header file.
      drm/amd/powerplay: mark symbols static where possible on tonga/iceland.
      drm/amd/powerplay: add feature flags in hwmgr to enable/disable special features.
      drm/amd/powerplay: add module parameter to mask pp features
      drm/amd/powerplay: initialize platform caps in hwmgr_init.
      drm/amd/powerplay: add helper function to get voltage id in votage table
      drm/amd/powerplay: wrap get evv voltage functions
      drm/amd/powerplay: move smu related variable definitions to smumgr.
      drm/amd/powerplay: delete duplicated function and definition.
      drm/amd/powerplay: rename tonga_processpptable* to processpptable_v1_0*.
      drm/amd/powerplay: add pp_table_version in hwmgr.
      drm/amd/powerplay: add pptable point check before use it
      drm/amdgpu: not set cg for vce/uvd in late init.
      drm/amd/powerplay: Partially revert change initialize platform caps

Tom St Denis (25):
      drm/amd/amdgpu: Fix memleak in cz_parse_power_table()
      drm/amd/amdgpu: Clean up memory leak in cz_dpm_init().
      drm/amd/amdgpu: Tidy up cz_dpm.c
      drm/amd/powerplay:  Fix CZ SMU firmware load check (v4)
      drm/amd/powerplay: Tidy up cz SMU manager
      drm/amd/powerplay: Fix up return codes in cz SMU manager
      drm/amd/powerplay: Only load SDMA0/MEC firmware once on Stoney (v2)
      drm/amd/amdgpu: debugfs SMC addresses are byte addresses
      drm/amd/amdgpu: Add GRBM lock to various SI functions
      drm/amd/amdgpu: Simplify mask creation in gfx6
      drm/amd/amdgpu: Various tidy ups for gfx6
      drm/amd/amdgpu: Merge get_rptr functions in gfx6
      drm/amd/amdgpu: Merge get_rptr functions in gfx7
      drm/amd/amdgpu: Merge get_rptr functions in gfx8
      drm/amd/amdgpu: Merge get_wptr functions in gfx6
      drm/amd/amdgpu: Tidy up SI DMA code
      drm/amd/amdgpu: Allow calling si_dpm_fini at any point
      drm/amd/amdgpu: Clean up SI DPM table assignments
      drm/amd/amdgpu: Correct whitespace in SI DPM code
      drm/amd/amdgpu: Tidy up SI IH code
      drm/amd/amdgpu: Tidy up SI SMC code (v2)
      drm/amd/amdgpu: Comment out currently unused SI DPM struct
      drm/amd/amdgpu: Convert messages in gmc v6 to dev_*()
      drm/amd/amdgpu: Remove double lock from gfx v6
      drm/amd/amdgpu: Fix return values in SI DPM code

jimqu (1):
      drm/amd/amdgpu: S4 issue for amdgpu (v2)

 drivers/gpu/drm/amd/amdgpu/Kconfig                 |    7 +
 drivers/gpu/drm/amd/amdgpu/Makefile                |    2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu.h                |   56 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c       |  158 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h       |   16 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c            |   10 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c             |  275 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         |  103 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c            |  142 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c             |   28 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c             |   31 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c             |   16 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c            |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c            |   23 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c         |   41 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h         |    4 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_pll.c            |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c      |   14 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c           |   19 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c            |  122 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h            |   15 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c          |   25 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c            |   19 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c            |   22 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h            |    2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |    3 +-
 drivers/gpu/drm/amd/amdgpu/atombios_crtc.c         |    8 +-
 drivers/gpu/drm/amd/amdgpu/atombios_i2c.c          |    1 +
 drivers/gpu/drm/amd/amdgpu/ci_dpm.c                |    6 +-
 drivers/gpu/drm/amd/amdgpu/cik_sdma.c              |   18 +
 drivers/gpu/drm/amd/amdgpu/cz_dpm.c                |   47 +-
 drivers/gpu/drm/amd/amdgpu/cz_smc.c                |    6 +-
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c              | 3160 ++++++++
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.h              |   29 +
 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c              | 3233 ++++++++
 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.h              |   29 +
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c              |   76 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c              |  120 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c              | 1071 +++
 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.h              |   29 +
 drivers/gpu/drm/amd/amdgpu/iceland_smc.c           |    8 +-
 drivers/gpu/drm/amd/amdgpu/r600_dpm.h              |  127 +
 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c             |   18 +
 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c             |   43 +-
 drivers/gpu/drm/amd/amdgpu/si.c                    | 1965 +++++
 drivers/gpu/drm/amd/amdgpu/si.h                    |   33 +
 drivers/gpu/drm/amd/amdgpu/si_dma.c                |  915 +++
 drivers/gpu/drm/amd/amdgpu/si_dma.h                |   29 +
 drivers/gpu/drm/amd/amdgpu/si_dpm.c                | 7993 ++++++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/si_dpm.h                | 1015 +++
 drivers/gpu/drm/amd/amdgpu/si_ih.c                 |  299 +
 drivers/gpu/drm/amd/amdgpu/si_ih.h                 |   29 +
 drivers/gpu/drm/amd/amdgpu/si_smc.c                |  273 +
 drivers/gpu/drm/amd/amdgpu/sislands_smc.h          |  422 ++
 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c              |   16 +
 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c              |   16 +
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c              |   29 +
 drivers/gpu/drm/amd/amdgpu/vce_v2_0.c              |   80 +-
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c              |  148 +-
 drivers/gpu/drm/amd/amdgpu/vi.c                    |    2 +-
 drivers/gpu/drm/amd/amdgpu/vid.h                   |    4 +
 drivers/gpu/drm/amd/include/amd_shared.h           |    7 +-
 .../drm/amd/include/asic_reg/si/clearstate_si.h    |  941 +++
 drivers/gpu/drm/amd/include/asic_reg/si/si_reg.h   |  105 +
 drivers/gpu/drm/amd/include/asic_reg/si/sid.h      | 2426 ++++++
 drivers/gpu/drm/amd/include/atombios.h             |    2 +
 drivers/gpu/drm/amd/include/cgs_common.h           |    2 +
 drivers/gpu/drm/amd/powerplay/amd_powerplay.c      |   10 +-
 drivers/gpu/drm/amd/powerplay/eventmgr/psm.c       |    5 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/Makefile       |    2 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c   |   43 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c |    6 +-
 .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c  |   34 -
 drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c        |  166 +-
 .../gpu/drm/amd/powerplay/hwmgr/iceland_hwmgr.c    |   14 +-
 .../powerplay/hwmgr/polaris10_clockpowergating.c   |   10 +-
 .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c  |  102 +-
 .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.h  |    5 +-
 .../drm/amd/powerplay/hwmgr/polaris10_powertune.h  |   13 -
 .../drm/amd/powerplay/hwmgr/polaris10_thermal.c    |    6 +-
 .../hwmgr/{tonga_pptable.h => pptable_v1_0.h}      |    2 +-
 ...a_processpptables.c => process_pptables_v1_0.c} |  280 +-
 ...a_processpptables.h => process_pptables_v1_0.h} |   10 +-
 .../gpu/drm/amd/powerplay/hwmgr/processpptables.c  |    2 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c  |  111 +-
 .../gpu/drm/amd/powerplay/hwmgr/tonga_powertune.c  |    3 -
 drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h  |    3 -
 .../gpu/drm/amd/powerplay/inc/hardwaremanager.h    |    1 -
 drivers/gpu/drm/amd/powerplay/inc/hwmgr.h          |   61 +-
 drivers/gpu/drm/amd/powerplay/inc/power_state.h    |   22 +-
 drivers/gpu/drm/amd/powerplay/inc/pp_debug.h       |    3 +
 drivers/gpu/drm/amd/powerplay/inc/smumgr.h         |    7 +-
 drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c   |   46 +-
 .../drm/amd/powerplay/smumgr/polaris10_smumgr.c    |    1 -
 .../drm/amd/powerplay/smumgr/polaris10_smumgr.h    |   20 +
 drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c      |    7 +-
 drivers/gpu/drm/drm_global.c                       |   24 +-
 drivers/gpu/drm/qxl/qxl_object.c                   |    8 +-
 drivers/gpu/drm/qxl/qxl_ttm.c                      |   12 +-
 drivers/gpu/drm/radeon/radeon_device.c             |   19 +-
 drivers/gpu/drm/radeon/radeon_drv.c                |   30 +-
 drivers/gpu/drm/radeon/radeon_fb.c                 |   28 +
 drivers/gpu/drm/radeon/radeon_kms.c                |   17 +-
 drivers/gpu/drm/ttm/ttm_bo.c                       |   14 +-
 drivers/gpu/drm/ttm/ttm_page_alloc_dma.c           |    2 -
 drivers/gpu/drm/ttm/ttm_tt.c                       |    7 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h                |    8 +-
 include/drm/ttm/ttm_bo_api.h                       |   32 +-
 include/drm/ttm/ttm_bo_driver.h                    |    2 -
 include/drm/ttm/ttm_placement.h                    |   56 +-
 include/uapi/drm/amdgpu_drm.h                      |    1 +
 111 files changed, 26351 insertions(+), 842 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_v6_0.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/r600_dpm.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si_dma.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si_dma.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si_dpm.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si_dpm.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si_ih.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si_ih.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/si_smc.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/sislands_smc.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/si/clearstate_si.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/si/si_reg.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/si/sid.h
 rename drivers/gpu/drm/amd/powerplay/hwmgr/{tonga_pptable.h => pptable_v1_0.h} (99%)
 rename drivers/gpu/drm/amd/powerplay/hwmgr/{tonga_processpptables.c => process_pptables_v1_0.c} (81%)
 rename drivers/gpu/drm/amd/powerplay/hwmgr/{tonga_processpptables.h => process_pptables_v1_0.h} (81%)


More information about the amd-gfx mailing list