linux/drivers/gpu/drm/radeon
Lauri Kasanen deadcb36f4 drm/radeon: Use two-ended allocation by size, v2
This decreases eviction by up to 20%, by improving the fragmentation
quality. No harm in normal cases that fit VRAM fully (PTS gaming suite).

In some cases, even the VRAM-fitting cases improved slightly (openarena, urban terror).

512kb was measured as the most optimal threshold for 3d workloads common to radeon.
Other drivers may need different thresholds according to their workloads.

v2: Nicer formatting
Signed-off-by: Lauri Kasanen <cand@gmx.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-04-04 09:28:41 +10:00
..
reg_srcs drm/radeon: allow geom rings to be setup on r600/r700 (v2) 2014-02-06 12:13:52 +10:00
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon/atom: initialize more atom interpretor elements to 0 2013-07-30 17:24:12 -04:00
atom.h
atombios_crtc.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
atombios_dp.c drm/radeon: use drm_dp_dpcd_read_link_status() 2014-03-25 13:13:23 +01:00
atombios_encoders.c drm/radeon/atom: rework encoder enable/disable sequence 2014-03-25 13:13:17 +01:00
atombios_i2c.c drivers: gpu: Move prototype declaration to header file radeon_mode.h from atombios_i2c.c 2014-01-07 11:45:39 -05:00
atombios.h drm/radeon: atombios.h updates for hawaii 2013-11-08 12:33:45 -05:00
avivod.h
btc_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
btc_dpm.h drm/radeon/dpm: fetch the max clk from voltage dep tables helper 2013-09-23 10:29:51 -04:00
btcd.h drm/radeon/dpm: use the driver state for dpm debugfs 2014-02-06 12:22:46 -05:00
cayman_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
cayman_blit_shaders.h
ci_dpm.c drm/radeon/cik: enable/disable vce cg when encoding v2 2014-02-18 16:11:46 +01:00
ci_dpm.h drm/radeon/dpm: track uvd gated state for ci 2013-08-30 16:31:06 -04:00
ci_smc.c drivers: gpu: Include appropriate header file in ci_smc.c 2014-01-07 12:29:04 -05:00
cik_blit_shaders.c drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_blit_shaders.h drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_reg.h drm/radeon: add indirect accessors for dift registers on CIK 2013-08-30 16:30:09 -04:00
cik_sdma.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
cik.c drm/radeon: fix typo in spectre_golden_registers 2014-04-03 12:41:18 +02:00
cikd.h drm/radeon: add support for vce 2.0 clock gating 2014-02-18 16:11:44 +01:00
clearstate_cayman.h drm/radeon: convert SI,CIK to use sumo_rlc functions 2013-08-30 16:30:08 -04:00
clearstate_ci.h drm/radeon: implement clock and power gating for CIK (v3) 2013-08-30 16:30:08 -04:00
clearstate_defs.h drm/radeon: properly set up the RLC on ON/LN/TN (v3) 2013-06-27 10:49:18 -04:00
clearstate_evergreen.h drm/radeon: convert SI,CIK to use sumo_rlc functions 2013-08-30 16:30:08 -04:00
clearstate_si.h drm/radeon: add clearstate init for verde power gating 2013-06-27 19:16:31 -04:00
cypress_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
cypress_dpm.h drm/radeon/dpm: add pre/post_set_power_state callback (BTC) 2013-06-27 19:16:19 -04:00
dce6_afmt.c drm/radeon: change audio enable logic 2014-02-27 14:21:31 -05:00
evergreen_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
evergreen_dma.c drm/radeon: drop radeon_ring_force_activity 2014-02-18 17:50:00 +01:00
evergreen_hdmi.c drm/radeon: change audio enable logic 2014-02-27 14:21:31 -05:00
evergreen_reg.h drm/radeon: add VRAM debugfs access v3 2013-12-24 16:12:47 -05:00
evergreen_smc.h drm/radeon/dpm: fix typo in EVERGREEN_SMC_FIRMWARE_HEADER_softRegisters 2014-03-06 16:46:58 -05:00
evergreen.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
evergreend.h drm/radeon: implement pci config reset for evergreen/cayman (v2) 2014-01-08 18:42:23 -05:00
Kconfig drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
kv_dpm.c drm/radeon/cik: enable/disable vce cg when encoding v2 2014-02-18 16:11:46 +01:00
kv_dpm.h drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
kv_smc.c drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
Makefile drm/radeon: separate gart and vm functions 2014-03-03 11:03:34 +01:00
mkregtable.c mkregtable: Fix sscanf handling 2014-01-10 15:28:10 +01:00
ni_dma.c drm/radeon: drop radeon_ring_force_activity 2014-02-18 17:50:00 +01:00
ni_dpm.c Merge branch 'drm-next-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-next 2014-02-27 14:39:30 +10:00
ni_dpm.h drm/radeon/dpm: implement vblank_too_short callback for si 2013-07-08 17:41:11 -04:00
ni_reg.h
ni.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
nid.h drm/radeon: fix surface sync in fence on cayman (v2) 2014-01-20 18:20:56 -05:00
nislands_smc.h drm/radeon/kms: add dpm support for cayman (v5) 2013-06-27 19:16:10 -04:00
ObjectID.h drm/radeon: upstream ObjectID.h updates (v2) 2013-06-26 16:11:34 -04:00
ppsmc.h drm/radeon/dpm: handle bapm on trinity 2013-09-11 11:44:37 -04:00
pptable.h drm/radeon: fix pptable.h portability 2014-01-03 11:34:21 -05:00
r100_track.h drm/radeon: use common next_reloc function 2013-01-31 16:24:45 -05:00
r100.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
r100d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
r200.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
r300_cmdbuf.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
r300_reg.h
r300.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
r300d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
r420.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
r420d.h
r500_reg.h drm/radeon: disable the crtcs in mc_stop (r5xx-r7xx) (v2) 2013-04-22 10:39:09 -04:00
r520.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
r520d.h
r600_audio.c drm/radeon: change audio enable logic 2014-02-27 14:21:31 -05:00
r600_blit_shaders.c
r600_blit_shaders.h drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_blit.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_cp.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
r600_cs.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
r600_dma.c drm/radeon: drop radeon_ring_force_activity 2014-02-18 17:50:00 +01:00
r600_dpm.c drm/radeon/dpm: fetch vce states from the vbios 2014-02-18 16:11:33 +01:00
r600_dpm.h drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
r600_hdmi.c drm/radeon: enable speaker allocation setup on dce3.2 2014-02-27 14:21:37 -05:00
r600_reg.h drm/radeon: add indirect accessors for UVD CTX registers 2013-06-27 19:16:30 -04:00
r600.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
r600d.h drm/radeon: set the full cache bit for fences on r7xx+ 2014-01-20 18:20:56 -05:00
radeon_acpi.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
radeon_acpi.h
radeon_agp.c
radeon_asic.c drm/radeon: fill in set_vce_clocks for CIK asics 2014-02-18 16:11:35 +01:00
radeon_asic.h drm/radeon: fill in set_vce_clocks for CIK asics 2014-02-18 16:11:35 +01:00
radeon_atombios.c drm/radeon/DCE4+: clear bios scratch dpms bit (v2) 2014-01-29 16:10:53 -05:00
radeon_atpx_handler.c drm/radeon: print the supported atpx function mask 2014-02-27 14:05:27 -05:00
radeon_benchmark.c drm/radeon/benchmark: allow same domains for dma copy 2013-03-15 18:47:18 -04:00
radeon_bios.c More ACPI and power management updates for 3.13-rc1 2013-11-20 13:25:04 -08:00
radeon_clocks.c
radeon_combios.c drivers: gpu: Move prototype declarations to header file radeon_mode.h from radeon_atombios.c and radeon_combios.c 2014-01-07 13:06:31 -05:00
radeon_connectors.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
radeon_cp.c drm: Kill DRM_*MEMORYBARRIER 2013-12-18 11:35:21 +10:00
radeon_cs.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
radeon_cursor.c drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_device.c drm/radeon: fix resuming mode in pm runtime resume path 2014-04-03 12:35:41 +02:00
radeon_display.c drm/radeon: call drm_edid_to_eld when we update the edid 2014-04-03 12:40:53 +02:00
radeon_drv.c drm/radeon: fix runtime suspend breaking secondary GPUs 2014-04-03 12:35:41 +02:00
radeon_drv.h drm: Kill DRM_IRQ_ARGS 2013-12-18 11:33:46 +10:00
radeon_encoders.c
radeon_family.h drm/radeon: add Hawaii chip family 2013-11-08 12:33:39 -05:00
radeon_fb.c treewide: Fix typo in printk 2013-05-28 12:02:13 +02:00
radeon_fence.c drm/radeon: cleanup the fence ring locking code 2014-02-28 10:53:18 +01:00
radeon_gart.c drm/radeon: separate gart and vm functions 2014-03-03 11:03:34 +01:00
radeon_gem.c drm/radeon: deduplicate code in radeon_gem_busy_ioctl 2014-03-03 10:57:10 +01:00
radeon_i2c.c drm/radeon: warn users when hw_i2c is enabled (v2) 2014-01-07 11:45:34 -05:00
radeon_ioc32.c drm/radeon: add runtime PM support (v2) 2013-11-01 12:43:14 -04:00
radeon_irq_kms.c drm: Kill DRM_IRQ_ARGS 2013-12-18 11:33:46 +10:00
radeon_irq.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_kms.c drm/radeon/kms: merge conflicted badly 2014-03-20 11:09:10 +10:00
radeon_legacy_crtc.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
radeon_legacy_encoders.c drm/sysfs: sort out minor and connector device object lifetimes. 2013-10-22 09:37:40 +01:00
radeon_legacy_tv.c
radeon_mem.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_mode.h drm/radeon: use the new drm helpers for dp aux 2014-03-25 13:13:21 +01:00
radeon_object.c drm/radeon: Use two-ended allocation by size, v2 2014-04-04 09:28:41 +10:00
radeon_object.h drm/radeon: drop non blocking allocations from sub allocator 2014-03-03 11:26:39 +01:00
radeon_pm.c drm/radeon: use variable UVD clocks 2014-02-28 10:53:20 +01:00
radeon_prime.c drm/radeon: remove stale gem->driver_private access 2013-08-19 09:34:47 +10:00
radeon_reg.h drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_ring.c drm/radeon: clear needs_reset flag if IB test fails 2014-04-03 12:35:40 +02:00
radeon_sa.c drm/radeon: drop non blocking allocations from sub allocator 2014-03-03 11:26:39 +01:00
radeon_semaphore.c drm/radeon: drop non blocking allocations from sub allocator 2014-03-03 11:26:39 +01:00
radeon_state.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_test.c drm/radeon: initial VCE support v4 2014-02-18 16:11:22 +01:00
radeon_trace_points.c
radeon_trace.h drm/radeon: add ring to fence trace functions 2014-01-29 15:23:03 -05:00
radeon_ttm.c Merge branch 'drm-next' of git://people.freedesktop.org/~dvdhrm/linux into drm-next 2014-03-18 19:17:02 +10:00
radeon_ucode.h drm/radeon: update firmware loading for hawaii 2013-11-08 12:33:43 -05:00
radeon_uvd.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
radeon_vce.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
radeon_vm.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
radeon.h Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
rs100d.h
rs400.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rs400d.h
rs600.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rs600d.h
rs690.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rs690d.h drm/radeon: Use direct mapping for fast fb access on RS690 2013-04-09 10:31:31 -04:00
rs780_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
rs780_dpm.h drm/radeon/kms: add dpm support for rs780/rs880 2013-06-27 10:49:25 -04:00
rs780d.h drm/radeon/dpm: add debugfs support for RS780/RS880 (v3) 2013-07-17 16:47:52 -04:00
rv6xx_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
rv6xx_dpm.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv6xxd.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rv515d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
rv730_dpm.c drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv730d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv740_dpm.c drm/radeon/dpm/rv7xx: restructure code 2013-06-27 19:16:12 -04:00
rv740d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv770_dma.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
rv770_dpm.c Merge branch 'drm-next-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-next 2014-02-27 14:39:30 +10:00
rv770_dpm.h drm/radeon/dpm: switch on new late_enable callback 2013-12-24 17:56:50 -05:00
rv770_smc.c drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770_smc.h drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rv770d.h drm/radeon: implement pci config reset for r6xx/7xx (v3) 2014-01-08 18:42:22 -05:00
si_blit_shaders.c
si_blit_shaders.h
si_dma.c drm/radeon: drop radeon_ring_force_activity 2014-02-18 17:50:00 +01:00
si_dpm.c Merge branch 'drm-next-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-next 2014-02-27 14:39:30 +10:00
si_dpm.h drm/radeon/kms: add dpm support for SI (v7) 2013-06-27 19:40:05 -04:00
si_reg.h
si_smc.c drivers: gpu: Include appropriate header file in si_smc.c and remove prototype declaration from header file sislands_smc.h 2014-01-07 11:45:38 -05:00
si.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
sid.h drm/radeon: initial VCE support v4 2014-02-18 16:11:22 +01:00
sislands_smc.h drivers: gpu: Include appropriate header file in si_smc.c and remove prototype declaration from header file sislands_smc.h 2014-01-07 11:45:38 -05:00
smu7_discrete.h drm/radeon: add dpm support for CI dGPUs (v2) 2013-08-30 16:30:29 -04:00
smu7_fusion.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
smu7.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
sumo_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
sumo_dpm.h drm/radeon/sumo add helper to go from vid7 to vid2 2013-08-30 16:30:10 -04:00
sumo_smc.c drm/radeon/dpm: make some functions static for sumo 2014-01-07 12:55:50 -05:00
sumod.h drm/radeon: add dpm UVD handling for sumo asics 2013-06-27 19:15:48 -04:00
trinity_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
trinity_dpm.h drm/radeon/dpm: add bapm callback for trinity 2013-09-11 11:44:39 -04:00
trinity_smc.c drm/radeon/dpm: make some functions static for TN 2014-01-07 12:55:57 -05:00
trinityd.h drm/radeon: add dpm UVD handling for TN asics (v2) 2013-06-27 19:15:48 -04:00
uvd_v1_0.c drm/radeon: drop drivers copy of the rptr 2014-02-18 17:49:19 +01:00
uvd_v2_2.c drm/radeon: remove useless return 2014-02-06 12:22:48 -05:00
uvd_v3_1.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
uvd_v4_2.c drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume 2013-08-30 16:31:12 -04:00
vce_v1_0.c drm/radeon: drop drivers copy of the rptr 2014-02-18 17:49:19 +01:00
vce_v2_0.c drm/radeon: add support for vce 2.0 clock gating 2014-02-18 16:11:44 +01:00