drm/radeon: Inline r100_mm_rreg, -wreg, v3
authorLauri Kasanen <cand@gmx.com>
Sun, 20 Apr 2014 17:29:33 +0000 (20:29 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 5 Aug 2014 12:53:27 +0000 (08:53 -0400)
commit59bc1d89d6a4d67c94a9b70fa81bda1d5b04f0cb
tree89f2ca40816aea347dc9fa43c5ff3efd2b78682f
parent3e22920fbd0005927bc41f71daeb056a0f4def82
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>
drivers/gpu/drm/radeon/r100.c
drivers/gpu/drm/radeon/radeon.h