diff options
author | Paul Mackerras <paulus@samba.org> | 2006-02-23 22:05:47 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-02-23 22:05:47 -0500 |
commit | a00428f5b149e36b8225b2a0812742a6dfb07b8c (patch) | |
tree | a78869cd67cf78a0eb091fb0ea5d397734bd6738 /drivers/video | |
parent | 774fee58c465ea1c7e9775e347ec307bcf2deeb3 (diff) | |
parent | fb5c594c2acc441f0d2d8f457484a0e0e9285db3 (diff) |
Merge ../powerpc-merge
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/Kconfig | 5 | ||||
-rw-r--r-- | drivers/video/aty/radeon_pm.c | 19 | ||||
-rw-r--r-- | drivers/video/fbmem.c | 2 | ||||
-rw-r--r-- | drivers/video/gbefb.c | 2 | ||||
-rw-r--r-- | drivers/video/neofb.c | 17 | ||||
-rw-r--r-- | drivers/video/nvidia/nvidia.c | 2 | ||||
-rw-r--r-- | drivers/video/s3c2410fb.c | 1 |
7 files changed, 36 insertions, 12 deletions
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 3e153d313bb0..e64ed16bd42f 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig | |||
@@ -525,11 +525,6 @@ config FB_GBE_MEM | |||
525 | This is the amount of memory reserved for the framebuffer, | 525 | This is the amount of memory reserved for the framebuffer, |
526 | which can be any value between 1MB and 8MB. | 526 | which can be any value between 1MB and 8MB. |
527 | 527 | ||
528 | config BUS_I2C | ||
529 | bool | ||
530 | depends on (FB = y) && VISWS | ||
531 | default y | ||
532 | |||
533 | config FB_SUN3 | 528 | config FB_SUN3 |
534 | bool "Sun3 framebuffer support" | 529 | bool "Sun3 framebuffer support" |
535 | depends on (FB = y) && (SUN3 || SUN3X) && BROKEN | 530 | depends on (FB = y) && (SUN3 || SUN3X) && BROKEN |
diff --git a/drivers/video/aty/radeon_pm.c b/drivers/video/aty/radeon_pm.c index 556895e99645..1f8d805c61e5 100644 --- a/drivers/video/aty/radeon_pm.c +++ b/drivers/video/aty/radeon_pm.c | |||
@@ -1321,8 +1321,6 @@ static void radeon_pm_full_reset_sdram(struct radeonfb_info *rinfo) | |||
1321 | mdelay( 15); | 1321 | mdelay( 15); |
1322 | } | 1322 | } |
1323 | 1323 | ||
1324 | #ifdef CONFIG_PPC_OF | ||
1325 | |||
1326 | static void radeon_pm_reset_pad_ctlr_strength(struct radeonfb_info *rinfo) | 1324 | static void radeon_pm_reset_pad_ctlr_strength(struct radeonfb_info *rinfo) |
1327 | { | 1325 | { |
1328 | u32 tmp, tmp2; | 1326 | u32 tmp, tmp2; |
@@ -1836,6 +1834,8 @@ static void radeon_reinitialize_M10(struct radeonfb_info *rinfo) | |||
1836 | radeon_pm_m10_enable_lvds_spread_spectrum(rinfo); | 1834 | radeon_pm_m10_enable_lvds_spread_spectrum(rinfo); |
1837 | } | 1835 | } |
1838 | 1836 | ||
1837 | #ifdef CONFIG_PPC_OF | ||
1838 | |||
1839 | static void radeon_pm_m9p_reconfigure_mc(struct radeonfb_info *rinfo) | 1839 | static void radeon_pm_m9p_reconfigure_mc(struct radeonfb_info *rinfo) |
1840 | { | 1840 | { |
1841 | OUTREG(MC_CNTL, rinfo->save_regs[46]); | 1841 | OUTREG(MC_CNTL, rinfo->save_regs[46]); |
@@ -2728,13 +2728,23 @@ void radeonfb_pm_init(struct radeonfb_info *rinfo, int dynclk) | |||
2728 | printk("radeonfb: Dynamic Clock Power Management disabled\n"); | 2728 | printk("radeonfb: Dynamic Clock Power Management disabled\n"); |
2729 | } | 2729 | } |
2730 | 2730 | ||
2731 | #if defined(CONFIG_PM) | ||
2731 | /* Check if we can power manage on suspend/resume. We can do | 2732 | /* Check if we can power manage on suspend/resume. We can do |
2732 | * D2 on M6, M7 and M9, and we can resume from D3 cold a few other | 2733 | * D2 on M6, M7 and M9, and we can resume from D3 cold a few other |
2733 | * "Mac" cards, but that's all. We need more infos about what the | 2734 | * "Mac" cards, but that's all. We need more infos about what the |
2734 | * BIOS does tho. Right now, all this PM stuff is pmac-only for that | 2735 | * BIOS does tho. Right now, all this PM stuff is pmac-only for that |
2735 | * reason. --BenH | 2736 | * reason. --BenH |
2736 | */ | 2737 | */ |
2737 | #if defined(CONFIG_PM) && defined(CONFIG_PPC_PMAC) | 2738 | /* Special case for Samsung P35 laptops |
2739 | */ | ||
2740 | if ((rinfo->pdev->vendor == PCI_VENDOR_ID_ATI) && | ||
2741 | (rinfo->pdev->device == PCI_CHIP_RV350_NP) && | ||
2742 | (rinfo->pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG) && | ||
2743 | (rinfo->pdev->subsystem_device == 0xc00c)) { | ||
2744 | rinfo->reinit_func = radeon_reinitialize_M10; | ||
2745 | rinfo->pm_mode |= radeon_pm_off; | ||
2746 | } | ||
2747 | #if defined(CONFIG_PPC_PMAC) | ||
2738 | if (_machine == _MACH_Pmac && rinfo->of_node) { | 2748 | if (_machine == _MACH_Pmac && rinfo->of_node) { |
2739 | if (rinfo->is_mobility && rinfo->pm_reg && | 2749 | if (rinfo->is_mobility && rinfo->pm_reg && |
2740 | rinfo->family <= CHIP_FAMILY_RV250) | 2750 | rinfo->family <= CHIP_FAMILY_RV250) |
@@ -2778,7 +2788,8 @@ void radeonfb_pm_init(struct radeonfb_info *rinfo, int dynclk) | |||
2778 | OUTREG(TV_DAC_CNTL, INREG(TV_DAC_CNTL) | 0x07000000); | 2788 | OUTREG(TV_DAC_CNTL, INREG(TV_DAC_CNTL) | 0x07000000); |
2779 | #endif | 2789 | #endif |
2780 | } | 2790 | } |
2781 | #endif /* defined(CONFIG_PM) && defined(CONFIG_PPC_PMAC) */ | 2791 | #endif /* defined(CONFIG_PPC_PMAC) */ |
2792 | #endif /* defined(CONFIG_PM) */ | ||
2782 | } | 2793 | } |
2783 | 2794 | ||
2784 | void radeonfb_pm_exit(struct radeonfb_info *rinfo) | 2795 | void radeonfb_pm_exit(struct radeonfb_info *rinfo) |
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index d2dede6ed3e5..996c7b58564e 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c | |||
@@ -1550,6 +1550,7 @@ int fb_get_options(char *name, char **option) | |||
1550 | return retval; | 1550 | return retval; |
1551 | } | 1551 | } |
1552 | 1552 | ||
1553 | #ifndef MODULE | ||
1553 | /** | 1554 | /** |
1554 | * video_setup - process command line options | 1555 | * video_setup - process command line options |
1555 | * @options: string of options | 1556 | * @options: string of options |
@@ -1593,6 +1594,7 @@ static int __init video_setup(char *options) | |||
1593 | return 0; | 1594 | return 0; |
1594 | } | 1595 | } |
1595 | __setup("video=", video_setup); | 1596 | __setup("video=", video_setup); |
1597 | #endif | ||
1596 | 1598 | ||
1597 | /* | 1599 | /* |
1598 | * Visible symbols for modules | 1600 | * Visible symbols for modules |
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c index 38d22729b129..c9a7cdf6d543 100644 --- a/drivers/video/gbefb.c +++ b/drivers/video/gbefb.c | |||
@@ -1243,7 +1243,7 @@ static int __devexit gbefb_remove(struct platform_device* p_dev) | |||
1243 | (void *)gbe_tiles.cpu, gbe_tiles.dma); | 1243 | (void *)gbe_tiles.cpu, gbe_tiles.dma); |
1244 | release_mem_region(GBE_BASE, sizeof(struct sgi_gbe)); | 1244 | release_mem_region(GBE_BASE, sizeof(struct sgi_gbe)); |
1245 | iounmap(gbe); | 1245 | iounmap(gbe); |
1246 | gbefb_remove_sysfs(dev); | 1246 | gbefb_remove_sysfs(&p_dev->dev); |
1247 | framebuffer_release(info); | 1247 | framebuffer_release(info); |
1248 | 1248 | ||
1249 | return 0; | 1249 | return 0; |
diff --git a/drivers/video/neofb.c b/drivers/video/neofb.c index 747602aa5615..a2e201dc40f7 100644 --- a/drivers/video/neofb.c +++ b/drivers/video/neofb.c | |||
@@ -843,6 +843,9 @@ static int neofb_set_par(struct fb_info *info) | |||
843 | 843 | ||
844 | par->SysIfaceCntl2 = 0xc0; /* VESA Bios sets this to 0x80! */ | 844 | par->SysIfaceCntl2 = 0xc0; /* VESA Bios sets this to 0x80! */ |
845 | 845 | ||
846 | /* Initialize: by default, we want display config register to be read */ | ||
847 | par->PanelDispCntlRegRead = 1; | ||
848 | |||
846 | /* Enable any user specified display devices. */ | 849 | /* Enable any user specified display devices. */ |
847 | par->PanelDispCntlReg1 = 0x00; | 850 | par->PanelDispCntlReg1 = 0x00; |
848 | if (par->internal_display) | 851 | if (par->internal_display) |
@@ -1334,6 +1337,18 @@ static int neofb_blank(int blank_mode, struct fb_info *info) | |||
1334 | struct neofb_par *par = info->par; | 1337 | struct neofb_par *par = info->par; |
1335 | int seqflags, lcdflags, dpmsflags, reg; | 1338 | int seqflags, lcdflags, dpmsflags, reg; |
1336 | 1339 | ||
1340 | |||
1341 | /* | ||
1342 | * Reload the value stored in the register, if sensible. It might have | ||
1343 | * been changed via FN keystroke. | ||
1344 | */ | ||
1345 | if (par->PanelDispCntlRegRead) { | ||
1346 | neoUnlock(); | ||
1347 | par->PanelDispCntlReg1 = vga_rgfx(NULL, 0x20) & 0x03; | ||
1348 | neoLock(&par->state); | ||
1349 | } | ||
1350 | par->PanelDispCntlRegRead = !blank_mode; | ||
1351 | |||
1337 | switch (blank_mode) { | 1352 | switch (blank_mode) { |
1338 | case FB_BLANK_POWERDOWN: /* powerdown - both sync lines down */ | 1353 | case FB_BLANK_POWERDOWN: /* powerdown - both sync lines down */ |
1339 | seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ | 1354 | seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ |
@@ -1366,7 +1381,7 @@ static int neofb_blank(int blank_mode, struct fb_info *info) | |||
1366 | case FB_BLANK_NORMAL: /* just blank screen (backlight stays on) */ | 1381 | case FB_BLANK_NORMAL: /* just blank screen (backlight stays on) */ |
1367 | seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ | 1382 | seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ |
1368 | lcdflags = par->PanelDispCntlReg1 & 0x02; /* LCD normal */ | 1383 | lcdflags = par->PanelDispCntlReg1 & 0x02; /* LCD normal */ |
1369 | dpmsflags = 0; /* no hsync/vsync suppression */ | 1384 | dpmsflags = 0x00; /* no hsync/vsync suppression */ |
1370 | break; | 1385 | break; |
1371 | case FB_BLANK_UNBLANK: /* unblank */ | 1386 | case FB_BLANK_UNBLANK: /* unblank */ |
1372 | seqflags = 0; /* Enable sequencer */ | 1387 | seqflags = 0; /* Enable sequencer */ |
diff --git a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c index dbcb8962e57d..a7c4e5e8ead6 100644 --- a/drivers/video/nvidia/nvidia.c +++ b/drivers/video/nvidia/nvidia.c | |||
@@ -138,6 +138,8 @@ static struct pci_device_id nvidiafb_pci_tbl[] = { | |||
138 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 138 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
139 | {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_420_8X, | 139 | {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_420_8X, |
140 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 140 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
141 | {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_4000, | ||
142 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
141 | {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_448_GO, | 143 | {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_448_GO, |
142 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 144 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
143 | {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_488_GO, | 145 | {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_488_GO, |
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c index d574dd3c9c8a..9451932fbaf2 100644 --- a/drivers/video/s3c2410fb.c +++ b/drivers/video/s3c2410fb.c | |||
@@ -82,7 +82,6 @@ | |||
82 | #include <linux/fb.h> | 82 | #include <linux/fb.h> |
83 | #include <linux/init.h> | 83 | #include <linux/init.h> |
84 | #include <linux/dma-mapping.h> | 84 | #include <linux/dma-mapping.h> |
85 | #include <linux/string.h> | ||
86 | #include <linux/interrupt.h> | 85 | #include <linux/interrupt.h> |
87 | #include <linux/workqueue.h> | 86 | #include <linux/workqueue.h> |
88 | #include <linux/wait.h> | 87 | #include <linux/wait.h> |