diff options
-rw-r--r-- | Documentation/fb/lxfb.txt | 50 | ||||
-rw-r--r-- | drivers/video/geode/lxfb_core.c | 12 |
2 files changed, 55 insertions, 7 deletions
diff --git a/Documentation/fb/lxfb.txt b/Documentation/fb/lxfb.txt new file mode 100644 index 000000000000..80656078d4d9 --- /dev/null +++ b/Documentation/fb/lxfb.txt | |||
@@ -0,0 +1,50 @@ | |||
1 | [This file is cloned from VesaFB/aty128fb] | ||
2 | |||
3 | What is lxfb? | ||
4 | ================= | ||
5 | |||
6 | This is a graphics framebuffer driver for AMD Geode LX based processors. | ||
7 | |||
8 | Advantages: | ||
9 | |||
10 | * No need to use AMD's VSA code (or other VESA emulation layer) in the | ||
11 | BIOS. | ||
12 | * It provides a nice large console (128 cols + 48 lines with 1024x768) | ||
13 | without using tiny, unreadable fonts. | ||
14 | * You can run XF68_FBDev on top of /dev/fb0 | ||
15 | * Most important: boot logo :-) | ||
16 | |||
17 | Disadvantages: | ||
18 | |||
19 | * graphic mode is slower than text mode... | ||
20 | |||
21 | |||
22 | How to use it? | ||
23 | ============== | ||
24 | |||
25 | Switching modes is done using lxfb.mode_option=<resolution>... boot | ||
26 | parameter or using `fbset' program. | ||
27 | |||
28 | See Documentation/fb/modedb.txt for more information on modedb | ||
29 | resolutions. | ||
30 | |||
31 | |||
32 | X11 | ||
33 | === | ||
34 | |||
35 | XF68_FBDev should generally work fine, but it is non-accelerated. | ||
36 | |||
37 | |||
38 | Configuration | ||
39 | ============= | ||
40 | |||
41 | You can pass kernel command line options to lxfb with lxfb.<option>. | ||
42 | For example, lxfb.mode_option=800x600@75. | ||
43 | Accepted options: | ||
44 | |||
45 | mode_option - specify the video mode. Of the form | ||
46 | <x>x<y>[-<bpp>][@<refresh>] | ||
47 | vram - size of video ram (normally auto-detected) | ||
48 | |||
49 | -- | ||
50 | Andres Salomon <dilinger@debian.org> | ||
diff --git a/drivers/video/geode/lxfb_core.c b/drivers/video/geode/lxfb_core.c index b565882eee37..1da944bdb11a 100644 --- a/drivers/video/geode/lxfb_core.c +++ b/drivers/video/geode/lxfb_core.c | |||
@@ -27,7 +27,7 @@ | |||
27 | 27 | ||
28 | static char *mode_option; | 28 | static char *mode_option; |
29 | static int noclear, nopanel, nocrt; | 29 | static int noclear, nopanel, nocrt; |
30 | static int fbsize; | 30 | static int vram; |
31 | 31 | ||
32 | /* Most of these modes are sorted in ascending order, but | 32 | /* Most of these modes are sorted in ascending order, but |
33 | * since the first entry in this table is the "default" mode, | 33 | * since the first entry in this table is the "default" mode, |
@@ -339,7 +339,7 @@ static int __init lxfb_map_video_memory(struct fb_info *info, | |||
339 | return ret; | 339 | return ret; |
340 | 340 | ||
341 | info->fix.smem_start = pci_resource_start(dev, 0); | 341 | info->fix.smem_start = pci_resource_start(dev, 0); |
342 | info->fix.smem_len = fbsize ? fbsize : lx_framebuffer_size(); | 342 | info->fix.smem_len = vram ? vram : lx_framebuffer_size(); |
343 | 343 | ||
344 | info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len); | 344 | info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len); |
345 | 345 | ||
@@ -608,9 +608,7 @@ static int __init lxfb_setup(char *options) | |||
608 | if (!*opt) | 608 | if (!*opt) |
609 | continue; | 609 | continue; |
610 | 610 | ||
611 | if (!strncmp(opt, "fbsize:", 7)) | 611 | if (!strcmp(opt, "noclear")) |
612 | fbsize = simple_strtoul(opt+7, NULL, 0); | ||
613 | else if (!strcmp(opt, "noclear")) | ||
614 | noclear = 1; | 612 | noclear = 1; |
615 | else if (!strcmp(opt, "nopanel")) | 613 | else if (!strcmp(opt, "nopanel")) |
616 | nopanel = 1; | 614 | nopanel = 1; |
@@ -647,8 +645,8 @@ module_exit(lxfb_cleanup); | |||
647 | module_param(mode_option, charp, 0); | 645 | module_param(mode_option, charp, 0); |
648 | MODULE_PARM_DESC(mode_option, "video mode (<x>x<y>[-<bpp>][@<refr>])"); | 646 | MODULE_PARM_DESC(mode_option, "video mode (<x>x<y>[-<bpp>][@<refr>])"); |
649 | 647 | ||
650 | module_param(fbsize, int, 0); | 648 | module_param(vram, int, 0); |
651 | MODULE_PARM_DESC(fbsize, "video memory size"); | 649 | MODULE_PARM_DESC(vram, "video memory size"); |
652 | 650 | ||
653 | MODULE_DESCRIPTION("Framebuffer driver for the AMD Geode LX"); | 651 | MODULE_DESCRIPTION("Framebuffer driver for the AMD Geode LX"); |
654 | MODULE_LICENSE("GPL"); | 652 | MODULE_LICENSE("GPL"); |