[PATCH] gxfb: Fixup flatpanel detection
Use the right MSR and bits to detect if the GX is strapped for TFT or CRT
Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Acked-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/drivers/video/geode/display_gx.h b/drivers/video/geode/display_gx.h
index ba0ccc8..0af33f3 100644
--- a/drivers/video/geode/display_gx.h
+++ b/drivers/video/geode/display_gx.h
@@ -18,7 +18,7 @@
/* MSR that tells us if a TFT or CRT is attached */
#define GLD_MSR_CONFIG 0xC0002001
-#define GLD_MSR_CONFIG_FMT_FP 0x01
+#define GLD_MSR_CONFIG_DM_FP 0x40
/* Display controller registers */
diff --git a/drivers/video/geode/gxfb_core.c b/drivers/video/geode/gxfb_core.c
index 47a6880..cf841ef 100644
--- a/drivers/video/geode/gxfb_core.c
+++ b/drivers/video/geode/gxfb_core.c
@@ -328,7 +328,7 @@
rdmsrl(GLD_MSR_CONFIG, val);
- if (val & GLD_MSR_CONFIG_FMT_FP)
+ if ((val & GLD_MSR_CONFIG_DM_FP) == GLD_MSR_CONFIG_DM_FP)
par->enable_crt = 0;
else
par->enable_crt = 1;
diff --git a/drivers/video/geode/video_gx.h b/drivers/video/geode/video_gx.h
index 8f1e85b..119d0ab 100644
--- a/drivers/video/geode/video_gx.h
+++ b/drivers/video/geode/video_gx.h
@@ -14,7 +14,7 @@
extern struct geode_vid_ops gx_vid_ops;
/* GX Flatpanel control MSR */
-#define GX_VP_MSR_PAD_SELECT 0x2011
+#define GX_VP_MSR_PAD_SELECT 0xC0002011
#define GX_VP_PAD_SELECT_MASK 0x3FFFFFFF
#define GX_VP_PAD_SELECT_TFT 0x1FFFFFFF