diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-08 15:01:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-08 15:01:01 -0400 |
commit | d8e7b2b3ac5319fcee616488c628c2bbe7e2937b (patch) | |
tree | a04c26abab31d85e0a3a45a808a539fbb5a9b85c /drivers/video | |
parent | 1bfd16a6571db105d7d57acf768c1df297781f07 (diff) | |
parent | ab8d64d7d4ea49cf664ca5562263a8ba78f4541e (diff) |
Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
omapfb: Blizzard: constify register address tables
omapfb: Blizzard: fix pointer to be const
omapfb: Condition mutex acquisition
omap: iovmm: Add missing mutex_unlock
omap: iovmm: Fix incorrect spelling
omap: SRAM: flush the right address after memcpy in omap_sram_push
omap: Lock DPLL5 at boot
omap: Fix incorrect 730 vs 850 detection
OMAP3: PM: introduce a new powerdomain walk helper
OMAP3: PM: Enable GPIO module-level wakeups
OMAP3: PM: USBHOST: clear wakeup events on both hosts
OMAP3: PM: PRCM interrupt: only handle selected PRCM interrupts
OMAP3: PM: PRCM interrupt: check MPUGRPSEL register
OMAP3: PM: Prevent hang in prcm_interrupt_handler
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap/blizzard.c | 10 | ||||
-rw-r--r-- | drivers/video/omap/omapfb_main.c | 22 |
2 files changed, 19 insertions, 13 deletions
diff --git a/drivers/video/omap/blizzard.c b/drivers/video/omap/blizzard.c index d5e59556f9e2..70dadf9d2334 100644 --- a/drivers/video/omap/blizzard.c +++ b/drivers/video/omap/blizzard.c | |||
@@ -93,7 +93,7 @@ struct blizzard_reg_list { | |||
93 | }; | 93 | }; |
94 | 94 | ||
95 | /* These need to be saved / restored separately from the rest. */ | 95 | /* These need to be saved / restored separately from the rest. */ |
96 | static struct blizzard_reg_list blizzard_pll_regs[] = { | 96 | static const struct blizzard_reg_list blizzard_pll_regs[] = { |
97 | { | 97 | { |
98 | .start = 0x04, /* Don't save PLL ctrl (0x0C) */ | 98 | .start = 0x04, /* Don't save PLL ctrl (0x0C) */ |
99 | .end = 0x0a, | 99 | .end = 0x0a, |
@@ -104,7 +104,7 @@ static struct blizzard_reg_list blizzard_pll_regs[] = { | |||
104 | }, | 104 | }, |
105 | }; | 105 | }; |
106 | 106 | ||
107 | static struct blizzard_reg_list blizzard_gen_regs[] = { | 107 | static const struct blizzard_reg_list blizzard_gen_regs[] = { |
108 | { | 108 | { |
109 | .start = 0x18, /* SDRAM control */ | 109 | .start = 0x18, /* SDRAM control */ |
110 | .end = 0x20, | 110 | .end = 0x20, |
@@ -191,7 +191,7 @@ struct blizzard_struct { | |||
191 | 191 | ||
192 | struct omapfb_device *fbdev; | 192 | struct omapfb_device *fbdev; |
193 | struct lcd_ctrl_extif *extif; | 193 | struct lcd_ctrl_extif *extif; |
194 | struct lcd_ctrl *int_ctrl; | 194 | const struct lcd_ctrl *int_ctrl; |
195 | 195 | ||
196 | void (*power_up)(struct device *dev); | 196 | void (*power_up)(struct device *dev); |
197 | void (*power_down)(struct device *dev); | 197 | void (*power_down)(struct device *dev); |
@@ -1372,7 +1372,7 @@ static void blizzard_get_caps(int plane, struct omapfb_caps *caps) | |||
1372 | (1 << OMAPFB_COLOR_YUV420); | 1372 | (1 << OMAPFB_COLOR_YUV420); |
1373 | } | 1373 | } |
1374 | 1374 | ||
1375 | static void _save_regs(struct blizzard_reg_list *list, int cnt) | 1375 | static void _save_regs(const struct blizzard_reg_list *list, int cnt) |
1376 | { | 1376 | { |
1377 | int i; | 1377 | int i; |
1378 | 1378 | ||
@@ -1383,7 +1383,7 @@ static void _save_regs(struct blizzard_reg_list *list, int cnt) | |||
1383 | } | 1383 | } |
1384 | } | 1384 | } |
1385 | 1385 | ||
1386 | static void _restore_regs(struct blizzard_reg_list *list, int cnt) | 1386 | static void _restore_regs(const struct blizzard_reg_list *list, int cnt) |
1387 | { | 1387 | { |
1388 | int i; | 1388 | int i; |
1389 | 1389 | ||
diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c index 125e605b8c68..0d0c8c8b9b56 100644 --- a/drivers/video/omap/omapfb_main.c +++ b/drivers/video/omap/omapfb_main.c | |||
@@ -393,7 +393,7 @@ static void omapfb_sync(struct fb_info *fbi) | |||
393 | * Set fb_info.fix fields and also updates fbdev. | 393 | * Set fb_info.fix fields and also updates fbdev. |
394 | * When calling this fb_info.var must be set up already. | 394 | * When calling this fb_info.var must be set up already. |
395 | */ | 395 | */ |
396 | static void set_fb_fix(struct fb_info *fbi) | 396 | static void set_fb_fix(struct fb_info *fbi, int from_init) |
397 | { | 397 | { |
398 | struct fb_fix_screeninfo *fix = &fbi->fix; | 398 | struct fb_fix_screeninfo *fix = &fbi->fix; |
399 | struct fb_var_screeninfo *var = &fbi->var; | 399 | struct fb_var_screeninfo *var = &fbi->var; |
@@ -403,10 +403,16 @@ static void set_fb_fix(struct fb_info *fbi) | |||
403 | 403 | ||
404 | rg = &plane->fbdev->mem_desc.region[plane->idx]; | 404 | rg = &plane->fbdev->mem_desc.region[plane->idx]; |
405 | fbi->screen_base = rg->vaddr; | 405 | fbi->screen_base = rg->vaddr; |
406 | mutex_lock(&fbi->mm_lock); | 406 | |
407 | fix->smem_start = rg->paddr; | 407 | if (!from_init) { |
408 | fix->smem_len = rg->size; | 408 | mutex_lock(&fbi->mm_lock); |
409 | mutex_unlock(&fbi->mm_lock); | 409 | fix->smem_start = rg->paddr; |
410 | fix->smem_len = rg->size; | ||
411 | mutex_unlock(&fbi->mm_lock); | ||
412 | } else { | ||
413 | fix->smem_start = rg->paddr; | ||
414 | fix->smem_len = rg->size; | ||
415 | } | ||
410 | 416 | ||
411 | fix->type = FB_TYPE_PACKED_PIXELS; | 417 | fix->type = FB_TYPE_PACKED_PIXELS; |
412 | bpp = var->bits_per_pixel; | 418 | bpp = var->bits_per_pixel; |
@@ -704,7 +710,7 @@ static int omapfb_set_par(struct fb_info *fbi) | |||
704 | int r = 0; | 710 | int r = 0; |
705 | 711 | ||
706 | omapfb_rqueue_lock(fbdev); | 712 | omapfb_rqueue_lock(fbdev); |
707 | set_fb_fix(fbi); | 713 | set_fb_fix(fbi, 0); |
708 | r = ctrl_change_mode(fbi); | 714 | r = ctrl_change_mode(fbi); |
709 | omapfb_rqueue_unlock(fbdev); | 715 | omapfb_rqueue_unlock(fbdev); |
710 | 716 | ||
@@ -904,7 +910,7 @@ static int omapfb_setup_mem(struct fb_info *fbi, struct omapfb_mem_info *mi) | |||
904 | if (old_size != size) { | 910 | if (old_size != size) { |
905 | if (size) { | 911 | if (size) { |
906 | memcpy(&fbi->var, new_var, sizeof(fbi->var)); | 912 | memcpy(&fbi->var, new_var, sizeof(fbi->var)); |
907 | set_fb_fix(fbi); | 913 | set_fb_fix(fbi, 0); |
908 | } else { | 914 | } else { |
909 | /* | 915 | /* |
910 | * Set these explicitly to indicate that the | 916 | * Set these explicitly to indicate that the |
@@ -1504,7 +1510,7 @@ static int fbinfo_init(struct omapfb_device *fbdev, struct fb_info *info) | |||
1504 | var->bits_per_pixel = fbdev->panel->bpp; | 1510 | var->bits_per_pixel = fbdev->panel->bpp; |
1505 | 1511 | ||
1506 | set_fb_var(info, var); | 1512 | set_fb_var(info, var); |
1507 | set_fb_fix(info); | 1513 | set_fb_fix(info, 1); |
1508 | 1514 | ||
1509 | r = fb_alloc_cmap(&info->cmap, 16, 0); | 1515 | r = fb_alloc_cmap(&info->cmap, 16, 0); |
1510 | if (r != 0) | 1516 | if (r != 0) |