diff options
author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2009-09-22 19:47:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-23 10:39:51 -0400 |
commit | 0e3ca33ac7aa88ac2f28d4ec99f0bfeaf2a2318d (patch) | |
tree | 1efc7c9649d0ffbf63ec42eac8455ff06c0ea487 /drivers/video/via | |
parent | 88017bda96a5fd568a982b01546c8fb1782dda62 (diff) |
viafb: remove duplicated CX700 register init
The current code initializes the register for CX700 chips 2 times due to a
missing break as discovered by Harald Welte.
As CX700 and VX800 have exactly the same register initialization we can
use one for both to avoid duplicated code.
As this is a pure code cleanup no measurable runtime effects are expected.
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')
-rw-r--r-- | drivers/video/via/hw.c | 5 | ||||
-rw-r--r-- | drivers/video/via/viamode.c | 61 | ||||
-rw-r--r-- | drivers/video/via/viamode.h | 1 |
3 files changed, 1 insertions, 66 deletions
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c index c8960003f47d..64a820c6d494 100644 --- a/drivers/video/via/hw.c +++ b/drivers/video/via/hw.c | |||
@@ -2271,11 +2271,8 @@ int viafb_setmode(int vmode_index, int hor_res, int ver_res, int video_bpp, | |||
2271 | break; | 2271 | break; |
2272 | 2272 | ||
2273 | case UNICHROME_CX700: | 2273 | case UNICHROME_CX700: |
2274 | viafb_write_regx(CX700_ModeXregs, NUM_TOTAL_CX700_ModeXregs); | ||
2275 | |||
2276 | case UNICHROME_VX800: | 2274 | case UNICHROME_VX800: |
2277 | viafb_write_regx(VX800_ModeXregs, NUM_TOTAL_VX800_ModeXregs); | 2275 | viafb_write_regx(CX700_ModeXregs, NUM_TOTAL_CX700_ModeXregs); |
2278 | |||
2279 | break; | 2276 | break; |
2280 | } | 2277 | } |
2281 | 2278 | ||
diff --git a/drivers/video/via/viamode.c b/drivers/video/via/viamode.c index 6dcf583a837d..e799b2d0ef32 100644 --- a/drivers/video/via/viamode.c +++ b/drivers/video/via/viamode.c | |||
@@ -329,67 +329,6 @@ struct io_reg CX700_ModeXregs[] = { {VIASR, SR10, 0xFF, 0x01}, | |||
329 | {VIACR, CRD2, 0xFF, 0xFF} /* TMDS/LVDS control register. */ | 329 | {VIACR, CRD2, 0xFF, 0xFF} /* TMDS/LVDS control register. */ |
330 | }; | 330 | }; |
331 | 331 | ||
332 | /* For VT3353: Common Setting for Video Mode */ | ||
333 | struct io_reg VX800_ModeXregs[] = { {VIASR, SR10, 0xFF, 0x01}, | ||
334 | {VIASR, SR15, 0x02, 0x02}, | ||
335 | {VIASR, SR16, 0xBF, 0x08}, | ||
336 | {VIASR, SR17, 0xFF, 0x1F}, | ||
337 | {VIASR, SR18, 0xFF, 0x4E}, | ||
338 | {VIASR, SR1A, 0xFB, 0x08}, | ||
339 | {VIASR, SR1B, 0xFF, 0xF0}, | ||
340 | {VIASR, SR1E, 0xFF, 0x01}, | ||
341 | {VIASR, SR2A, 0xFF, 0x00}, | ||
342 | {VIASR, SR2D, 0xFF, 0xFF}, /* VCK and LCK PLL power on. */ | ||
343 | {VIACR, CR0A, 0xFF, 0x1E}, /* Cursor Start */ | ||
344 | {VIACR, CR0B, 0xFF, 0x00}, /* Cursor End */ | ||
345 | {VIACR, CR0E, 0xFF, 0x00}, /* Cursor Location High */ | ||
346 | {VIACR, CR0F, 0xFF, 0x00}, /* Cursor Localtion Low */ | ||
347 | {VIACR, CR32, 0xFF, 0x00}, | ||
348 | {VIACR, CR33, 0xFF, 0x00}, | ||
349 | {VIACR, CR34, 0xFF, 0x00}, | ||
350 | {VIACR, CR35, 0xFF, 0x00}, | ||
351 | {VIACR, CR36, 0x08, 0x00}, | ||
352 | {VIACR, CR47, 0xC8, 0x00}, /* Clear VCK Plus. */ | ||
353 | {VIACR, CR62, 0xFF, 0x00}, /* Secondary Display Starting Address */ | ||
354 | {VIACR, CR63, 0xFF, 0x00}, /* Secondary Display Starting Address */ | ||
355 | {VIACR, CR64, 0xFF, 0x00}, /* Secondary Display Starting Address */ | ||
356 | {VIACR, CRA3, 0xFF, 0x00}, /* Secondary Display Starting Address */ | ||
357 | {VIACR, CR69, 0xFF, 0x00}, | ||
358 | {VIACR, CR6A, 0xFF, 0x40}, | ||
359 | {VIACR, CR6B, 0xFF, 0x00}, | ||
360 | {VIACR, CR6C, 0xFF, 0x00}, | ||
361 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Scaling Parameter 1 */ | ||
362 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Scaling Parameter 2 */ | ||
363 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Scaling Parameter 3 */ | ||
364 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Scaling Parameter 4 */ | ||
365 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Scaling Parameter 5 */ | ||
366 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Scaling Parameter 6 */ | ||
367 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Scaling Parameter 7 */ | ||
368 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Scaling Parameter 8 */ | ||
369 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Scaling Parameter 9 */ | ||
370 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Scaling Parameter 10 */ | ||
371 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Scaling Parameter 11 */ | ||
372 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Scaling Parameter 12 */ | ||
373 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Scaling Parameter 13 */ | ||
374 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Scaling Parameter 14 */ | ||
375 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ | ||
376 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ | ||
377 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ | ||
378 | {VIACR, CRD4, 0xFF, 0x81}, /* Second power sequence control */ | ||
379 | {VIACR, CR8B, 0xFF, 0x5D}, /* LCD Power Sequence Control 0 */ | ||
380 | {VIACR, CR8C, 0xFF, 0x2B}, /* LCD Power Sequence Control 1 */ | ||
381 | {VIACR, CR8D, 0xFF, 0x6F}, /* LCD Power Sequence Control 2 */ | ||
382 | {VIACR, CR8E, 0xFF, 0x2B}, /* LCD Power Sequence Control 3 */ | ||
383 | {VIACR, CR8F, 0xFF, 0x01}, /* LCD Power Sequence Control 4 */ | ||
384 | {VIACR, CR90, 0xFF, 0x01}, /* LCD Power Sequence Control 5 */ | ||
385 | {VIACR, CR91, 0xFF, 0x80}, /* 24/12 bit LVDS Data off */ | ||
386 | {VIACR, CR96, 0xFF, 0x00}, | ||
387 | {VIACR, CR97, 0xFF, 0x00}, | ||
388 | {VIACR, CR99, 0xFF, 0x00}, | ||
389 | {VIACR, CR9B, 0xFF, 0x00}, | ||
390 | {VIACR, CRD2, 0xFF, 0xFF} /* TMDS/LVDS control register. */ | ||
391 | }; | ||
392 | |||
393 | /* Video Mode Table */ | 332 | /* Video Mode Table */ |
394 | /* Common Setting for Video Mode */ | 333 | /* Common Setting for Video Mode */ |
395 | struct io_reg CLE266_ModeXregs[] = { {VIASR, SR1E, 0xF0, 0x00}, | 334 | struct io_reg CLE266_ModeXregs[] = { {VIASR, SR1E, 0xF0, 0x00}, |
diff --git a/drivers/video/via/viamode.h b/drivers/video/via/viamode.h index 1a5de50a23a2..2ec8bfee06f1 100644 --- a/drivers/video/via/viamode.h +++ b/drivers/video/via/viamode.h | |||
@@ -56,7 +56,6 @@ struct res_map_refresh { | |||
56 | #define NUM_TOTAL_CN700_ModeXregs ARRAY_SIZE(CN700_ModeXregs) | 56 | #define NUM_TOTAL_CN700_ModeXregs ARRAY_SIZE(CN700_ModeXregs) |
57 | #define NUM_TOTAL_KM400_ModeXregs ARRAY_SIZE(KM400_ModeXregs) | 57 | #define NUM_TOTAL_KM400_ModeXregs ARRAY_SIZE(KM400_ModeXregs) |
58 | #define NUM_TOTAL_CX700_ModeXregs ARRAY_SIZE(CX700_ModeXregs) | 58 | #define NUM_TOTAL_CX700_ModeXregs ARRAY_SIZE(CX700_ModeXregs) |
59 | #define NUM_TOTAL_VX800_ModeXregs ARRAY_SIZE(VX800_ModeXregs) | ||
60 | #define NUM_TOTAL_CLE266_ModeXregs ARRAY_SIZE(CLE266_ModeXregs) | 59 | #define NUM_TOTAL_CLE266_ModeXregs ARRAY_SIZE(CLE266_ModeXregs) |
61 | #define NUM_TOTAL_PATCH_MODE ARRAY_SIZE(res_patch_table) | 60 | #define NUM_TOTAL_PATCH_MODE ARRAY_SIZE(res_patch_table) |
62 | #define NUM_TOTAL_MODETABLE ARRAY_SIZE(CLE266Modes) | 61 | #define NUM_TOTAL_MODETABLE ARRAY_SIZE(CLE266Modes) |