From abc9491df2d5c50f6851f7f50f04d35014585789 Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Tue, 13 Sep 2005 13:32:45 +0300 Subject: [PATCH] ARM: OMAP: Fixed merge conflicts Fixed merge conflicts --- drivers/video/Kconfig | 82 ++++++++++++++++++++++++++++++------ include/asm-arm/cacheflush.h | 25 +++++++++++ include/linux/fb.h | 30 +++++++++++-- sound/arm/Makefile | 19 +++++---- 4 files changed, 132 insertions(+), 24 deletions(-) diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 33559438b68..e673b80be9e 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -650,7 +650,6 @@ config FB_NVIDIA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_SOFT_CURSOR help This driver supports graphics boards with the nVidia chips, TNT and newer. For very old chipsets, such as the RIVA128, then use @@ -681,7 +680,6 @@ config FB_RIVA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_SOFT_CURSOR help This driver supports graphics boards with the nVidia Riva/Geforce chips. @@ -720,7 +718,6 @@ config FB_I810 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_SOFT_CURSOR help This driver supports the on-board graphics built in to the Intel 810 and 815 chipsets. Say Y if you have and plan to use such a board. @@ -754,6 +751,12 @@ config FB_I810_GTF If unsure, say N. +config FB_I810_I2C + bool "Enable DDC Support" + depends on FB_I810 && I2C && FB_I810_GTF + select I2C_ALGOBIT + help + config FB_INTEL tristate "Intel 830M/845G/852GM/855GM/865G support (EXPERIMENTAL)" depends on FB && EXPERIMENTAL && PCI && X86 && !X86_64 @@ -763,7 +766,6 @@ config FB_INTEL select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_SOFT_CURSOR help This driver supports the on-board graphics built in to the Intel 830M/845G/852GM/855GM/865G chipsets. @@ -960,8 +962,7 @@ config FB_RADEON can be build either as modules or built-in. There is a product page at - . - + http://apps.ati.com/ATIcompare/ config FB_RADEON_I2C bool "DDC/I2C for ATI Radeon support" depends on FB_RADEON @@ -1084,15 +1085,16 @@ config FB_SAVAGE_ACCEL choose N here. config FB_SIS - tristate "SiS acceleration" + tristate "SiS/XGI display support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_SOFT_CURSOR help - This is the frame buffer device driver for the SiS 300, 315 and - 330 series VGA chipsets. Specs available at + This is the frame buffer device driver for the SiS 300, 315, 330 + and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets. + Specs available at and . To compile this driver as a module, choose M here; the module will be called sisfb. @@ -1104,11 +1106,12 @@ config FB_SIS_300 Say Y here to support use of the SiS 300/305, 540, 630 and 730. config FB_SIS_315 - bool "SiS 315/330 series support" + bool "SiS 315/330/340 series and XGI support" depends on FB_SIS help - Say Y here to support use of the SiS 315 and 330 series - (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760). + Say Y here to support use of the SiS 315, 330 and 340 series + (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well + as XGI V3XT, V5, V8 and Z7. config FB_NEOMAGIC tristate "NeoMagic display support" @@ -1180,6 +1183,32 @@ config FB_VOODOO1 Please read the for supported options and other important info support. +config FB_CYBLA + tristate "Cyberblade/i1 support" + depends on FB && PCI + select FB_CFB_IMAGEBLIT + select FB_SOFT_CURSOR + select VIDEO_SELECT + ---help--- + This driver is supposed to support the Trident Cyberblade/i1 + graphics core integrated in the VIA VT8601A North Bridge, + also known as VIA Apollo PLE133. + + Status: + - Developed, tested and working on EPIA 5000 and EPIA 800. + - Does work reliable on all systems with CRT/LCD connected to + normal VGA ports. + - Should work on systems that do use the internal LCD port, but + this is absolutely not tested. + + Character imageblit, copyarea and rectangle fill are hw accelerated, + ypan scrolling is used by default. + + Please do read . + + To compile this driver as a module, choose M here: the + module will be called cyblafb. + config FB_TRIDENT tristate "Trident support" depends on FB && PCI @@ -1193,8 +1222,12 @@ config FB_TRIDENT but also on some motherboards. For more information, read + Cyberblade/i1 support will be removed soon, use the cyblafb driver + instead. + Say Y if you have such a graphics board. + To compile this driver as a module, choose M here: the module will be called tridentfb. @@ -1205,7 +1238,6 @@ config FB_TRIDENT_ACCEL This will compile the Trident frame buffer device with acceleration functions. - config FB_PM3 tristate "Permedia3 support" depends on FB && PCI && BROKEN @@ -1484,6 +1516,30 @@ config FB_S1D13XXX working with S1D13806). Product specs at +config FB_S3C2410 + tristate "S3C2410 LCD framebuffer support" + depends on FB && ARCH_S3C2410 + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + select FB_SOFT_CURSOR + ---help--- + Frame buffer driver for the built-in LCD controller in the Samsung + S3C2410 processor. + + This driver is also available as a module ( = code which can be + inserted and removed from the running kernel whenever you want). The + module will be called s3c2410fb. If you want to compile it as a module, + say M here and read . + + If unsure, say N. +config FB_S3C2410_DEBUG + bool "S3C2410 lcd debug messages" + depends on FB_S3C2410 + help + Turn on debugging messages. Note that you can set/unset at run time + through sysfs + config FB_OMAP tristate "OMAP frame buffer support (EXPERIMENTAL)" depends on FB && ARCH_OMAP1 diff --git a/include/asm-arm/cacheflush.h b/include/asm-arm/cacheflush.h index ca51ed8750e..e81baff4f54 100644 --- a/include/asm-arm/cacheflush.h +++ b/include/asm-arm/cacheflush.h @@ -256,9 +256,34 @@ extern void dmac_flush_range(unsigned long, unsigned long); * Convert calls to our calling convention. */ #define flush_cache_all() __cpuc_flush_kern_all() +#ifndef CONFIG_CPU_CACHE_VIPT +static inline void flush_cache_mm(struct mm_struct *mm) +{ + if (cpu_isset(smp_processor_id(), mm->cpu_vm_mask)) + __cpuc_flush_user_all(); +} + +static inline void +flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) +{ + if (cpu_isset(smp_processor_id(), vma->vm_mm->cpu_vm_mask)) + __cpuc_flush_user_range(start & PAGE_MASK, PAGE_ALIGN(end), + vma->vm_flags); +} + +static inline void +flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsigned long pfn) +{ + if (cpu_isset(smp_processor_id(), vma->vm_mm->cpu_vm_mask)) { + unsigned long addr = user_addr & PAGE_MASK; + __cpuc_flush_user_range(addr, addr + PAGE_SIZE, vma->vm_flags); + } +} +#else extern void flush_cache_mm(struct mm_struct *mm); extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); extern void flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsigned long pfn); +#endif /* * flush_cache_user_range is used when we want to ensure that the diff --git a/include/linux/fb.h b/include/linux/fb.h index 9eacff0076d..9879ced596f 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -107,7 +107,9 @@ #define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */ #define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */ #define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */ -#define FB_ACCEL_OMAP1610 47 /* TI OMAP16xx */ +#define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */ +#define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */ +#define FB_ACCEL_OMAP1610 49 /* TI OMAP16xx */ #define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ #define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ #define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ @@ -496,6 +498,9 @@ struct fb_cursor_user { #define FB_EVENT_BLANK 0x08 /* Private modelist is to be replaced */ #define FB_EVENT_NEW_MODELIST 0x09 +/* The resolution of the passed in fb_info about to change and + all vc's should be changed */ +#define FB_EVENT_MODE_CHANGE_ALL 0x0A struct fb_event { struct fb_info *info; @@ -821,13 +826,29 @@ extern void fb_pad_unaligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 idx, u32 height, u32 shift_high, u32 shift_low, u32 mod); extern void fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch, u32 height); extern void fb_set_suspend(struct fb_info *info, int state); -extern int fb_get_color_depth(struct fb_var_screeninfo *var); +extern int fb_get_color_depth(struct fb_var_screeninfo *var, + struct fb_fix_screeninfo *fix); extern int fb_get_options(char *name, char **option); extern int fb_new_modelist(struct fb_info *info); extern struct fb_info *registered_fb[FB_MAX]; extern int num_registered_fb; +static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, + u8 *src, u32 s_pitch, u32 height) +{ + int i, j; + + d_pitch -= s_pitch; + + for (i = height; i--; ) { + /* s_pitch is a few bytes at the most, memcpy is suboptimal */ + for (j = 0; j < s_pitch; j++) + *dst++ = *src++; + dst += d_pitch; + } +} + /* drivers/video/fbsysfs.c */ extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev); extern void framebuffer_release(struct fb_info *info); @@ -857,8 +878,11 @@ extern int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var, extern int fb_validate_mode(const struct fb_var_screeninfo *var, struct fb_info *info); extern int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var); -extern void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs); +extern const unsigned char *fb_firmware_edid(struct device *device); +extern void fb_edid_to_monspecs(unsigned char *edid, + struct fb_monspecs *specs); extern void fb_destroy_modedb(struct fb_videomode *modedb); +extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb); /* drivers/video/modedb.c */ #define VESA_MODEDB_SIZE 34 diff --git a/sound/arm/Makefile b/sound/arm/Makefile index 8c0c38c1bd1..019a9f03c2c 100644 --- a/sound/arm/Makefile +++ b/sound/arm/Makefile @@ -2,14 +2,17 @@ # Makefile for ALSA # -snd-sa11xx-uda1341-objs := sa11xx-uda1341.o -snd-aaci-objs := aaci.o devdma.o -snd-pxa2xx-pcm-objs := pxa2xx-pcm.o -snd-pxa2xx-ac97-objs := pxa2xx-ac97.o -snd-omap-aic23-objs := omap-aic23.o omap-alsa-dma.o omap-alsa-mixer.o - obj-$(CONFIG_SND_SA11XX_UDA1341) += snd-sa11xx-uda1341.o +snd-sa11xx-uda1341-objs := sa11xx-uda1341.o + obj-$(CONFIG_SND_ARMAACI) += snd-aaci.o -obj-$(CONFIG_SND_PXA2XX_PCM) += snd-pxa2xx-pcm.o -obj-$(CONFIG_SND_PXA2XX_AC97) += snd-pxa2xx-ac97.o +snd-aaci-objs := aaci.o devdma.o + +obj-$(CONFIG_SND_PXA2XX_PCM) += snd-pxa2xx-pcm.o +snd-pxa2xx-pcm-objs := pxa2xx-pcm.o + +obj-$(CONFIG_SND_PXA2XX_AC97) += snd-pxa2xx-ac97.o +snd-pxa2xx-ac97-objs := pxa2xx-ac97.o + obj-$(CONFIG_SND_OMAP_AIC23) += snd-omap-aic23.o +snd-omap-aic23-objs := omap-aic23.o omap-alsa-dma.o omap-alsa-mixer.o -- 2.41.1