Skip to contentSkip to conversation

2.5.3-pre1 compile error

DISCUSSION Dave Jones 3 participants 3 messages Jan 16, 2002 Framebuffer layer

lore
Share & tools
lore

Dave Jones

author
#0 lore raw

Another weirdo. Where did this come from ??

(davej@noodles:linux-2.5.3-pre1)$ rgrep isa_bus_to_virt * | wc -l
		      1
drivers/video/vesafb.c renamed from linux/drivers/video/vesafb.c +1 -1
diff -u --recursive --new-file v2.5.2/linux/drivers/video/vesafb.c linux/drivers/video/vesafb.c
@@ -550,7 +550,7 @@
 		ypan = pmi_setpal = 0; /* not available or some DOS TSR ... */
 
 	if (ypan || pmi_setpal) {
-		pmi_base  = (unsigned short*)bus_to_virt(((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off);
+		pmi_base  = (unsigned short*)isa_bus_to_virt(((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off);
 		pmi_start = (void*)((char*)pmi_base + pmi_base[1]);
 		pmi_pal   = (void*)((char*)pmi_base + pmi_base[2]);
 		printk(KERN_INFO "vesafb: pmi: set display start = %p, set palette = %p\n",pmi_start,pmi_pal);
Signature · 2 lines
Dave Jones.                    http://www.codemonkey.org.uk
SuSE Labs.
#1 lore raw
Quoted 1 line

Another weirdo. Where did this come from ??

This looks dubious but with the right results.

drivers/video/vesafb.c line 553

Quoted 2 lines
drivers/video/vesafb.c renamed from linux/drivers/video/vesafb.c +1 -1
-		pmi_base  = (unsigned short*)bus_to_virt(((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off);
+		pmi_base  = (unsigned short*)isa_bus_to_virt(((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off);

The address passed back from the BIOS is a physical address. Not a bus address, not an ISA address. phys_to_virt I suspect is genuinely the right thing in this unusual case.

#2 lore raw

From: Alan Cox <[email protected]>
Date: Wed, 16 Jan 2002 01:57:30 +0000 (GMT)

This looks dubious but with the right results.

drivers/video/vesafb.c line 553

Quoted 2 lines
drivers/video/vesafb.c renamed from linux/drivers/video/vesafb.c +1 -1
-		pmi_base  = (unsigned short*)bus_to_virt(((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off);
+		pmi_base  = (unsigned short*)isa_bus_to_virt(((unsigned long)screen_info.vesapm_seg << 4) + screen_info.vesapm_off);

The address passed back from the BIOS is a physical address. Not a bus address, not an ISA address. phys_to_virt I suspect is genuinely the right thing in this unusual case.

This slipped thru by accident, it is part of the "kill bus_to_virt" stuff I'm working on with Jens. Oops...