linux/drivers/gpu/drm/radeon
Lauri Kasanen 59bc1d89d6 drm/radeon: Inline r100_mm_rreg, -wreg, v3
This was originally un-inlined by Andi Kleen in 2011 citing size concerns.
Indeed, a first attempt at inlining it grew radeon.ko by 7%.

However, 2% of cpu is spent in this function. Simply inlining it gave 1% more fps
in Urban Terror.

v2: We know the minimum MMIO size. Adding it to the if allows the compiler to
optimize the branch out, improving both performance and size.

The v2 patch decreases radeon.ko size by 2%. I didn't re-benchmark, but common sense
says perf is now more than 1% better.

v3: Also change _wreg, make the threshold a define.

Inlining _wreg increased the size a bit compared to v2, so now radeon.ko
is only 1% smaller.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2014-08-05 08:53:27 -04:00
..
reg_srcs
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c
atom.h
atombios.h
atombios_crtc.c drm/radeon: Prevent too early kms-pageflips triggered by vblank. 2014-07-17 09:01:31 -04:00
atombios_dp.c drm/radeon/dp: return -EIO for flags not zero case 2014-07-10 17:01:28 -04:00
atombios_encoders.c drm/radeon: enable display scaling on all connectors (v2) 2014-08-05 08:53:25 -04:00
atombios_i2c.c drm/radeon: add a i2c bus mutex 2014-06-02 10:25:02 -04:00
avivod.h
btc_dpm.c
btc_dpm.h
btcd.h
cayman_blit_shaders.c
cayman_blit_shaders.h
ci_dpm.c drm/radeon: fix typo in ci_stop_dpm() 2014-07-10 17:01:30 -04:00
ci_dpm.h
ci_smc.c drm/radeon/cik: Add support for new ucode format (v5) 2014-08-05 08:53:24 -04:00
cik.c drm/radeon/cik: Add support for new ucode format (v5) 2014-08-05 08:53:24 -04:00
cik_blit_shaders.c
cik_blit_shaders.h
cik_reg.h
cik_sdma.c drm/radeon/cik: Add support for new ucode format (v5) 2014-08-05 08:53:24 -04:00
cikd.h drm/radeon/cik: fix typo in EOP packet 2014-07-02 14:10:19 -04:00
clearstate_cayman.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
clearstate_ci.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
clearstate_defs.h
clearstate_evergreen.h
clearstate_si.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
cypress_dpm.c drm/radeon/dpm: fix typo in vddci setup for eg/btc 2014-07-01 12:15:17 -04:00
cypress_dpm.h
dce3_1_afmt.c drm/radeon/hdmi: use separated file for DCE 3.1/3.2 code 2014-06-02 10:25:04 -04:00
dce6_afmt.c drm/radeon: fix audio pin counts for DCE6+ (v2) 2014-04-08 17:43:48 +02:00
evergreen.c drm/radeon: fix irq ring buffer overflow handling 2014-07-23 11:35:36 -04:00
evergreen_blit_shaders.c
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: drm/radeon: add missing radeon_semaphore_free to error path 2014-05-06 12:18:41 +02:00
evergreen_hdmi.c drm/radeon: replace drm_get_connector_name() with direct name field use 2014-06-04 13:17:30 +10:00
evergreen_reg.h drm/radeon: Prevent too early kms-pageflips triggered by vblank. 2014-07-17 09:01:31 -04:00
evergreen_smc.h drm/radeon/dpm: fix typo in EVERGREEN_SMC_FIRMWARE_HEADER_softRegisters 2014-03-06 16:46:58 -05:00
evergreend.h drm/radeon: Setup HDMI_CONTROL for hdmi deep color gcp's (v2) 2014-06-02 18:37:33 -04:00
Kconfig
kv_dpm.c drm/radeon: enable bapm by default on KV/KB 2014-07-01 11:16:10 -04:00
kv_dpm.h
kv_smc.c
Makefile drm/radeon: add new firmware header definitions (v3) 2014-08-05 08:53:22 -04:00
mkregtable.c
ni.c drm/radeon: add query for number of active CUs 2014-06-09 22:06:55 -04:00
ni_dma.c
ni_dpm.c drm/radeon/dpm: fix vddci setup typo on cayman 2014-07-01 12:15:53 -04:00
ni_dpm.h
ni_reg.h
nid.h drm/radeon: add proper support for RADEON_VM_BLOCK_SIZE v2 2014-06-02 10:25:03 -04:00
nislands_smc.h
ObjectID.h
ppsmc.h
pptable.h
r100.c drm/radeon: Inline r100_mm_rreg, -wreg, v3 2014-08-05 08:53:27 -04:00
r100_track.h
r100d.h
r200.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
r300.c drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
r300_cmdbuf.c
r300_reg.h
r300d.h
r420.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
r420d.h
r500_reg.h drm/radeon: Bypass hw lut's for > 8 bpc framebuffer scanout. 2014-06-13 12:22:30 -04:00
r520.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
r520d.h
r600.c drm/radeon: fix irq ring buffer overflow handling 2014-07-23 11:35:36 -04:00
r600_audio.c drm/radeon: change audio enable logic 2014-02-27 14:21:31 -05:00
r600_blit.c
r600_blit_shaders.c
r600_blit_shaders.h
r600_cp.c
r600_cs.c drm/radeon: use helpers 2014-07-18 14:25:23 +10:00
r600_dma.c drm/radeon: drm/radeon: add missing radeon_semaphore_free to error path 2014-05-06 12:18:41 +02:00
r600_dpm.c drm/radeon/pm: don't walk the crtc list before it has been initialized (v2) 2014-04-22 16:51:19 +02:00
r600_dpm.h
r600_hdmi.c drm/radeon/hdmi: DCE2: simplify audio workaround 2014-06-02 10:25:06 -04:00
r600_reg.h
r600d.h drm/radeon/hdmi: DCE2: update setmode 2014-06-02 10:25:05 -04:00
radeon.h drm/radeon: Inline r100_mm_rreg, -wreg, v3 2014-08-05 08:53:27 -04:00
radeon_acpi.c
radeon_acpi.h
radeon_agp.c radeon: Remove useless quirk for zx1/FireGL X1 combo introduced with fdo #7770 2014-06-02 10:25:08 -04:00
radeon_asic.c drm/radeon: disable gfx cgcg on cik 2014-08-05 08:53:22 -04:00
radeon_asic.h drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
radeon_atombios.c drm/radeon/dpm: add support for SVI2 voltage for SI 2014-08-05 08:53:21 -04:00
radeon_atpx_handler.c drm/radeon: fix ATPX detection on non-VGA GPUs 2014-04-22 16:51:20 +02:00
radeon_benchmark.c
radeon_bios.c drm: Remove spurious ';' 2014-06-10 09:35:42 +10:00
radeon_clocks.c
radeon_combios.c
radeon_connectors.c drm/radeon: consolidate vga and dvi get_modes functions (v2) 2014-08-05 08:53:26 -04:00
radeon_cp.c
radeon_cs.c drm/radeon: fix VM IB handling 2014-07-21 13:17:38 -04:00
radeon_cursor.c
radeon_device.c drm/radeon: let's use GB for vm_size (v2) 2014-07-21 13:17:37 -04:00
radeon_display.c drm/radeon: Make classic pageflip completion path less racy. 2014-07-17 09:04:03 -04:00
radeon_drv.c drm/radeon: let's use GB for vm_size (v2) 2014-07-21 13:17:37 -04:00
radeon_drv.h
radeon_encoders.c
radeon_family.h drm/radeon: add Mullins chip family 2014-05-06 12:19:57 +02:00
radeon_fb.c drm: Introduce drm_fb_helper_prepare() 2014-07-08 11:31:28 +10:00
radeon_fence.c drm/radeon: add debugfs file to trigger GPU reset 2014-06-09 22:06:55 -04: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/dp: add a hw mutex around the transfer functions. (v2) 2014-06-05 09:54:29 +10:00
radeon_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
radeon_irq.c
radeon_irq_kms.c drm: pass the irq explicitly to drm_irq_install 2014-04-23 10:32:50 +02:00
radeon_kms.c drm/radeon: fix VM IB handling 2014-07-21 13:17:38 -04: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
radeon_legacy_tv.c
radeon_mem.c
radeon_mode.h drm/radeon: Track the status of a page flip more explicitly 2014-07-01 12:26:48 -04:00
radeon_object.c drm/radeon: rename alt_domain to allowed_domains 2014-06-09 22:06:52 -04:00
radeon_object.h drm/radeon: use NULL instead of zero in object functions 2014-06-02 10:25:06 -04:00
radeon_pm.c drm/radeon: remove null test before kfree 2014-08-05 08:53:24 -04:00
radeon_prime.c
radeon_reg.h
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: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
radeon_test.c
radeon_trace.h
radeon_trace_points.c
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.c drm/radeon: add new firmware header definitions (v3) 2014-08-05 08:53:22 -04:00
radeon_ucode.h drm/radeon: add new firmware header definitions (v3) 2014-08-05 08:53:22 -04:00
radeon_uvd.c Revert "drm/radeon: use variable UVD clocks" 2014-06-09 22:06:56 -04:00
radeon_vce.c drm/radeon: add missing vce init case for hawaii 2014-06-09 22:06:48 -04:00
radeon_vm.c drm/radeon: fix error handling in radeon_vm_bo_set_addr 2014-07-22 12:21:58 -04:00
rs100d.h
rs400.c drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
rs400d.h
rs600.c drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
rs600d.h
rs690.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rs690d.h
rs780_dpm.c
rs780_dpm.h
rs780d.h
rv6xx_dpm.c
rv6xx_dpm.h
rv6xxd.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: Prevent too early kms-pageflips triggered by vblank. 2014-07-17 09:01:31 -04:00
rv515d.h
rv730_dpm.c
rv730d.h
rv740_dpm.c
rv740d.h
rv770.c drm/radeon: add query for number of active CUs 2014-06-09 22:06:55 -04:00
rv770_dma.c drm/radeon: drm/radeon: add missing radeon_semaphore_free to error path 2014-05-06 12:18:41 +02:00
rv770_dpm.c drm/radeon/dpm: Reenabling SS on Cayman 2014-07-10 17:01:30 -04:00
rv770_dpm.h
rv770_smc.c
rv770_smc.h
rv770d.h
si.c drm/radeon/si: Add support for new ucode format (v3) 2014-08-05 08:53:23 -04:00
si_blit_shaders.c
si_blit_shaders.h
si_dma.c drm/radeon: use lower_32_bits where appropriate 2014-06-09 22:06:48 -04:00
si_dpm.c drm/radeon/dpm: add support for SVI2 voltage for SI 2014-08-05 08:53:21 -04:00
si_dpm.h drm/radeon/dpm: add support for SVI2 voltage for SI 2014-08-05 08:53:21 -04:00
si_reg.h
si_smc.c drm/radeon/si: Add support for new ucode format (v3) 2014-08-05 08:53:23 -04:00
sid.h Merge commit '9e9a928eed8796a0a1aaed7e0b676db86ba84594' into drm-next 2014-06-05 20:28:59 +10:00
sislands_smc.h drm/radeon/dpm: add support for SVI2 voltage for SI 2014-08-05 08:53:21 -04:00
smu7.h
smu7_discrete.h
smu7_fusion.h
sumo_dpm.c
sumo_dpm.h
sumo_smc.c
sumod.h
trinity_dpm.c drm/radeon/TN: only enable bapm on MSI systems 2014-07-21 13:17:39 -04:00
trinity_dpm.h
trinity_smc.c
trinityd.h
uvd_v1_0.c drm/radeon/uvd: use lower clocks on old UVD to boot v2 2014-05-01 10:17:44 +02:00
uvd_v2_2.c drm/radeon: use lower_32_bits where appropriate 2014-06-09 22:06:48 -04:00
uvd_v3_1.c
uvd_v4_2.c
vce_v1_0.c
vce_v2_0.c