diff options
Diffstat (limited to 'drivers/video/platinumfb.c')
-rw-r--r-- | drivers/video/platinumfb.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/video/platinumfb.c b/drivers/video/platinumfb.c index bacfabd9ce16..0a366d86f08e 100644 --- a/drivers/video/platinumfb.c +++ b/drivers/video/platinumfb.c | |||
@@ -223,10 +223,14 @@ static int platinumfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, | |||
223 | 223 | ||
224 | static inline int platinum_vram_reqd(int video_mode, int color_mode) | 224 | static inline int platinum_vram_reqd(int video_mode, int color_mode) |
225 | { | 225 | { |
226 | return vmode_attrs[video_mode-1].vres * | 226 | int baseval = vmode_attrs[video_mode-1].hres * (1<<color_mode); |
227 | (vmode_attrs[video_mode-1].hres * (1<<color_mode) + | 227 | |
228 | ((video_mode == VMODE_832_624_75) && | 228 | if ((video_mode == VMODE_832_624_75) && (color_mode > CMODE_8)) |
229 | (color_mode > CMODE_8)) ? 0x10 : 0x20) + 0x1000; | 229 | baseval += 0x10; |
230 | else | ||
231 | baseval += 0x20; | ||
232 | |||
233 | return vmode_attrs[video_mode-1].vres * baseval + 0x1000; | ||
230 | } | 234 | } |
231 | 235 | ||
232 | #define STORE_D2(a, d) { \ | 236 | #define STORE_D2(a, d) { \ |