diff --git a/arch/x86/kernel/geode_32.c b/arch/x86/kernel/geode_32.c index e8edd63..509dd32 100644 --- a/arch/x86/kernel/geode_32.c +++ b/arch/x86/kernel/geode_32.c @@ -166,6 +166,8 @@ int geode_has_vsa2(void) static int has_vsa2 = -1; if (has_vsa2 == -1) { + u16 val; + /* * The VSA has virtual registers that we can query for a * signature. @@ -173,7 +175,10 @@ int geode_has_vsa2(void) outw(VSA_VR_UNLOCK, VSA_VRC_INDEX); outw(VSA_VR_SIGNATURE, VSA_VRC_INDEX); - has_vsa2 = (inw(VSA_VRC_DATA) == VSA_SIG); + val = inw(VSA_VRC_DATA); + printk("GEODE: VSA SIG = %x\n", val); + + has_vsa2 = (val == VSA_SIG); } return has_vsa2; diff --git a/drivers/video/geode/lxfb_ops.c b/drivers/video/geode/lxfb_ops.c index aaef916..3a4546c 100644 --- a/drivers/video/geode/lxfb_ops.c +++ b/drivers/video/geode/lxfb_ops.c @@ -310,6 +310,7 @@ unsigned int lx_framebuffer_size(void) if (!geode_has_vsa2()) { uint32_t hi, lo; + printk("GEODE: read from descriptor\n"); /* The number of pages is (PMAX - PMIN)+1 */ rdmsr(MSR_GLIU_P2D_RO0, lo, hi); @@ -319,10 +320,14 @@ unsigned int lx_framebuffer_size(void) val -= (lo & 0x000fffff); val += 1; + printk("GEODE: Return %x", val << 12); + /* The page size is 4k */ return (val << 12); } + printk("GEODE: Read from VSA\n"); + /* The frame buffer size is reported by a VSM in VSA II */ /* Virtual Register Class = 0x02 */ /* VG_MEM_SIZE (1MB units) = 0x00 */