[pull] radeon and amdgpu drm-next-4.3

Alex Deucher alexdeucher at gmail.com
Mon Aug 17 14:17:51 PDT 2015


Hi Dave,

amdgpu and radeon changes for 4.3. Highlights:
- Fiji support for amdgpu.
- CGS support for amdgpu.  This is a new driver
  internal cross-component API.
- Initial GPU scheduler for amdgpu.  Still disabled
  by default.
- Lots of bug fixes and optimizations

The following changes since commit 294947a5c7f6d228b70fcc51a89527e74a38a2c5:

  Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next (2015-08-17 16:03:48 +1000)

are available in the git repository at:


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

for you to fetch changes up to 05906dec7d7daf197b9b773295c95ad6b9af2a5a:

  drm/amdgpu: wait on page directory changes. v2 (2015-08-17 16:51:23 -0400)

----------------------------------------------------------------
Alex Deucher (10):
      drm/radeon/dce6: assign different audio pins to each encoder
      drm/amdgpu: Implement irq interfaces for CGS
      drm/amdgpu: cleanup context structure v2
      drm/amdgpu: add fence suspend/resume functions
      drm/amdgpu: move some atombios definitions to common folder (v2)
      drm/amdgpu: handle conditional support for CIK properly
      drm/amdgpu: add support for VCE 3.x on Fiji
      drm/amdgpu: remove VM workaround for Fiji
      drm/amdgpu: add scheduler initialization
      drm/amdgpu: disable GPU reset by default

Bas Nieuwenhuizen (1):
      drm/amdgpu: wait on page directory changes. v2

Christian König (33):
      drm/amdgpu: deal with foreign fences in amdgpu_sync
      drm/amdgpu: add user fence context map v2
      drm/amdgpu: remove amdgpu_fence_recreate
      drm/amdgpu: fix context memory leak
      drm/amdgpu: fix signed overrun in amdgpu_ctx_get_fence
      drm/amdgpu: no updates shouldn't cause vm flush v2
      drm/amdgpu: rework vm_grab_id interface
      drm/amdgpu: fix UVD/VCE fence handling
      drm/amdgpu: fix syncing to VM updates
      drm/amdgpu: stop using addr to check for BO move v3
      drm/amdgpu: clean up amd sched wait_ts and wait_signal
      drm/amdgpu: reorder the code to avoid forward declerations
      drm/amdgpu: fix bo list handling in CS
      drm/amdgpu: cleanup ctx_mgr init/fini
      drm/amdgpu: stop leaking the ctx id into the scheduler v2
      drm/amdgpu: cleanup amdgpu_ctx inti/fini v2
      drm/amdgpu: remove unused parent entity
      drm/amdgpu: fix coding style in a couple of places
      drm/amdgpu: merge amd_sched_entity and amd_context_entity v2
      drm/amdgpu: cleanup and fix scheduler fence handling v2
      drm/amdgpu: remove amdgpu_fence_signaled
      drm/amdgpu: use the reservation obj wait for the UVD msg
      drm/amdgpu: remove amdgpu_fence_wait
      drm/amdgpu: remove duplicate amdgpu_fence_process implementation
      drm/amdgpu: cleanup amdgpu_fence_ring_wait_seq
      drm/amdgpu: remove VI hw bug workaround v3
      drm/amdgpu: fix scheduler fence implementation
      drm/amdgpu: remove unecessary scheduler fence callbacks
      drm/amdgpu: remove amd_sched_wait_emit v2
      drm/amdgpu: remove scheduler fence list v2
      drm/amdgpu: fix UVD return code checking
      drm/amdgpu: fix waiting for all fences before flipping
      drm/amdgpu: cleanup sheduler rq handling v2

Chunming Zhou (44):
      drm/amd: Add CGS interfaces
      drm/amdgpu: Implement mmio callbacks for CGS
      drm/amdgpu: Implement the pciconfig callbacks for CGS
      drm/amdgpu: add atom interfaces for CGS
      drm/amdgpu: implement cgs gpu memory callbacks
      drm/amdgpu: always enable EOP interrupt v2
      drm/amdgpu: add context entity init
      drm/amdgpu: disable hw semaphore with scheduler
      drm/amdgpu: add backend implementation of gpu scheduler (v2)
      drm/amdgpu: add bo list copy
      drm/amdgpu: dispatch jobs in cs
      drm/amdgpu: use scheduler user seq instead of previous user seq
      drm/amdgpu: make sure the fence is emitted before ring to get it.
      drm/amdgpu: prepare job before push to sw queue for pte ring
      drm/amdgpu: add kernel ctx support (v2)
      drm/amdgpu: dispatch job for vm
      drm/amdgpu: add sched isr to fence process
      drm/amdgpu: protect fence_process from multiple context
      drm/amdgpu: add check for callback
      drm/amdgpu: wait forever for wait emit
      drm/amdgpu: fix seq in ctx_add_fence
      drm/amdgpu: add helper function for kernel submission
      drm/amdgpu: Use gpu scheduler for gfx ring ib test
      drm/amdgpu: use gpu scheduler for sdma ib test
      drm/amdgpu: use scheduler for UVD ib test
      drm/amdgpu: use scheduler for VCE ib test
      drm/amdgpu: use kernel fence diretly in amdgpu_bo_fence
      drm/amdgpu: use kernel fence for last_pt_update
      drm/amdgpu: change uvd ib test to use kernel fence directly
      drm/amdgpu: use kernel fence for vce ib test
      drm/amdgpu: use kernel fence in amdgpu_test
      drm/amdgpu: use kernel fence for gfx ib test
      drm/amdgpu: use kernel fence for sdma ib test
      drm/amdgpu: add kernel fence in ib_submit_kernel_helper
      drm/amdgpu: fix null pointer by previous cleanup
      drm/amdgpu: move sched job process from isr to fence callback
      Revert "drm/amdgpu: return new seq_no for amd_sched_push_job"
      drm/amdgpu: process sched job exactly triggered by fence signal
      drm/amdgpu: use amd_sched_job in its backend ops
      drm/amdgpu: use kernel submit helper in vm
      drm/amd: add scheduler fence implementation (v2)
      drm/amdgpu: add reference for **fence
      drm/amdgpu: fix unnecessary wake up
      drm/amdgpu: move prepare work out of scheduler to cs_ioctl

Daniel Vetter (4):
      drm/radeon: Don't take dev->struct_mutex in bo_force_delete
      drm/radeon: Don't take dev->struct_mutex in pm functions
      drm/amdgpu: Don't take dev->struct_mutex in bo_force_delete
      drm/amdgpu: don't grab dev->struct_mutex in pm functions

David Zhang (10):
      drm/amdgpu: Add Fiji DID 0x7300 common support
      drm/amdgpu: Add Fiji support to the GMC 8.5 IP module
      drm/amdgpu: Add Fiji support to IH module
      drm/amdgpu: Add Fiji smu 7.1.3 headers (v2)
      drm/amdgpu: Add Fiji support to SMC and DPM (v2)
      drm/amdgpu: Add Fiji support to the DCE 10.0 IP module (v2)
      drm/amdgpu: Add Fiji support to the GFX 8.0 IP module (v2)
      drm/amdgpu: Add Fiji support to the SDMA 3.0 IP module
      drm/amdgpu: Add Fiji support to the UVD 6.0 IP module
      drm/amdgpu: Enable the Fiji DID 0x7300 support

Jammy Zhou (16):
      drm/amdgpu: fix one warning message
      drm/amdgpu: add cgs_get_firmware_info interface v2
      drm/amdgpu: fix some typo for cgs definitions
      drm/amdgpu: add some common definitions to amd_shared.h
      drm/amdgpu: add some pptable definitions
      drm/amdgpu: merge amdgpu_family.h into amd_shared.h (v2)
      drm/amd: add basic scheduling framework
      drm/amdgpu: add enable_scheduler module option
      drm/amdgpu: silent the message for GPU scheduler creation
      drm/amdgpu: add amdgpu.sched_jobs option
      drm/amdgpu: add amdgpu.sched_hw_submission option
      drm/amdgpu: some code refinement v2
      drm/amdgpu: return new seq_no for amd_sched_push_job
      drm/amdgpu: add amd_sched_commit
      drm/amdgpu: make last_handled_seq atomic
      drm/amdgpu: add amd_sched_next_queued_seq function

Marek Olšák (1):
      drm/amdgpu: allow userspace to read more debug registers

Thierry Reding (2):
      drm/radeon: Select BACKLIGHT_LCD_SUPPORT
      drm/amdgpu: Select BACKLIGHT_LCD_SUPPORT

monk.liu (8):
      drm/amdgpu: optimize amdgpu_parser_init
      drm/amdgpu: use kernel fence interface when possible
      drm/amdgpu: new implement for fence_wait_any (v2)
      drm/amdgpu: re-implement fence_default_wait
      drm/amdgpu: move wait_queue_head from adev to ring (v2)
      drm/amdgpu: fix type mismatch error
      drm/amdgpu: drop bo_list_clone when no scheduler
      drm/amdgpu: fix duplicated mapping invoke bug

rezhu (1):
      drm/amdgpu: add cgs_interface for pg and cg

 drivers/gpu/drm/Kconfig                            |    2 +
 drivers/gpu/drm/amd/amdgpu/Makefile                |   18 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu.h                |  153 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c         |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c       |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c      |    2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c           |    6 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c        |   33 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c            |  838 +++
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c             |  333 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c            |  223 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         |   33 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c        |   81 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c            |  146 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.h            |    2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c          |  563 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c             |   19 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c             |    2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ih.h             |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c            |    5 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h            |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c            |   16 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c         |   24 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h         |    2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c             |    6 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c           |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c             |   11 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c          |  145 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c           |   58 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_test.c           |   43 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c            |  102 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h            |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c            |  179 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h            |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c             |  274 +-
 drivers/gpu/drm/amd/amdgpu/atombios_encoders.c     |    2 +-
 drivers/gpu/drm/amd/amdgpu/cik.c                   |   12 +-
 drivers/gpu/drm/amd/amdgpu/cik_sdma.c              |   31 +-
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c             |   27 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c             |    4 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c              |    4 +-
 drivers/gpu/drm/amd/amdgpu/fiji_dpm.c              |  181 +
 drivers/gpu/drm/amd/amdgpu/fiji_ppsmc.h            |  182 +
 drivers/gpu/drm/amd/amdgpu/fiji_smc.c              |  853 +++
 .../amd/amdgpu/{amdgpu_family.h => fiji_smumgr.h}  |   52 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c              |   37 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c              |  143 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c              |   10 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c              |   33 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c             |   32 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c             |   62 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c              |    6 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c              |    6 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c              |    6 +-
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c              |    9 +-
 drivers/gpu/drm/amd/amdgpu/vi.c                    |  120 +-
 drivers/gpu/drm/amd/amdgpu/vi_dpm.h                |    2 +-
 drivers/gpu/drm/amd/include/amd_shared.h           |   39 +
 .../gpu/drm/amd/include/asic_reg/smu/smu_7_1_3_d.h | 1246 ++++
 .../drm/amd/include/asic_reg/smu/smu_7_1_3_enum.h  | 1282 +++++
 .../amd/include/asic_reg/smu/smu_7_1_3_sh_mask.h   | 6080 ++++++++++++++++++++
 .../gpu/drm/amd/{amdgpu => include}/atom-bits.h    |    0
 .../gpu/drm/amd/{amdgpu => include}/atom-names.h   |    0
 .../gpu/drm/amd/{amdgpu => include}/atom-types.h   |    0
 drivers/gpu/drm/amd/{amdgpu => include}/atombios.h |    0
 drivers/gpu/drm/amd/include/cgs_common.h           |  624 ++
 drivers/gpu/drm/amd/include/cgs_linux.h            |  135 +
 drivers/gpu/drm/amd/{amdgpu => include}/pptable.h  |    6 +-
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.c      |  462 ++
 drivers/gpu/drm/amd/scheduler/gpu_scheduler.h      |  162 +
 drivers/gpu/drm/amd/scheduler/sched_fence.c        |   78 +
 drivers/gpu/drm/radeon/dce6_afmt.c                 |   29 +-
 drivers/gpu/drm/radeon/radeon_object.c             |    4 +-
 drivers/gpu/drm/radeon/radeon_pm.c                 |    5 -
 74 files changed, 14143 insertions(+), 1164 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/fiji_dpm.c
 create mode 100644 drivers/gpu/drm/amd/amdgpu/fiji_ppsmc.h
 create mode 100644 drivers/gpu/drm/amd/amdgpu/fiji_smc.c
 rename drivers/gpu/drm/amd/amdgpu/{amdgpu_family.h => fiji_smumgr.h} (56%)
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_3_d.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_3_enum.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/smu/smu_7_1_3_sh_mask.h
 rename drivers/gpu/drm/amd/{amdgpu => include}/atom-bits.h (100%)
 rename drivers/gpu/drm/amd/{amdgpu => include}/atom-names.h (100%)
 rename drivers/gpu/drm/amd/{amdgpu => include}/atom-types.h (100%)
 rename drivers/gpu/drm/amd/{amdgpu => include}/atombios.h (100%)
 create mode 100644 drivers/gpu/drm/amd/include/cgs_common.h
 create mode 100644 drivers/gpu/drm/amd/include/cgs_linux.h
 rename drivers/gpu/drm/amd/{amdgpu => include}/pptable.h (98%)
 create mode 100644 drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
 create mode 100644 drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
 create mode 100644 drivers/gpu/drm/amd/scheduler/sched_fence.c


More information about the dri-devel mailing list