aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/geode/gxfb_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/geode/gxfb_core.c')
-rw-r--r--drivers/video/geode/gxfb_core.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/video/geode/gxfb_core.c b/drivers/video/geode/gxfb_core.c
index 742fd04178c3..1e0d47ea0e43 100644
--- a/drivers/video/geode/gxfb_core.c
+++ b/drivers/video/geode/gxfb_core.c
@@ -308,6 +308,7 @@ static int __init gxfb_probe(struct pci_dev *pdev, const struct pci_device_id *i
308 struct geodefb_par *par; 308 struct geodefb_par *par;
309 struct fb_info *info; 309 struct fb_info *info;
310 int ret; 310 int ret;
311 unsigned long val;
311 312
312 info = gxfb_init_fbinfo(&pdev->dev); 313 info = gxfb_init_fbinfo(&pdev->dev);
313 if (!info) 314 if (!info)
@@ -323,6 +324,15 @@ static int __init gxfb_probe(struct pci_dev *pdev, const struct pci_device_id *i
323 goto err; 324 goto err;
324 } 325 }
325 326
327 /* Figure out if this is a TFT or CRT part */
328
329 rdmsrl(GLD_MSR_CONFIG, val);
330
331 if (val & GLD_MSR_CONFIG_FMT_FP)
332 par->enable_crt = 0;
333 else
334 par->enable_crt = 1;
335
326 ret = fb_find_mode(&info->var, info, mode_option, 336 ret = fb_find_mode(&info->var, info, mode_option,
327 gx_modedb, ARRAY_SIZE(gx_modedb), NULL, 16); 337 gx_modedb, ARRAY_SIZE(gx_modedb), NULL, 16);
328 if (ret == 0 || ret == 4) { 338 if (ret == 0 || ret == 4) {