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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel