Mailing List Archive

Kernel command line for a specific framebuffer console driver
Hi,

does someone know how to forward a kernel command line option to configure the
AMD Geode GX1 framebuffer?

I tried with "video=gx1fb:1024x768-16@60" but it does not work. On another
machine with an SIS framebuffer the line "video=sisfb:1280x1024-8@60" works
as expected.

Any ideas?

Juergen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: Kernel command line for a specific framebuffer console driver [ In reply to ]
On Fri, Jan 12, 2007 at 01:43:42PM +0100, Juergen Beisert wrote:
> does someone know how to forward a kernel command line option to configure the
> AMD Geode GX1 framebuffer?
>
> I tried with "video=gx1fb:1024x768-16@60" but it does not work. On another
> machine with an SIS framebuffer the line "video=sisfb:1280x1024-8@60" works
> as expected.
>
> Any ideas?

Yes. You try this patch and report whether it works or not.

--- a/drivers/video/geode/gx1fb_core.c
+++ b/drivers/video/geode/gx1fb_core.c
@@ -401,6 +401,30 @@ static void gx1fb_remove(struct pci_dev
framebuffer_release(info);
}

+#ifndef MODULE
+static void __init gx1fb_setup(char *options)
+{
+ char *this_opt;
+
+ if (!options || !*options)
+ return;
+
+ while ((this_opt = strsep(&options, ","))) {
+ if (!*this_opt)
+ continue;
+
+ if (!strncmp(this_opt, "mode:", 5))
+ strlcpy(mode_option, this_opt + 5, sizeof(mode_option));
+ else if (!strncmp(this_opt, "crt:", 4))
+ crt_option = !!simple_strtoul(this_opt + 4, NULL, 0);
+ else if (!strncmp(this_opt, "panel:", 6))
+ strlcpy(panel_option, this_opt + 6, sizeof(panel_option));
+ else
+ strlcpy(mode_option, this_opt, sizeof(mode_option));
+ }
+}
+#endif
+
static struct pci_device_id gx1fb_id_table[] = {
{ PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_VIDEO,
PCI_ANY_ID, PCI_ANY_ID, PCI_BASE_CLASS_DISPLAY << 16,
@@ -420,8 +444,11 @@ static struct pci_driver gx1fb_driver =
static int __init gx1fb_init(void)
{
#ifndef MODULE
- if (fb_get_options("gx1fb", NULL))
+ char *option = NULL;
+
+ if (fb_get_options("gx1fb", &option))
return -ENODEV;
+ gx1fb_setup(option);
#endif
return pci_register_driver(&gx1fb_driver);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: Kernel command line for a specific framebuffer console driver [ In reply to ]
Hi Alexey,

On Friday 12 January 2007 20:36, Alexey Dobriyan wrote:
> On Fri, Jan 12, 2007 at 01:43:42PM +0100, Juergen Beisert wrote:
> > does someone know how to forward a kernel command line option to
> > configure the AMD Geode GX1 framebuffer?
> >
> > I tried with "video=gx1fb:1024x768-16@60" but it does not work. On
> > another machine with an SIS framebuffer the line
> > "video=sisfb:1280x1024-8@60" works as expected.
> >
> > Any ideas?
>
> Yes. You try this patch and report whether it works or not.

Thank you very much. Yes it works. I tried these kernel parameters:

1) video=gx1fb:mode:1280x1024-16@60,crt:1
-> CRT was active, 160x64 console
2) video=gx1fb:mode:1024x768-16@60,crt:1
-> CRT was active, 128x48 console
3) video=gx1fb:mode:800x600-16@60,crt:0,panel:800x600
-> CRT was disabled, 100x37 console
4) video=gx1fb:mode:1024x768-16@60,crt:0,panel:800x600
-> CRT was disabled, 80x25 console

Sorry, I have no flatpanel, so I cannot test if the "panel" option works
correctly. But somethings changes when I tried different values (see 3 and
4).

Regards
Juergen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/