OpenCloudOS-Kernel/drivers/video/fbdev/aty
Denys Vlasenko 08bfb453f0 radeonfb: Deinline large functions
With this .config: http://busybox.net/~vda/kernel_config,
after uninlining these functions have sizes and callsite counts
as follows:

__OUTPLLP: 61 bytes, 12 callsites
__INPLL:   79 bytes, 150 callsites
__OUTPLL:  82 bytes, 138 callsites
_OUTREGP: 101 bytes, 8 callsites
_radeon_msleep:      66 bytes, 18 callsites
_radeon_fifo_wait:   83 bytes, 24 callsites
_radeon_engine_idle: 92 bytes, 10 callsites
radeon_engine_flush: 105 bytes, 2 callsites
radeon_pll_errata_after_index_slow: 31 bytes, 11 callsites
radeon_pll_errata_after_data_slow:  91 bytes, 9 callsites

radeon_pll_errata_after_FOO functions are split into two parts:
the inlined part which checks corresponding rinfo->errata bit,
and out-of-line part which performs workaround magic per se.

Reduction in code size is about 49,500 bytes:

    text     data      bss       dec     hex filename
85789648 22294616 20627456 128711720 7abfc28 vmlinux.before
85740176 22294680 20627456 128662312 7ab3b28 vmlinux

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: David Airlie <airlied@linux.ie>
Cc: Alex Deucher <alexdeucher@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-fbdev@vger.kernel.org
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2015-10-08 12:24:12 +03:00
..
Makefile
ati_ids.h
aty128fb.c video: fbdev: aty: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:51 +03:00
atyfb.h drivers/video/fbdev/atyfb: Use arch_phys_wc_add() and ioremap_wc() 2015-07-21 10:47:05 +02:00
atyfb_base.c drivers/video/fbdev/atyfb: Use arch_phys_wc_add() and ioremap_wc() 2015-07-21 10:47:05 +02:00
mach64_accel.c
mach64_ct.c
mach64_cursor.c
mach64_gx.c
radeon_accel.c
radeon_backlight.c backlight: Remove trivial get_brightness implementations 2014-06-23 13:24:22 +01:00
radeon_base.c radeonfb: Deinline large functions 2015-10-08 12:24:12 +03:00
radeon_i2c.c
radeon_monitor.c fbdev: radeon: replace PPC_OF with PPC 2015-03-17 20:04:31 +11:00
radeon_pm.c fbdev: radeon: replace PPC_OF with PPC 2015-03-17 20:04:31 +11:00
radeonfb.h radeonfb: Deinline large functions 2015-10-08 12:24:12 +03:00