diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/pvr2fb.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/video/pvr2fb.c b/drivers/video/pvr2fb.c index 2ba959a83eb0..0f88c30f94f8 100644 --- a/drivers/video/pvr2fb.c +++ b/drivers/video/pvr2fb.c | |||
@@ -333,24 +333,25 @@ static int pvr2fb_setcolreg(unsigned int regno, unsigned int red, | |||
333 | ((blue & 0xf800) >> 11); | 333 | ((blue & 0xf800) >> 11); |
334 | 334 | ||
335 | pvr2fb_set_pal_entry(par, regno, tmp); | 335 | pvr2fb_set_pal_entry(par, regno, tmp); |
336 | ((u16*)(info->pseudo_palette))[regno] = tmp; | ||
337 | break; | 336 | break; |
338 | case 24: /* RGB 888 */ | 337 | case 24: /* RGB 888 */ |
339 | red >>= 8; green >>= 8; blue >>= 8; | 338 | red >>= 8; green >>= 8; blue >>= 8; |
340 | ((u32*)(info->pseudo_palette))[regno] = (red << 16) | (green << 8) | blue; | 339 | tmp = (red << 16) | (green << 8) | blue; |
341 | break; | 340 | break; |
342 | case 32: /* ARGB 8888 */ | 341 | case 32: /* ARGB 8888 */ |
343 | red >>= 8; green >>= 8; blue >>= 8; | 342 | red >>= 8; green >>= 8; blue >>= 8; |
344 | tmp = (transp << 24) | (red << 16) | (green << 8) | blue; | 343 | tmp = (transp << 24) | (red << 16) | (green << 8) | blue; |
345 | 344 | ||
346 | pvr2fb_set_pal_entry(par, regno, tmp); | 345 | pvr2fb_set_pal_entry(par, regno, tmp); |
347 | ((u32*)(info->pseudo_palette))[regno] = tmp; | ||
348 | break; | 346 | break; |
349 | default: | 347 | default: |
350 | pr_debug("Invalid bit depth %d?!?\n", info->var.bits_per_pixel); | 348 | pr_debug("Invalid bit depth %d?!?\n", info->var.bits_per_pixel); |
351 | return 1; | 349 | return 1; |
352 | } | 350 | } |
353 | 351 | ||
352 | if (regno < 16) | ||
353 | ((u32*)(info->pseudo_palette))[regno] = tmp; | ||
354 | |||
354 | return 0; | 355 | return 0; |
355 | } | 356 | } |
356 | 357 | ||