]> git.baikalelectronics.ru Git - kernel.git/commit
drm/radeon: split evergreen_cs_check_reg
authorGrazvydas Ignotas <notasas@gmail.com>
Sun, 23 Aug 2015 00:57:36 +0000 (03:57 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 2 Oct 2015 20:08:27 +0000 (16:08 -0400)
commitc502bd7fee64242f1c1816c7920f2ceae40450f2
treea589f862091c7c84941aff0f1ea1cef337577eef
parentdfb373545f5a5ed7e393b8d354c6c4afdb698113
drm/radeon: split evergreen_cs_check_reg

evergreen_cs_check_reg() is a large function and gcc doesn't want to
inline it. It has a quick check for reg_safe_bm[] to see if register
needs special handling, which often results in early exit. However
because the function is large, it has a long prologue/epilogue to
save/restore all the callee-save registers which according to perf is
taking significant amount of time. To avoid this, we can reuse
evergreen_is_safe_reg() to do the early check directly in register loop.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/evergreen_cs.c