[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