Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 225616
b: refs/heads/master
c: 9fbbdde
h: refs/heads/master
v: v3
  • Loading branch information
Erik Gilling authored and Paul Mundt committed Nov 15, 2010
1 parent 11474f4 commit 767d951
Show file tree
Hide file tree
Showing 19 changed files with 169 additions and 1,487 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 12ddf37444eaaf67b147561141150e10a56d7742
refs/heads/master: 9fbbdde93231ad7f35c217aa6bbbc7995133f483
26 changes: 0 additions & 26 deletions trunk/drivers/video/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -186,14 +186,6 @@ config FB_SYS_FOPS
depends on FB
default n

config FB_WMT_GE_ROPS
tristate
depends on FB
default n
---help---
Include functions for accelerated rectangle filling and area
copying using WonderMedia Graphics Engine operations.

config FB_DEFERRED_IO
bool
depends on FB
Expand Down Expand Up @@ -1730,24 +1722,6 @@ config FB_AU1200
various panels and CRTs by passing in kernel cmd line option
au1200fb:panel=<name>.

config FB_VT8500
bool "VT8500 LCD Driver"
depends on (FB = y) && ARM && ARCH_VT8500 && VTWM_VERSION_VT8500
select FB_WMT_GE_ROPS
select FB_SYS_IMAGEBLIT
help
This is the framebuffer driver for VIA VT8500 integrated LCD
controller.

config FB_WM8505
bool "WM8505 frame buffer support"
depends on (FB = y) && ARM && ARCH_VT8500 && VTWM_VERSION_WM8505
select FB_WMT_GE_ROPS
select FB_SYS_IMAGEBLIT
help
This is the framebuffer driver for WonderMedia WM8505
integrated LCD controller.

source "drivers/video/geode/Kconfig"

config FB_HIT
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/video/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ obj-$(CONFIG_FB_SVGALIB) += svgalib.o
obj-$(CONFIG_FB_MACMODES) += macmodes.o
obj-$(CONFIG_FB_DDC) += fb_ddc.o
obj-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o
obj-$(CONFIG_FB_WMT_GE_ROPS) += wmt_ge_rops.o

# Hardware specific drivers go first
obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o
Expand Down Expand Up @@ -105,8 +104,6 @@ obj-$(CONFIG_FB_W100) += w100fb.o
obj-$(CONFIG_FB_TMIO) += tmiofb.o
obj-$(CONFIG_FB_AU1100) += au1100fb.o
obj-$(CONFIG_FB_AU1200) += au1200fb.o
obj-$(CONFIG_FB_VT8500) += vt8500lcdfb.o
obj-$(CONFIG_FB_WM8505) += wm8505fb.o
obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o
obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o
obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o
Expand Down
57 changes: 57 additions & 0 deletions trunk/drivers/video/fbmon.c
Original file line number Diff line number Diff line change
Expand Up @@ -973,6 +973,63 @@ void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
DPRINTK("========================================\n");
}

void fb_edid_add_monspecs(unsigned char *edid, struct fb_monspecs *specs)
{
unsigned char *block;
struct fb_videomode *mode, *m;
int num = 0, i, first = 1;

if (edid == NULL)
return;

if (!edid_checksum(edid))
return;

if (edid[0] != 0x2)
return;

mode = kzalloc(50 * sizeof(struct fb_videomode), GFP_KERNEL);
if (mode == NULL)
return;

block = edid + edid[0x2];

DPRINTK(" Extended Detailed Timings\n");

for (i = 0; i < (128 - edid[0x2]) / DETAILED_TIMING_DESCRIPTION_SIZE;
i++, block += DETAILED_TIMING_DESCRIPTION_SIZE) {
if (!(block[0] == 0x00 && block[1] == 0x00)) {
get_detailed_timing(block, &mode[num]);
if (first) {
mode[num].flag |= FB_MODE_IS_FIRST;
first = 0;
}
num++;
}
}

/* Yikes, EDID data is totally useless */
if (!num) {
kfree(mode);
return;
}

m = kzalloc((specs->modedb_len + num) *
sizeof(struct fb_videomode), GFP_KERNEL);

if (!m) {
kfree(mode);
return;
}

memmove(m, specs->modedb, specs->modedb_len * sizeof(struct fb_videomode));
memmove(m + specs->modedb_len, mode, num * sizeof(struct fb_videomode));
kfree(mode);
kfree(specs->modedb);
specs->modedb = m;
specs->modedb_len = specs->modedb_len + num;
}

/*
* VESA Generalized Timing Formula (GTF)
*/
Expand Down
Loading

0 comments on commit 767d951

Please sign in to comment.