diff options
author | Florian Tobias Schandinat | 2009-09-22 16:47:26 -0700 |
---|---|---|
committer | Linus Torvalds | 2009-09-23 07:39:52 -0700 |
commit | c3e25673843153ea75fda79a47cf12f10a25ca37 (patch) | |
tree | fdc15161f32ca26450614c08b82c293b788ffb40 /drivers/video/via/accel.h | |
parent | c4df5489e40e55f2962b9e8100ebc0d4d1374415 (diff) |
viafb: 2D engine rewrite
This patch is a completly rewritten 2D engine. The engine is no longer in
a default state but reinitialized every time to allow usage for both
framebuffers regardless of their settings.
The whole engine handling is concentrated in a big function which takes 16
parameters. Although the number of parameters is worryingly it is good to
have a single funtion to deal with this stuff as it allows to easily
support different engines and avoids some code duplication.
On the way support for the new 2D engine in VX800 was added. As the with
less code duplication but it is probably better to duplicate the code as
this way is easier to walk if VIA ever decides to release a new engine
which changes anything the driver touches.
The engine support for VX800 gives a notable boost in speed. There are no
known regressions but as this patch changes paths I do neither have the
hardware nor documentation to check and has the possibility to put the
system in a critical state heavy testing is appreciated.
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Scott Fang <ScottFang@viatech.com.cn>
Cc: Joseph Chan <JosephChan@via.com.tw>
Cc: Harald Welte <laforge@gnumonks.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/via/accel.h')
-rw-r--r-- | drivers/video/via/accel.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/via/accel.h b/drivers/video/via/accel.h index 29bf854e8ccf..4d93eba4f3eb 100644 --- a/drivers/video/via/accel.h +++ b/drivers/video/via/accel.h @@ -159,9 +159,12 @@ #define MAXLOOP 0xFFFFFF -void viafb_init_accel(void); +#define VIA_BITBLT_COLOR 1 +#define VIA_BITBLT_MONO 2 +#define VIA_BITBLT_FILL 3 + +void viafb_init_accel(struct viafb_shared *shared); void viafb_init_2d_engine(void); -void set_2d_color_depth(int); void viafb_hw_cursor_init(void); void viafb_show_hw_cursor(struct fb_info *info, int Status); int viafb_wait_engine_idle(void); void viafb_set_2d_color_depth(int bpp); |