aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/fb/cyblafb
diff options
context:
space:
mode:
authorKnut Petersen <Knut_Petersen@t-online.de>2006-01-09 09:04:20 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-09 13:00:36 -0500
commit44637a12f80b80157d9c1bc5b7d6ef09c9e05713 (patch)
tree17384805725f7b429685ba4cad0d9488d93f9f25 /Documentation/fb/cyblafb
parent8b78e83bfbc12f7e9bdefd400abdfde9e6c9ac51 (diff)
[PATCH] Update cyblafb driver
This is a major update to the cyblafb framebuffer driver. Most of the stuff has been tested in the mm tree. Main advantages: ============ - vxres > xres support - ywrap and xpan support - much faster for almost all modes (e.g. 1280x1024-16bpp draws more than 41 full screens of text instead of about 25 full screens of text per second on authors Epia 5000) - module init/exit code fixed - bugs triggered by console rotation fixed - lots of minor improvements - startup modes suitable for high performance scrolling in all directions This diff also contains a lot of white space fixes. No side effects are possible, only one single graphics core is affected. Signed-off-by: Knut Petersen <Knut_Petersen@t-online.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'Documentation/fb/cyblafb')
-rw-r--r--Documentation/fb/cyblafb/bugs1
-rw-r--r--Documentation/fb/cyblafb/fb.modes57
-rw-r--r--Documentation/fb/cyblafb/performance1
-rw-r--r--Documentation/fb/cyblafb/todo5
-rw-r--r--Documentation/fb/cyblafb/usage33
-rw-r--r--Documentation/fb/cyblafb/whatsnew29
6 files changed, 81 insertions, 45 deletions
diff --git a/Documentation/fb/cyblafb/bugs b/Documentation/fb/cyblafb/bugs
index f90cc66ea919..9443a6d72cdd 100644
--- a/Documentation/fb/cyblafb/bugs
+++ b/Documentation/fb/cyblafb/bugs
@@ -11,4 +11,3 @@ Untested features
11 11
12All LCD stuff is untested. If it worked in tridentfb, it should work in 12All LCD stuff is untested. If it worked in tridentfb, it should work in
13cyblafb. Please test and report the results to Knut_Petersen@t-online.de. 13cyblafb. Please test and report the results to Knut_Petersen@t-online.de.
14
diff --git a/Documentation/fb/cyblafb/fb.modes b/Documentation/fb/cyblafb/fb.modes
index cf4351fc32ff..fe0e5223ba86 100644
--- a/Documentation/fb/cyblafb/fb.modes
+++ b/Documentation/fb/cyblafb/fb.modes
@@ -14,142 +14,141 @@
14# 14#
15 15
16mode "640x480-50" 16mode "640x480-50"
17 geometry 640 480 640 3756 8 17 geometry 640 480 2048 4096 8
18 timings 47619 4294967256 24 17 0 216 3 18 timings 47619 4294967256 24 17 0 216 3
19endmode 19endmode
20 20
21mode "640x480-60" 21mode "640x480-60"
22 geometry 640 480 640 3756 8 22 geometry 640 480 2048 4096 8
23 timings 39682 4294967256 24 17 0 216 3 23 timings 39682 4294967256 24 17 0 216 3
24endmode 24endmode
25 25
26mode "640x480-70" 26mode "640x480-70"
27 geometry 640 480 640 3756 8 27 geometry 640 480 2048 4096 8
28 timings 34013 4294967256 24 17 0 216 3 28 timings 34013 4294967256 24 17 0 216 3
29endmode 29endmode
30 30
31mode "640x480-72" 31mode "640x480-72"
32 geometry 640 480 640 3756 8 32 geometry 640 480 2048 4096 8
33 timings 33068 4294967256 24 17 0 216 3 33 timings 33068 4294967256 24 17 0 216 3
34endmode 34endmode
35 35
36mode "640x480-75" 36mode "640x480-75"
37 geometry 640 480 640 3756 8 37 geometry 640 480 2048 4096 8
38 timings 31746 4294967256 24 17 0 216 3 38 timings 31746 4294967256 24 17 0 216 3
39endmode 39endmode
40 40
41mode "640x480-80" 41mode "640x480-80"
42 geometry 640 480 640 3756 8 42 geometry 640 480 2048 4096 8
43 timings 29761 4294967256 24 17 0 216 3 43 timings 29761 4294967256 24 17 0 216 3
44endmode 44endmode
45 45
46mode "640x480-85" 46mode "640x480-85"
47 geometry 640 480 640 3756 8 47 geometry 640 480 2048 4096 8
48 timings 28011 4294967256 24 17 0 216 3 48 timings 28011 4294967256 24 17 0 216 3
49endmode 49endmode
50 50
51mode "800x600-50" 51mode "800x600-50"
52 geometry 800 600 800 3221 8 52 geometry 800 600 2048 4096 8
53 timings 30303 96 24 14 0 136 11 53 timings 30303 96 24 14 0 136 11
54endmode 54endmode
55 55
56mode "800x600-60" 56mode "800x600-60"
57 geometry 800 600 800 3221 8 57 geometry 800 600 2048 4096 8
58 timings 25252 96 24 14 0 136 11 58 timings 25252 96 24 14 0 136 11
59endmode 59endmode
60 60
61mode "800x600-70" 61mode "800x600-70"
62 geometry 800 600 800 3221 8 62 geometry 800 600 2048 4096 8
63 timings 21645 96 24 14 0 136 11 63 timings 21645 96 24 14 0 136 11
64endmode 64endmode
65 65
66mode "800x600-72" 66mode "800x600-72"
67 geometry 800 600 800 3221 8 67 geometry 800 600 2048 4096 8
68 timings 21043 96 24 14 0 136 11 68 timings 21043 96 24 14 0 136 11
69endmode 69endmode
70 70
71mode "800x600-75" 71mode "800x600-75"
72 geometry 800 600 800 3221 8 72 geometry 800 600 2048 4096 8
73 timings 20202 96 24 14 0 136 11 73 timings 20202 96 24 14 0 136 11
74endmode 74endmode
75 75
76mode "800x600-80" 76mode "800x600-80"
77 geometry 800 600 800 3221 8 77 geometry 800 600 2048 4096 8
78 timings 18939 96 24 14 0 136 11 78 timings 18939 96 24 14 0 136 11
79endmode 79endmode
80 80
81mode "800x600-85" 81mode "800x600-85"
82 geometry 800 600 800 3221 8 82 geometry 800 600 2048 4096 8
83 timings 17825 96 24 14 0 136 11 83 timings 17825 96 24 14 0 136 11
84endmode 84endmode
85 85
86mode "1024x768-50" 86mode "1024x768-50"
87 geometry 1024 768 1024 2815 8 87 geometry 1024 768 2048 4096 8
88 timings 19054 144 24 29 0 120 3 88 timings 19054 144 24 29 0 120 3
89endmode 89endmode
90 90
91mode "1024x768-60" 91mode "1024x768-60"
92 geometry 1024 768 1024 2815 8 92 geometry 1024 768 2048 4096 8
93 timings 15880 144 24 29 0 120 3 93 timings 15880 144 24 29 0 120 3
94endmode 94endmode
95 95
96mode "1024x768-70" 96mode "1024x768-70"
97 geometry 1024 768 1024 2815 8 97 geometry 1024 768 2048 4096 8
98 timings 13610 144 24 29 0 120 3 98 timings 13610 144 24 29 0 120 3
99endmode 99endmode
100 100
101mode "1024x768-72" 101mode "1024x768-72"
102 geometry 1024 768 1024 2815 8 102 geometry 1024 768 2048 4096 8
103 timings 13232 144 24 29 0 120 3 103 timings 13232 144 24 29 0 120 3
104endmode 104endmode
105 105
106mode "1024x768-75" 106mode "1024x768-75"
107 geometry 1024 768 1024 2815 8 107 geometry 1024 768 2048 4096 8
108 timings 12703 144 24 29 0 120 3 108 timings 12703 144 24 29 0 120 3
109endmode 109endmode
110 110
111mode "1024x768-80" 111mode "1024x768-80"
112 geometry 1024 768 1024 2815 8 112 geometry 1024 768 2048 4096 8
113 timings 11910 144 24 29 0 120 3 113 timings 11910 144 24 29 0 120 3
114endmode 114endmode
115 115
116mode "1024x768-85" 116mode "1024x768-85"
117 geometry 1024 768 1024 2815 8 117 geometry 1024 768 2048 4096 8
118 timings 11209 144 24 29 0 120 3 118 timings 11209 144 24 29 0 120 3
119endmode 119endmode
120 120
121mode "1280x1024-50" 121mode "1280x1024-50"
122 geometry 1280 1024 1280 2662 8 122 geometry 1280 1024 2048 4096 8
123 timings 11114 232 16 39 0 160 3 123 timings 11114 232 16 39 0 160 3
124endmode 124endmode
125 125
126mode "1280x1024-60" 126mode "1280x1024-60"
127 geometry 1280 1024 1280 2662 8 127 geometry 1280 1024 2048 4096 8
128 timings 9262 232 16 39 0 160 3 128 timings 9262 232 16 39 0 160 3
129endmode 129endmode
130 130
131mode "1280x1024-70" 131mode "1280x1024-70"
132 geometry 1280 1024 1280 2662 8 132 geometry 1280 1024 2048 4096 8
133 timings 7939 232 16 39 0 160 3 133 timings 7939 232 16 39 0 160 3
134endmode 134endmode
135 135
136mode "1280x1024-72" 136mode "1280x1024-72"
137 geometry 1280 1024 1280 2662 8 137 geometry 1280 1024 2048 4096 8
138 timings 7719 232 16 39 0 160 3 138 timings 7719 232 16 39 0 160 3
139endmode 139endmode
140 140
141mode "1280x1024-75" 141mode "1280x1024-75"
142 geometry 1280 1024 1280 2662 8 142 geometry 1280 1024 2048 4096 8
143 timings 7410 232 16 39 0 160 3 143 timings 7410 232 16 39 0 160 3
144endmode 144endmode
145 145
146mode "1280x1024-80" 146mode "1280x1024-80"
147 geometry 1280 1024 1280 2662 8 147 geometry 1280 1024 2048 4096 8
148 timings 6946 232 16 39 0 160 3 148 timings 6946 232 16 39 0 160 3
149endmode 149endmode
150 150
151mode "1280x1024-85" 151mode "1280x1024-85"
152 geometry 1280 1024 1280 2662 8 152 geometry 1280 1024 2048 4096 8
153 timings 6538 232 16 39 0 160 3 153 timings 6538 232 16 39 0 160 3
154endmode 154endmode
155
diff --git a/Documentation/fb/cyblafb/performance b/Documentation/fb/cyblafb/performance
index eb4e47a9cea6..8d15d5dfc6b3 100644
--- a/Documentation/fb/cyblafb/performance
+++ b/Documentation/fb/cyblafb/performance
@@ -77,4 +77,3 @@ patch that speeds up kernel bitblitting a lot ( > 20%).
77| | | | | 77| | | | |
78| | | | | 78| | | | |
79+-----------+-----------------+-----------------+-----------------+ 79+-----------+-----------------+-----------------+-----------------+
80
diff --git a/Documentation/fb/cyblafb/todo b/Documentation/fb/cyblafb/todo
index 80fb2f89b6c1..c5f6d0eae545 100644
--- a/Documentation/fb/cyblafb/todo
+++ b/Documentation/fb/cyblafb/todo
@@ -22,11 +22,10 @@ accelerated color blitting Who needs it? The console driver does use color
22 everything else is done using color expanding 22 everything else is done using color expanding
23 blitting of 1bpp character bitmaps. 23 blitting of 1bpp character bitmaps.
24 24
25xpanning Who needs it?
26
27ioctls Who needs it? 25ioctls Who needs it?
28 26
29TV-out Will be done later 27TV-out Will be done later. Use "vga= " at boot time
28 to set a suitable video mode.
30 29
31??? Feel free to contact me if you have any 30??? Feel free to contact me if you have any
32 feature requests 31 feature requests
diff --git a/Documentation/fb/cyblafb/usage b/Documentation/fb/cyblafb/usage
index e627c8f54211..a39bb3d402a2 100644
--- a/Documentation/fb/cyblafb/usage
+++ b/Documentation/fb/cyblafb/usage
@@ -40,6 +40,16 @@ Selecting Modes
40 None of the modes possible to select as startup modes are affected by 40 None of the modes possible to select as startup modes are affected by
41 the problems described at the end of the next subsection. 41 the problems described at the end of the next subsection.
42 42
43 For all startup modes cyblafb chooses a virtual x resolution of 2048,
44 the only exception is mode 1280x1024 in combination with 32 bpp. This
45 allows ywrap scrolling for all those modes if rotation is 0 or 2, and
46 also fast scrolling if rotation is 1 or 3. The default virtual y reso-
47 lution is 4096 for bpp == 8, 2048 for bpp==16 and 1024 for bpp == 32,
48 again with the only exception of 1280x1024 at 32 bpp.
49
50 Please do set your video memory size to 8 Mb in the Bios setup. Other
51 values will work, but performace is decreased for a lot of modes.
52
43 Mode changes using fbset 53 Mode changes using fbset
44 ======================== 54 ========================
45 55
@@ -54,20 +64,26 @@ Selecting Modes
54 - if a flat panel is found, cyblafb does not allow you 64 - if a flat panel is found, cyblafb does not allow you
55 to program a resolution higher than the physical 65 to program a resolution higher than the physical
56 resolution of the flat panel monitor 66 resolution of the flat panel monitor
57 - cyblafb does not allow xres to differ from xres_virtual
58 - cyblafb does not allow vclk to exceed 230 MHz. As 32 bpp 67 - cyblafb does not allow vclk to exceed 230 MHz. As 32 bpp
59 and (currently) 24 bit modes use a doubled vclk internally, 68 and (currently) 24 bit modes use a doubled vclk internally,
60 the dotclock limit as seen by fbset is 115 MHz for those 69 the dotclock limit as seen by fbset is 115 MHz for those
61 modes and 230 MHz for 8 and 16 bpp modes. 70 modes and 230 MHz for 8 and 16 bpp modes.
71 - cyblafb will allow you to select very high resolutions as
72 long as the hardware can be programmed to these modes. The
73 documented limit 1600x1200 is not enforced, but don't expect
74 perfect signal quality.
62 75
63 Any request that violates the rules given above will be ignored and 76 Any request that violates the rules given above will be either changed
64 fbset will return an error. 77 to something the hardware supports or an error value will be returned.
65 78
66 If you program a virtual y resolution higher than the hardware limit, 79 If you program a virtual y resolution higher than the hardware limit,
67 cyblafb will silently decrease that value to the highest possible 80 cyblafb will silently decrease that value to the highest possible
68 value. 81 value. The same is true for a virtual x resolution that is not
82 supported by the hardware. Cyblafb tries to adapt vyres first because
83 vxres decides if ywrap scrolling is possible or not.
69 84
70 Attempts to disable acceleration are ignored. 85 Attempts to disable acceleration are ignored, I believe that this is
86 safe.
71 87
72 Some video modes that should work do not work as expected. If you use 88 Some video modes that should work do not work as expected. If you use
73 the standard fb.modes, fbset 640x480-60 will program that mode, but 89 the standard fb.modes, fbset 640x480-60 will program that mode, but
@@ -129,10 +145,6 @@ mode 640x480 or 800x600 or 1024x768 or 1280x1024
129verbosity 0 is the default, increase to at least 2 for every 145verbosity 0 is the default, increase to at least 2 for every
130 bug report! 146 bug report!
131 147
132vesafb allows cyblafb to be loaded after vesafb has been
133 loaded. See sections "Module unloading ...".
134
135
136Development hints 148Development hints
137================= 149=================
138 150
@@ -195,7 +207,7 @@ a graphics mode.
195After booting, load cyblafb without any mode and bpp parameter and assign 207After booting, load cyblafb without any mode and bpp parameter and assign
196cyblafb to individual ttys using con2fb, e.g.: 208cyblafb to individual ttys using con2fb, e.g.:
197 209
198 modprobe cyblafb vesafb=1 210 modprobe cyblafb
199 con2fb /dev/fb1 /dev/tty1 211 con2fb /dev/fb1 /dev/tty1
200 212
201Unloading cyblafb works without problems after you assign vesafb to all 213Unloading cyblafb works without problems after you assign vesafb to all
@@ -203,4 +215,3 @@ ttys again, e.g.:
203 215
204 con2fb /dev/fb0 /dev/tty1 216 con2fb /dev/fb0 /dev/tty1
205 rmmod cyblafb 217 rmmod cyblafb
206
diff --git a/Documentation/fb/cyblafb/whatsnew b/Documentation/fb/cyblafb/whatsnew
new file mode 100644
index 000000000000..76c07a26e044
--- /dev/null
+++ b/Documentation/fb/cyblafb/whatsnew
@@ -0,0 +1,29 @@
10.62
2====
3
4 - the vesafb parameter has been removed as I decided to allow the
5 feature without any special parameter.
6
7 - Cyblafb does not use the vga style of panning any longer, now the
8 "right view" register in the graphics engine IO space is used. Without
9 that change it was impossible to use all available memory, and without
10 access to all available memory it is impossible to ywrap.
11
12 - The imageblit function now uses hardware acceleration for all font
13 widths. Hardware blitting across pixel column 2048 is broken in the
14 cyberblade/i1 graphics core, but we work around that hardware bug.
15
16 - modes with vxres != xres are supported now.
17
18 - ywrap scrolling is supported now and the default. This is a big
19 performance gain.
20
21 - default video modes use vyres > yres and vxres > xres to allow
22 almost optimal scrolling speed for normal and rotated screens
23
24 - some features mainly usefull for debugging the upper layers of the
25 framebuffer system have been added, have a look at the code
26
27 - fixed: Oops after unloading cyblafb when reading /proc/io*
28
29 - we work around some bugs of the higher framebuffer layers.