Archived
14
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
linux-2.6/drivers/video
InKi Dae 39000d654c Samsung SoC Framebuffer driver: add Alpha Channel support
Add support for the ARGB1888 and ARGB4888 hardware to the Samsung SoC
Framebuffer driver (s3c-fb.c).

ARGB1888 and ARGB4888 is decided by var->transp.length and this variable
is set by s3c_fb_check_var().

In s3c_fb_check_var(), if var->vits_per_pixel is 25 or 28, then
var->transp.length would be 1 or 3.

Therefore alpha mode(ARGB1888 or ARGB4888) could be decided through that
variable.

For using alpha mode, you need to set the following: This code should be
added to your machine code as platform data.

static struct s3c_fb_pd_win xxx_fb_win0 = {
	/* this is to ensure we use win0 */
	.win_mode = {
		.pixclock		= (8+8+8+240)*(38+4+38+400),
		.left_margin	= 8,
		.right_margin	= 8,
		.upper_margin	= 38,
		.lower_margin	= 38,
		.hsync_len		= 8,
		.vsync_len		= 4,
		.xres			= 240,
		.yres			= 400,
	},
	.max_bpp		= 32,
	.default_bpp	= 24,
};

static struct s3c_fb_pd_win xxx_fb_win1 = {
	.win_mode = {
		.pixclock		= (8+8+8+240)*(38+4+38+400),
		.left_margin	= 8,
		.right_margin	= 8,
		.upper_margin	= 38,
		.lower_margin	= 38,
		.hsync_len		= 8,
		.vsync_len		= 4,
		.xres			= 240,
		.yres			= 400,
	},
	.max_bpp		= 32,
	.default_bpp	= 28,
};

static struct s3c_fb_platdata xxx_lcd_pdata __initdata = {
	.win[0]		= &ncp_fb_win0,
	.win[1]		= &ncp_fb_win1,
	.vidcon0	= VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
	.vidcon1	= VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
	.setup_gpio	= xxx_fb_gpio_setup,
};

s3c_fb_set_platdata(&xxx_lcd_pdata);

The above code sets pixelformat for window0 layer to RGB888 and window1
layer to ARGB4888.

Signed-off-by: InKi Dae <inki.dae@samsung.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Kyungmin Park <kmpark@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-06-16 19:47:58 -07:00
..
aty module_param: invbool should take a 'bool', not an 'int' 2009-06-12 21:46:56 +09:30
backlight fbdev: fix info->lock deadlock in fbcon_event_notify() 2009-04-13 15:04:28 -07:00
console vgacon: use slab allocator instead of the bootmem allocator 2009-06-11 19:33:34 +03:00
display
geode
i810 i810: fix kernel crash fix when struct fb_var_screeninfo is supplied 2009-03-10 15:55:12 -07:00
intelfb intelfb: support i854 2009-04-13 15:04:32 -07:00
kyro
logo fbdev: move logo externs to header file 2009-06-16 19:47:57 -07:00
matrox
mb862xx
mbx
nvidia fb: nvidiafb recognizes geforcego 7300 chip as mobile 2009-04-02 19:04:48 -07:00
omap ARM: OMAP1: Make 770 LCD work 2009-05-28 14:03:31 -07:00
pnx4008
riva
savage
sis sisfb: fix color component length for pseudocolor modes 2009-04-13 15:04:30 -07:00
vermilion
via viafb: make it work on x86_64 2009-05-12 14:11:35 -07:00
68328fb.c 68328fb: fix cmap memory leaks 2009-04-01 08:59:31 -07:00
acornfb.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
acornfb.h
amba-clcd.c [ARM] 5544/1: Trust PrimeCell resource sizes 2009-06-11 15:36:56 +01:00
amifb.c amifb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:31 -07:00
arcfb.c
arkfb.c arkfb: fix misplaced parentheses 2009-04-01 08:59:32 -07:00
asiliantfb.c asiliantfb: add missing return statement 2009-04-21 13:41:47 -07:00
atafb.c m68k: atari - Rename "mfp" to "st_mfp" 2009-02-22 09:23:02 -08:00
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c atmel-lcdc: fix pixclock upper bound detection 2009-06-16 19:47:58 -07:00
au1100fb.c platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' 2009-03-24 16:38:25 -07:00
au1100fb.h
au1200fb.c platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' 2009-03-24 16:38:25 -07:00
au1200fb.h
bf54x-lq043fb.c
bfin-t350mcqb-fb.c
broadsheetfb.c
bt431.h
bt455.h
bw2.c
c2p.h
c2p_core.h
c2p_iplan2.c
c2p_planar.c
carminefb.c
carminefb.h
carminefb_regs.h
cfbcopyarea.c
cfbfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
cfbimgblt.c
cg3.c
cg6.c
cg14.c
chipsfb.c chipsfb: remove redundant assignment 2009-06-16 19:47:58 -07:00
cirrusfb.c cirrusfb: do not allow unsupported pixel depth 2009-04-13 15:04:30 -07:00
clps711xfb.c
cobalt_lcdfb.c
controlfb.c
controlfb.h
cyber2000fb.c cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK 2009-06-12 21:46:53 +09:30
cyber2000fb.h
dnfb.c
edid.h
efifb.c efifb: exit if framebuffer address is invalid 2009-04-13 15:04:29 -07:00
epson1355fb.c
fb_ddc.c
fb_defio.c mm: page_mkwrite change prototype to match fault 2009-04-01 08:59:14 -07:00
fb_draw.h fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c fbdev: fix info->lock deadlock in fbcon_event_notify() 2009-04-13 15:04:28 -07:00
fbmon.c
fbsysfs.c
ffb.c
fm2fb.c
fsl-diu-fb.c fsl-diu-fb: Pass the proper device for dma mapping routines 2009-04-06 09:12:38 -05:00
fsl-diu-fb.h
g364fb.c
gbefb.c MIPS: gbe: Make needlessly global symbols static in drivers/video/gbefb.c 2009-05-14 13:50:25 +01:00
gxt4500.c
hecubafb.c
hgafb.c
hitfb.c sh: mach-hp6xx: Fix up the hp6xx build for hd64461 changes. 2009-05-20 11:27:13 +09:00
hpfb.c
igafb.c igafb: use framebuffer_alloc() to allocate fb_info struct 2009-06-16 19:47:58 -07:00
imsttfb.c
imxfb.c imxfb: Fix TFT mode 2009-03-27 14:51:15 +01:00
Kconfig Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-06-14 13:42:43 -07:00
leo.c
macfb.c
macmodes.c
macmodes.h
Makefile fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
maxinefb.c
metronomefb.c
modedb.c fbdev: add video modes for resolutions and timings of PAL RGB 2009-06-16 19:47:58 -07:00
mx3fb.c mx3fb: Issue prettier log message 2009-05-17 15:11:26 +02:00
n411.c
neofb.c
offb.c offb: use framebuffer_alloc() to allocate fb_info struct 2009-06-16 19:47:58 -07:00
output.c
p9100.c
platinumfb.c
platinumfb.h
pm2fb.c
pm3fb.c
pmag-aa-fb.c
pmag-ba-fb.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
pmagb-b-fb.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
ps3fb.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
pvr2fb.c sh: dma: Make PVR2 DMA configurable. 2009-03-17 09:30:36 +09:00
pxa168fb.c fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
pxa168fb.h fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
pxafb.c pxafb: lcsr1 is unused without CONFIG_FB_PXA_OVERLAY 2009-04-21 13:41:47 -07:00
pxafb.h
q40fb.c
s1d13xxxfb.c fbdev: update s1d13xxxfb to differ between revisions and production ids 2009-04-01 08:59:32 -07:00
s3c-fb.c Samsung SoC Framebuffer driver: add Alpha Channel support 2009-06-16 19:47:58 -07:00
s3c2410fb.c [ARM] 5377/1: S3C2410-Framebuffer: Fix resume path in S3C2410 framebuffer driver. 2009-02-19 11:30:20 +00:00
s3c2410fb.h
s3fb.c s3fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sa1100fb.c sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sa1100fb.h sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sbuslib.c
sbuslib.h
sgivwfb.c drivers/video/sgivwfb.c: fix memory leaks in removal path 2009-04-01 08:59:30 -07:00
sh7760fb.c
sh_mobile_lcdcfb.c video: stop sh_mobile_lcdcfb only if started 2009-05-22 13:19:15 +09:00
skeletonfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
sm501fb.c sm501fb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:30 -07:00
sstfb.c sstfb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:30 -07:00
sticore.h
stifb.c stifb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:31 -07:00
sunxvr500.c sunxvr500: fix cmap memory leaks 2009-04-01 08:59:31 -07:00
sunxvr2500.c
svgalib.c
syscopyarea.c
sysfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
sysimgblt.c
tcx.c
tdfxfb.c tdfxfb: make use of DDC information about connected monitor 2009-04-07 08:31:09 -07:00
tgafb.c tgafb: fix cmap memory leak 2009-04-01 08:59:31 -07:00
tmiofb.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
tridentfb.c tridentfb: delete acceleration Kconfig option 2009-04-01 08:59:34 -07:00
uvesafb.c uvesafb: improve parameter handling. 2009-06-12 21:46:59 +09:30
valkyriefb.c valkyriefb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:31 -07:00
valkyriefb.h
vesafb.c vesafb: bitwise OR has higher precedence than ?: 2009-04-01 08:59:32 -07:00
vfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
vga16fb.c
vgastate.c
vt8623fb.c
w100fb.c
w100fb.h
xen-fbfront.c
xilinxfb.c fbdev: Add PLB support and cleanup DCR in xilinxfb driver. 2009-06-06 10:43:16 -06:00