linux/drivers/gpu/drm/amd/amdgpu
Andres Rodriguez 6065343a11 drm/amdgpu: guarantee bijective mapping of ring ids for LRU v3
Depending on usage patterns, the current LRU policy may create a
non-injective mapping between userspace ring ids and kernel rings.

This behaviour is undesired as apps that attempt to fill all HW blocks
would be unable to reach some of them.

This change forces the LRU policy to create bijective mappings only.

v2: compress ring_blacklist
v3: simplify amdgpu_ring_is_blacklisted() logic

Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-05-31 16:49:03 -04:00
..
amdgpu.h drm/amdgpu: implement lru amdgpu_queue_mgr policy for compute v4 2017-05-31 16:49:02 -04:00
amdgpu_acp.c drm/virtio: fix busid in a different way, allocate more vbufs. 2016-11-30 14:18:51 +10:00
amdgpu_acp.h
amdgpu_acpi.c drm/amdgpu: Remove checking for atombios 2017-01-27 11:12:39 -05:00
amdgpu_afmt.c gpu: drm: amd/radeon: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-29 23:53:24 -04:00
amdgpu_amdkfd.c drm/amdgpu: avoid KIQ clashing with compute or KFD queues v2 2017-05-31 16:48:58 -04:00
amdgpu_amdkfd.h drm/amdgpu: rename rdev to adev 2017-05-31 16:48:50 -04:00
amdgpu_amdkfd_gfx_v7.c drm/amdgpu: remove duplicate magic constants from amdgpu_amdkfd_gfx*.c 2017-05-31 16:48:55 -04:00
amdgpu_amdkfd_gfx_v8.c drm/amdgpu: remove duplicate magic constants from amdgpu_amdkfd_gfx*.c 2017-05-31 16:48:55 -04:00
amdgpu_atombios.c drm/amdgpu: fix to clear ASIC INIT COMPLETE bit on resuming phase 2017-04-28 17:32:13 -04:00
amdgpu_atombios.h drm/amdgpu: Read vram width from integrated system info table 2017-04-04 14:42:40 -04:00
amdgpu_atomfirmware.c drm/amdgpu/atomfirmware: add function to update engine hang status 2017-05-10 11:23:17 -04:00
amdgpu_atomfirmware.h drm/amdgpu/atomfirmware: add function to update engine hang status 2017-05-10 11:23:17 -04:00
amdgpu_atpx_handler.c gpu: drm: amd/radeon: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-29 23:53:24 -04:00
amdgpu_benchmark.c drm/amdgpu: Fix use of interruptible waiting 2017-04-28 17:33:07 -04:00
amdgpu_bios.c amdgpu: detect if we are using atomfirmware or atombios for vbios (v2) 2017-03-29 23:54:16 -04:00
amdgpu_bo_list.c drm/amdgpu: Avoid using signed integer to store pointer value 2017-04-06 13:28:07 -04:00
amdgpu_cgs.c drm/amdgpu: remove unused and mostly unimplemented CGS functions v2 2017-04-28 17:33:12 -04:00
amdgpu_connectors.c drm/virtio: fix busid in a different way, allocate more vbufs. 2016-11-30 14:18:51 +10:00
amdgpu_connectors.h
amdgpu_cs.c drm/amdgpu: untie user ring ids from kernel ring ids v6 2017-05-31 16:49:01 -04:00
amdgpu_ctx.c drm/amdgpu: untie user ring ids from kernel ring ids v6 2017-05-31 16:49:01 -04:00
amdgpu_device.c drm/amdgpu: implement lru amdgpu_queue_mgr policy for compute v4 2017-05-31 16:49:02 -04:00
amdgpu_display.c Revert "drm/amdgpu: Refactor flip into prepare submit and submit. (v3)" 2017-05-01 11:21:42 -04:00
amdgpu_dpm.c drm: Use pr_cont where appropriate 2017-03-29 23:53:24 -04:00
amdgpu_dpm.h drm/amdgpu: implement read_sensor() for pre-powerplay chips 2017-03-29 23:53:03 -04:00
amdgpu_drv.c drm/amdgpu: enable lbpw on raven 2017-05-31 14:16:35 -04:00
amdgpu_drv.h
amdgpu_encoders.c
amdgpu_fb.c drm/amdgpu: fix null point error when rmmod amdgpu. 2017-05-25 16:13:12 -04:00
amdgpu_fence.c drm/amdgpu/SRIOV:implement guilty job TDR for(V2) 2017-05-24 17:40:40 -04:00
amdgpu_gart.c drm/amdgpu: extend lock range for race condition when gpu reset 2017-05-24 17:40:31 -04:00
amdgpu_gds.h
amdgpu_gem.c drm/amdgpu: cleanup VM manager init/fini 2017-05-24 18:17:58 -04:00
amdgpu_gfx.c drm/amdgpu: simplify allocation of scratch regs 2017-01-27 11:13:32 -05:00
amdgpu_gfx.h drm/amdgpu: change function declarations and add missing header dependencies 2016-10-25 14:38:58 -04:00
amdgpu_gtt_mgr.c drm/amdgpu: add gtt print like vram when dump mm table V2 2017-04-28 17:32:53 -04:00
amdgpu_i2c.c drm/amdgpu: Remove checking for atombios 2017-01-27 11:12:39 -05:00
amdgpu_i2c.h
amdgpu_ib.c drm/amdgpu: add a ring func for vcn start command 2017-05-24 17:41:31 -04:00
amdgpu_ih.c
amdgpu_ih.h drm/amdgpu: add vcn ip block functions (v2) 2017-05-24 17:41:23 -04:00
amdgpu_ioc32.c
amdgpu_irq.c drm/amdgpu:don't invoke srio-gpu-reset in gpu-reset (v2) 2017-05-24 17:40:37 -04:00
amdgpu_irq.h drm/amdgpu: switch ih handling to two levels (v3) 2017-03-29 23:53:37 -04:00
amdgpu_job.c drm/amdgpu: add dep_sync for amdgpu job 2017-05-24 18:14:49 -04:00
amdgpu_kms.c drm/amdgpu: add an INFO query for monitoring VRAM CPU page faults 2017-05-24 18:24:38 -04:00
amdgpu_mn.c drm/amdgpu: use a 64bit interval tree for VM management v2 2017-04-04 13:40:32 -04:00
amdgpu_mode.h Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-05-18 12:57:06 +10:00
amdgpu_object.c drm/amdgpu: add an INFO query for monitoring VRAM CPU page faults 2017-05-24 18:24:38 -04:00
amdgpu_object.h drm/amdgpu: validate shadow before restoring from it 2017-04-28 17:33:08 -04:00
amdgpu_pll.c
amdgpu_pll.h
amdgpu_pm.c drm/amdgpu: refine amdgpu pwm1_enable sysfs interface. 2017-05-10 13:36:21 -04:00
amdgpu_pm.h drm/amdgpu: add parse clock gating state 2017-01-27 11:13:07 -05:00
amdgpu_powerplay.c drm/amdgpu/powerplay/raven: add smu block and enable powerplay 2017-05-24 17:41:55 -04:00
amdgpu_powerplay.h
amdgpu_prime.c drm/amdgpu: Make amdgpu_bo_reserve use uninterruptible waits for cleanup 2017-04-28 17:33:16 -04:00
amdgpu_psp.c drm/amdgpu: register the psp v10 function pointers at psp sw_init 2017-05-24 17:41:20 -04:00
amdgpu_psp.h drm/amdgpu: add psp v10 ip block 2017-05-24 17:41:19 -04:00
amdgpu_queue_mgr.c drm/amdgpu: guarantee bijective mapping of ring ids for LRU v3 2017-05-31 16:49:03 -04:00
amdgpu_ring.c drm/amdgpu: guarantee bijective mapping of ring ids for LRU v3 2017-05-31 16:49:03 -04:00
amdgpu_ring.h drm/amdgpu: guarantee bijective mapping of ring ids for LRU v3 2017-05-31 16:49:03 -04:00
amdgpu_sa.c drm/amdgpu: Make amdgpu_bo_reserve use uninterruptible waits for cleanup 2017-04-28 17:33:16 -04:00
amdgpu_sync.c
amdgpu_sync.h Merge tag 'topic/drm-misc-2016-10-27' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2016-10-28 11:33:52 +10:00
amdgpu_test.c drm/amdgpu: remove unused sync testing 2017-03-29 23:53:29 -04:00
amdgpu_trace.h drm/amdgpu: trace vm hub during flush as well v2 2017-04-28 17:32:21 -04:00
amdgpu_trace_points.c
amdgpu_ttm.c drm/amd/amdgpu: Return error if initiating read out of range on vram 2017-05-24 18:23:55 -04:00
amdgpu_ttm.h drm/amdgpu: user BO priority instead of self coding it (v2) 2017-01-27 12:20:33 -05:00
amdgpu_ucode.c drm/amdgpu: add Raven chip id case for ucode 2017-05-24 17:40:54 -04:00
amdgpu_ucode.h drm/amdgpu: add gpu_info firmware (v3) 2017-05-24 17:39:35 -04:00
amdgpu_uvd.c drm/amdgpu: use a 64bit interval tree for VM management v2 2017-04-04 13:40:32 -04:00
amdgpu_uvd.h drm/amdgpu: add uvd enc run queue 2017-03-29 23:53:46 -04:00
amdgpu_vce.c drm/amdgpu/vce4: enable ring & ib test for sriov 2017-04-28 17:32:16 -04:00
amdgpu_vce.h drm/amdgpu: move amdgpu_vce structure to vce header 2017-03-29 23:53:44 -04:00
amdgpu_vcn.c drm/amdgpu: update vcn decode create msg 2017-05-24 17:41:47 -04:00
amdgpu_vcn.h drm/amdgpu: add vcn enc ring type and functions 2017-05-24 17:41:41 -04:00
amdgpu_virt.c drm/amdgpu:kiq reg access need timeout(v2) 2017-05-24 17:40:17 -04:00
amdgpu_virt.h drm/amdgpu:use job* to replace voluntary 2017-05-24 17:40:38 -04:00
amdgpu_vm.c drm/amdgpu: stop joining VM PTE updates 2017-05-31 14:16:39 -04:00
amdgpu_vm.h drm/amdgpu: cleanup VM manager init/fini 2017-05-24 18:17:58 -04:00
amdgpu_vram_mgr.c drm/amdgpu: use TTM_PL_FLAG_CONTIGUOUS v2 2017-04-04 23:34:27 -04:00
atom.c drm/amdgpu: move atom scratch setup into amdgpu_atombios.c 2017-03-29 23:54:17 -04:00
atom.h drm/amdgpu: move atom scratch setup into amdgpu_atombios.c 2017-03-29 23:54:17 -04:00
atombios_crtc.c drm/amdgpu: change function declarations and add missing header dependencies 2016-10-25 14:38:58 -04:00
atombios_crtc.h
atombios_dp.c
atombios_dp.h
atombios_encoders.c drm/amdgpu: Remove checking for atombios 2017-01-27 11:12:39 -05:00
atombios_encoders.h
atombios_i2c.c
atombios_i2c.h
ci_dpm.c drm/amdgpu/ci: disable mclk switching for high refresh rates (v2) 2017-05-24 17:39:30 -04:00
ci_dpm.h drm/amd/amdgpu: add power profile support for CI 2017-03-29 23:52:52 -04:00
ci_smc.c
cik.c drm/amdgpu: drop support for untouched registers 2017-05-24 17:40:01 -04:00
cik.h
cik_dpm.h
cik_ih.c drm/amdgpu/ih: store the full context id 2017-03-29 23:53:37 -04:00
cik_ih.h
cik_sdma.c drm/amdgpu: fix vm pte pde flags to 64-bit for sdma (v3) 2017-03-29 23:55:50 -04:00
cik_sdma.h
cikd.h drm/amd: Spelling s/SDMA_WRTIE_SUB_OPCODE_TILED/SDMA_WRITE_SUB_OPCODE_TILED/ 2017-03-29 23:53:21 -04:00
clearstate_ci.h
clearstate_defs.h
clearstate_gfx9.h drm/amdgpu: add gfx9 clearstate header 2017-03-29 23:54:30 -04:00
clearstate_si.h drm/amdgpu: move misc si headers into amdgpu 2017-01-27 12:20:41 -05:00
clearstate_vi.h
cz_ih.c drm/amdgpu/ih: store the full context id 2017-03-29 23:53:37 -04:00
cz_ih.h
dce_v6_0.c drm/amd/amdgpu: Tidy up static int dce_v6_0_get_num_crtc() 2017-05-24 18:22:30 -04:00
dce_v6_0.h
dce_v8_0.c drm/amdgpu: Make amdgpu_bo_reserve use uninterruptible waits for cleanup 2017-04-28 17:33:16 -04:00
dce_v8_0.h
dce_v10_0.c drm/amdgpu: Make amdgpu_bo_reserve use uninterruptible waits for cleanup 2017-04-28 17:33:16 -04:00
dce_v10_0.h
dce_v11_0.c drm/amdgpu: Make amdgpu_bo_reserve use uninterruptible waits for cleanup 2017-04-28 17:33:16 -04:00
dce_v11_0.h
dce_virtual.c drm/amdgpu: Make amdgpu_bo_reserve use uninterruptible waits for cleanup 2017-04-28 17:33:16 -04:00
dce_virtual.h
gfx_v6_0.c drm/amd/amdgpu: Drop commented out stub function 2017-05-24 18:22:17 -04:00
gfx_v6_0.h
gfx_v7_0.c drm/amdgpu: condense mqd programming sequence 2017-05-31 16:48:59 -04:00
gfx_v7_0.h drm/amdgpu: unify MQD programming sequence for kfd and amdgpu v2 2017-05-31 16:48:48 -04:00
gfx_v8_0.c drm/amdgpu: workaround tonga HW bug in HQD programming sequence 2017-05-31 16:49:00 -04:00
gfx_v8_0.h drm/amdgpu: unify MQD programming sequence for kfd and amdgpu v2 2017-05-31 16:48:48 -04:00
gfx_v9_0.c drm/amdgpu: avoid KIQ clashing with compute or KFD queues v2 2017-05-31 16:48:58 -04:00
gfx_v9_0.h drm/amdgpu: implement GFX 9.0 support (v2) 2017-03-29 23:54:45 -04:00
gfxhub_v1_0.c drm/amdgpu/gmc9: set mc vm fb offset for raven 2017-05-24 17:41:08 -04:00
gfxhub_v1_0.h drm/amdgpu/gmc9: set mc vm fb offset for raven 2017-05-24 17:41:08 -04:00
gmc_v6_0.c drm/amdgpu: cleanup adjust_mc_addr handling v4 2017-05-31 14:16:35 -04:00
gmc_v6_0.h
gmc_v7_0.c drm/amdgpu: cleanup adjust_mc_addr handling v4 2017-05-31 14:16:35 -04:00
gmc_v7_0.h
gmc_v8_0.c drm/amdgpu: cleanup adjust_mc_addr handling v4 2017-05-31 14:16:35 -04:00
gmc_v8_0.h
gmc_v9_0.c drm/amdgpu: cleanup adjust_mc_addr handling v4 2017-05-31 14:16:35 -04:00
gmc_v9_0.h drm/amdgpu: Add GMC 9.0 support (v2) 2017-03-29 23:54:44 -04:00
iceland_ih.c drm/amdgpu/ih: store the full context id 2017-03-29 23:53:37 -04:00
iceland_ih.h
iceland_sdma_pkt_open.h
Kconfig
kv_dpm.c drm/amdgpu: switch ih handling to two levels (v3) 2017-03-29 23:53:37 -04:00
kv_dpm.h
kv_smc.c
Makefile drm/amdgpu: untie user ring ids from kernel ring ids v6 2017-05-31 16:49:01 -04:00
mmhub_v1_0.c drm/amdgpu: remove unnecessary debug message 2017-05-31 14:16:32 -04:00
mmhub_v1_0.h drm/amdgpu: Add GMC 9.0 support (v2) 2017-03-29 23:54:44 -04:00
mmsch_v1_0.h drm/amdgpu/vce4: move mm table constructions functions into mmsch header file 2017-04-28 17:32:57 -04:00
mxgpu_ai.c drm/amdgpu:only call flr_work under infinite timeout 2017-05-24 17:40:39 -04:00
mxgpu_ai.h drm/amdgpu/vega10:timeout set to equal with VI 2017-04-06 13:28:06 -04:00
mxgpu_vi.c drm/amdgpu:only call flr_work under infinite timeout 2017-05-24 17:40:39 -04:00
mxgpu_vi.h drm/amdgpu/virt: increase mailbox timeout to 5000ms 2017-03-29 23:52:38 -04:00
nbio_v6_1.c drm/amdgpu: add get_clockgating callback for nbio v6.1 2017-03-29 23:55:19 -04:00
nbio_v6_1.h drm/amdgpu: add get_clockgating callback for nbio v6.1 2017-03-29 23:55:19 -04:00
nbio_v7_0.c drm/amdgpu: add nbio7 support 2017-05-24 17:41:16 -04:00
nbio_v7_0.h drm/amdgpu: add nbio7 support 2017-05-24 17:41:16 -04:00
ObjectID.h
ppsmc.h
psp_gfx_if.h drm/amdgpu: add PSP driver for vega10 (v2) 2017-03-29 23:54:48 -04:00
psp_v3_1.c drm/amdgpu: Destroy psp ring in hw_fini 2017-04-28 17:32:46 -04:00
psp_v3_1.h drm/amdgpu: Destroy psp ring in hw_fini 2017-04-28 17:32:46 -04:00
psp_v10_0.c drm/amdgpu: add psp v10 function callback for raven 2017-05-24 17:41:19 -04:00
psp_v10_0.h drm/amdgpu: add psp v10 function callback for raven 2017-05-24 17:41:19 -04:00
r600_dpm.h
sdma_v2_4.c drm/amdgpu: fix vm pte pde flags to 64-bit for sdma (v3) 2017-03-29 23:55:50 -04:00
sdma_v2_4.h
sdma_v3_0.c drm/amdgpu/sdma3: correct wptr initialization for sdma 2017-05-24 18:18:15 -04:00
sdma_v3_0.h
sdma_v4_0.c drm/amdgpu: cleanup adjust_mc_addr handling v4 2017-05-31 14:16:35 -04:00
sdma_v4_0.h drm/amdgpu: add SDMA v4.0 implementation (v2) 2017-03-29 23:54:45 -04:00
si.c drm/amdgpu: drop support for untouched registers 2017-05-24 17:40:01 -04:00
si.h
si_dma.c drm/amdgpu: fix vm pte pde flags to 64-bit for sdma (v3) 2017-03-29 23:55:50 -04:00
si_dma.h
si_dpm.c drm/amdgpu: switch ih handling to two levels (v3) 2017-03-29 23:53:37 -04:00
si_dpm.h
si_enums.h drm/amdgpu: update HAINAN_GB_ADDR_CONFIG_GOLDEN 2017-02-08 17:25:02 -05:00
si_ih.c drm/amdgpu/ih: store the full context id 2017-03-29 23:53:37 -04:00
si_ih.h
si_smc.c drm/amdgpu: move misc si headers into amdgpu 2017-01-27 12:20:41 -05:00
sid.h drm/amdgpu: move misc si headers into amdgpu 2017-01-27 12:20:41 -05:00
sislands_smc.h
soc15.c drm/amdgpu/powerplay/raven: add smu block and enable powerplay 2017-05-24 17:41:55 -04:00
soc15.h drm/amdgpu: apply nbio7 for Raven (v3) 2017-05-24 17:41:17 -04:00
soc15_common.h drm/amd/amdgpu: Introduce new read/write macros for SOC15 2017-04-28 16:37:59 -04:00
soc15d.h drm/amdgpu/gfx9: move define to header file 2017-05-24 17:40:29 -04:00
tonga_ih.c drm/amdgpu: increase IH ring buffer size to avoid overflow 2017-03-29 23:53:53 -04:00
tonga_ih.h
tonga_sdma_pkt_open.h
uvd_v4_2.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
uvd_v4_2.h
uvd_v5_0.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
uvd_v5_0.h
uvd_v6_0.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
uvd_v6_0.h
uvd_v7_0.c drm/amdgpu: cleanup adjust_mc_addr handling v4 2017-05-31 14:16:35 -04:00
uvd_v7_0.h drm/amdgpu: add initial uvd 7.0 support for vega10 2017-03-29 23:54:47 -04:00
vce_v2_0.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
vce_v2_0.h
vce_v3_0.c drm/amdgpu: Program ring for vce instance 1 at its register space 2017-05-31 14:16:37 -04:00
vce_v3_0.h
vce_v4_0.c drm/amdgpu: cleanup adjust_mc_addr handling v4 2017-05-31 14:16:35 -04:00
vce_v4_0.h drm/amdgpu: add initial vce 4.0 support for vega10 2017-03-29 23:54:47 -04:00
vcn_v1_0.c drm/amdgpu: cleanup adjust_mc_addr handling v4 2017-05-31 14:16:35 -04:00
vcn_v1_0.h drm/amdgpu: add vcn ip block and type 2017-05-24 17:41:27 -04:00
vega10_ih.c drm/amdgpu: apply nbio7 for Raven (v3) 2017-05-24 17:41:17 -04:00
vega10_ih.h drm/amdgpu: add vega10 interrupt handler 2017-03-29 23:54:46 -04:00
vega10_sdma_pkt_open.h drm/amdgpu: add SDMA 4.0 packet header 2017-03-29 23:54:30 -04:00
vi.c drm/amdgpu/virt: change the place of virt_init_setting 2017-05-24 17:40:04 -04:00
vi.h drm/amdgpu/gfx8: move CE&DE meta data structure to vi_structs.h 2017-03-29 23:53:31 -04:00
vi_dpm.h drm/amdgpu: cleanup useless extern functions 2017-01-27 11:12:43 -05:00
vid.h drm/amdgpu:new PM4 entry for VI/AI 2017-05-24 17:40:26 -04:00