Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Mon, 27 Jan 2003, Marc Aurele La France wrote: > On Mon, 27 Jan 2003, Wayne Whitney wrote: > > > 2) There is a text mode corruption problem with the PCI Radeon 7000. It > > occurs as soon as XFree86 is run on this card after it has been > > initialized. So if the PCI card is initialized by the BIOS, it occurs the > > first time I run XFree86; if the AGP card is initialized by the BIOS, it > > occurs the second time I run XFree86 on the PCI card. The text mode is > > corrupted to a bunch of flashing half block characters, and this occurs > > before the display enters graphics mode. > > This appears related to issues being discussed on a different thread. > I'll wait to see what happens there, before doing anything about it. Indeed, I hadn't noticed that thread on the xfree86 list (on radeon 7200 support). The patch discussed there, which I include below, gets rid of the text mode corruption I'm seeing. I'm all for it. I also attached the current diff between the log files when I run XFree86 the first and second times on my PCI Radeon 7000. I assume the differences are harmless. Thanks again for all your help! Cheers, Wayne --- radeon_driver.c.~1.81.~ 2003-01-26 18:54:43.0 -0800 +++ radeon_driver.c 2003-01-27 15:56:42.0 -0800 @@ -405,7 +405,7 @@ extern int gRADEONEntityIndex; -#if 0 /* !defined(__alpha__) */ +#if !defined(__alpha__) # define RADEONPreInt10Save(s, p) # define RADEONPostInt10Check(s, p) #else /* __alpha__ */ --- /var/log/XFree86.2.log.old 2003-01-27 15:59:13.0 -0800 +++ /var/log/XFree86.2.log 2003-01-27 15:59:29.0 -0800 @@ -16,7 +16,7 @@ Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. -(==) Log file: "/var/log/XFree86.2.log", Time: Mon Jan 27 15:59:08 2003 +(==) Log file: "/var/log/XFree86.2.log", Time: Mon Jan 27 15:59:25 2003 (==) Using config file: "/etc/X11/XF86Config" (++) ServerLayout "Layout1" (**) |-->Screen "Screen1" (0) @@ -344,7 +344,7 @@ (II) Module vgahw: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 0.1.0 ABI class: XFree86 Video Driver, version 0.6 -(II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03b0, hwp->PIOOffset is 0x +(II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x (II) RADEON(0): PCI bus 0 card 8 func 0 (**) RADEON(0): Depth 16, (--) framebuffer bpp 16 (II) RADEON(0): Pixel depth = 16 bits stored in 2 bytes (16 bpp pixmaps) @@ -358,11 +358,13 @@ compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): initializing int10 -(II) Truncating PCI BIOS Length to 49152 +(EE) RADEON(0): Cannot read V_BIOS (--) RADEON(0): Chipset: "ATI Radeon VE QY (AGP)" (ChipID = 0x5159) (--) RADEON(0): Linear framebuffer at 0xe000 (--) RADEON(0): MMIO registers at 0xeb02 (--) RADEON(0): VideoRAM: 32768 kByte (64-bit DDR SDRAM) +(WW) RADEON(0): Video BIOS not detected in PCI space! +(WW) RADEON(0): Attempting to read Video BIOS from legacy ISA space! (II) RADEON(0): CloneDisplay option not set -- defaulting to auto-detect (II) RADEON(0): Primary Display == Type 3 (II) Loading sub module "ddc" @@ -378,7 +380,7 @@ compiled for 4.2.99.4, module version = 1.2.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): I2C bus "DDC" initialized. -(II) RADEON(0): PLL parameters: rf=2700 rd=60 min=12000 max=35000; xclk=15000 +(II) RADEON(0): PLL parameters: rf=2700 rd=12 min=12500 max=35000; xclk=18300 (==) RADEON(0): Using gamma correction (1.0, 1.0, 1.0) (II) RADEON(0): Validating modes on Primary head (DDCType: 2) - (II) RADEON(0): I2C device "DDC:ddc2" registered at address 0xA0. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Mon, 27 Jan 2003, Wayne Whitney wrote: > On Mon, 27 Jan 2003, Marc Aurele La France wrote: > > OK, thanks. Please try the attached. > That patch works great! Thank you very much. You're welcome. I'll commit this shortly (meaning that this'll show up in 4.3). >In case it is of interest, > I have appended below the int10 hunk of a diff of the log files with your > patch--XFree86.0.log is on the primary AGP RADEON VE and XFree86.1.log is > on the secondary PCI RADEON 7000. > I thought I would mention the two other problems I still have with my > setup, in case they are of interest to you. > 1) If I attempt to run multihead using both cards with the latest CVS > version (fix 789), I get the following error: > (II) Reloading /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o > Symbol xf86SetDDCproperties from module >/usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! > This is an improvement from a few days ago, when there were many "Symbol > unresolved" messages. > 2) There is a text mode corruption problem with the PCI Radeon 7000. It > occurs as soon as XFree86 is run on this card after it has been > initialized. So if the PCI card is initialized by the BIOS, it occurs the > first time I run XFree86; if the AGP card is initialized by the BIOS, it > occurs the second time I run XFree86 on the PCI card. The text mode is > corrupted to a bunch of flashing half block characters, and this occurs > before the display enters graphics mode. > In case it is useful, I have included below the full diff between the log > file when I first run XFree86 on the PCI Radeon 7000 and the second time I > run XFree86 on it, when the corruption occurs. This is with the system > BIOS set to initialize the AGP card. This appears related to issues being discussed on a different thread. I'll wait to see what happens there, before doing anything about it. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Mon, 27 Jan 2003, Marc Aurele La France wrote: > OK, thanks. Please try the attached. That patch works great! Thank you very much. In case it is of interest, I have appended below the int10 hunk of a diff of the log files with your patch--XFree86.0.log is on the primary AGP RADEON VE and XFree86.1.log is on the secondary PCI RADEON 7000. I thought I would mention the two other problems I still have with my setup, in case they are of interest to you. 1) If I attempt to run multihead using both cards with the latest CVS version (fix 789), I get the following error: (II) Reloading /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o Symbol xf86SetDDCproperties from module /usr/X11R6-CVS/lib/modules/drivers/radeon_drv.o is unresolved! This is an improvement from a few days ago, when there were many "Symbol unresolved" messages. 2) There is a text mode corruption problem with the PCI Radeon 7000. It occurs as soon as XFree86 is run on this card after it has been initialized. So if the PCI card is initialized by the BIOS, it occurs the first time I run XFree86; if the AGP card is initialized by the BIOS, it occurs the second time I run XFree86 on the PCI card. The text mode is corrupted to a bunch of flashing half block characters, and this occurs before the display enters graphics mode. In case it is useful, I have included below the full diff between the log file when I first run XFree86 on the PCI Radeon 7000 and the second time I run XFree86 on it, when the corruption occurs. This is with the system BIOS set to initialize the AGP card. Thanks again for your help! Cheers, Wayne --- /var/log/XFree86.0.log 2003-01-27 10:10:43.0 -0800 +++ /var/log/XFree86.1.log 2003-01-27 10:11:04.0 -0800 @@ -360,13 +358,10 @@ compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): initializing int10 -(II) RADEON(0): Primary V_BIOS segment is: 0xc000 -(WW) RADEON(0): Restoring MEM_CNTL (), setting to 2d00 -(WW) RADEON(0): Restoring CONFIG_MEMSIZE (0200), setting to 0200 -(WW) RADEON(0): Restoring MPP_TB_CONFIG<31:24> (04), setting to 01 +(II) Truncating PCI BIOS Length to 49152 (--) RADEON(0): Chipset: "ATI Radeon VE QY (AGP)" (ChipID = 0x5159) -(--) RADEON(0): Linear framebuffer at 0xd800 -(--) RADEON(0): MMIO registers at 0xe900 +(--) RADEON(0): Linear framebuffer at 0xe000 +(--) RADEON(0): MMIO registers at 0xeb02 (--) RADEON(0): VideoRAM: 32768 kByte (64-bit DDR SDRAM) (II) RADEON(0): CloneDisplay option not set -- defaulting to auto-detect (II) RADEON(0): Primary Display == Type 3 --- /var/log/XFree86.1.log.old 2003-01-27 10:11:04.0 -0800 +++ /var/log/XFree86.1.log 2003-01-27 10:11:59.0 -0800 @@ -16,7 +16,7 @@ Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. -(==) Log file: "/var/log/XFree86.1.log", Time: Mon Jan 27 10:10:59 2003 +(==) Log file: "/var/log/XFree86.1.log", Time: Mon Jan 27 10:11:56 2003 (==) Using config file: "/etc/X11/XF86Config" (++) ServerLayout "Layout1" (**) |-->Screen "Screen1" (0) @@ -344,7 +344,7 @@ (II) Module vgahw: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 0.1.0 ABI class: XFree86 Video Driver, version 0.6 -(II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03b0, hwp->PIOOffset is 0x +(II) RADEON(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x (II) RADEON(0): PCI bus 0 card 8 func 0 (**) RADEON(0): Depth 16, (--) framebuffer bpp 16 (II) RADEON(0): Pixel depth = 16 bits stored in 2 bytes (16 bpp pixmaps) @@ -358,11 +358,15 @@ compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): initializing int10 -(II) Truncating PCI BIOS Length to 49152 +(EE) RADEON(0): Cannot read V_BIOS +(WW) RADEON(0): Restoring MEM_CNTL (), setting to 2d00 +(WW) RADEON(0): Restoring CONFIG_MEMSIZE (0200), setting to 0200 (--) RADEON(0): Chipset: "ATI Radeon VE QY (AGP)" (ChipID = 0x5159) (--) RADEON(0): Linear framebuffer at 0xe000 (--) RADEON(0): MMIO registers at 0xeb02 (--) RADEON(0): VideoRAM: 32768 kByte (64-bit DDR SDRAM) +(WW) RADEON(0): Video BIOS not detected in PCI space! +(WW) RADEON(0): Attempting to read Video BIOS from legacy ISA space! (II) RADEON(0): CloneDisplay option not set -- defaulting to auto-detect (II) RADEON(0): Primary Display == Type 3 (II) Loading sub module "ddc" @@ -378,7 +382,7 @@ compiled for 4.2.99.4, module version = 1.2.0 ABI class: XFree86 Video Driver, version 0.6 (II) RADEON(0): I2C bus "DDC" initialized. -(II) RADEON(0): PLL parameters: rf=2700 rd=60 min=12000 max=35000; xclk=15000 +(II) RADEON(0): PLL parameters: rf=2700 rd=12 min=12500 max=35000; xclk=18300
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Fri, 24 Jan 2003, Wayne Whitney wrote: > On Fri, 24 Jan 2003, Marc Aurele La France wrote: > > Hummm. Can you re-post that log again? The output from `scanpci -v` > > would also help. > OK, I've included three things below: the original log, the output of > 'scanpci -v', and the patch to getValidBIOSBase() that allows my secondary > PCI Radeon 7000 to be initialized. In case it is important, the 'scanpci > -v' output was generated after booting and running X on my primary AGP > Radeon VE, without using the secondary PCI Radeon 7000. OK, thanks. Please try the attached. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. Whitney.diff.gz Description: Binary data
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Fri, 24 Jan 2003, Marc Aurele La France wrote: > Hummm. Can you re-post that log again? The output from `scanpci -v` > would also help. OK, I've included three things below: the original log, the output of 'scanpci -v', and the patch to getValidBIOSBase() that allows my secondary PCI Radeon 7000 to be initialized. In case it is important, the 'scanpci -v' output was generated after booting and running X on my primary AGP Radeon VE, without using the secondary PCI Radeon 7000. Cheers, Wayne This is a pre-release version of XFree86, and is not supported in any way. Bugs may be reported to [EMAIL PROTECTED] and patches submitted to [EMAIL PROTECTED] Before reporting bugs in pre-release versions, please check the latest version in the XFree86 CVS repository (http://www.XFree86.Org/cvs) XFree86 Version 4.2.99.4 / X Window System (protocol Version 11, revision 0, vendor release 6600) Release Date: 20 January 2003 If the server is older than 6-12 months, or if your card is newer than the above date, look for a newer version before reporting problems. (See http://www.XFree86.Org/) Build Operating System: Linux 2.5.59-wayne i686 [ELF] Module Loader present Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/XFree86.0.log", Time: Wed Jan 22 15:13:09 2003 (==) Using config file: "/etc/X11/XF86Config" (++) ServerLayout "Layout1" (**) |-->Screen "Screen1" (0) (**) | |-->Monitor "Monitor1" (**) | |-->Device "Radeon1" (**) |-->Input Device "Trackball" (**) |-->Input Device "Touchpad" (**) |-->Input Device "Keyboard" (==) Keyboard: CustomKeycode disabled (**) FontPath set to "unix/:7100" (==) RgbPath set to "/usr/X11R6-CVS/lib/X11/rgb" (==) ModulePath set to "/usr/X11R6-CVS/lib/modules" (--) using VT number 7 (WW) Open APM failed (/dev/apm_bios) (No such device) (II) Module ABI versions: XFree86 ANSI C Emulation: 0.2 XFree86 Video Driver: 0.6 XFree86 XInput driver : 0.4 XFree86 Server Extension : 0.2 XFree86 Font Renderer : 0.4 (II) Loader running on linux (II) LoadModule: "bitmap" (II) Loading /usr/X11R6-CVS/lib/modules/fonts/libbitmap.a (II) Module bitmap: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 1.0.0 Module class: XFree86 Font Renderer ABI class: XFree86 Font Renderer, version 0.4 (II) Loading font Bitmap (II) LoadModule: "pcidata" (II) Loading /usr/X11R6-CVS/lib/modules/libpcidata.a (II) Module pcidata: vendor="The XFree86 Project" compiled for 4.2.99.4, module version = 1.0.0 ABI class: XFree86 Video Driver, version 0.6 (II) PCI: Probing config type using method 1 (II) PCI: Config type is 1 (II) PCI: stages = 0x03, oldVal1 = 0x, mode1Res1 = 0x8000 (II) PCI: PCI scan (all values are in hex) (II) PCI: 00:00:0: chip 1106,3099 card 1019,0996 rev 00 class 06,00,00 hdr 00 (II) PCI: 00:01:0: chip 1106,b099 card , rev 00 class 06,04,00 hdr 01 (II) PCI: 00:08:0: chip 1002,5159 card 174b,7c02 rev 00 class 03,00,00 hdr 00 (II) PCI: 00:0e:0: chip 10ec,8139 card 10ec,8139 rev 10 class 02,00,00 hdr 00 (II) PCI: 00:0f:0: chip 105a,0d30 card 105a,4d33 rev 02 class 01,04,00 hdr 00 (II) PCI: 00:11:0: chip 1106,3147 card 1019,0996 rev 00 class 06,01,00 hdr 80 (II) PCI: 00:11:1: chip 1106,0571 card 1106,0571 rev 06 class 01,01,8a hdr 00 (II) PCI: 00:11:2: chip 1106,3038 card 0925,1234 rev 23 class 0c,03,00 hdr 00 (II) PCI: 00:11:3: chip 1106,3038 card 0925,1234 rev 23 class 0c,03,00 hdr 00 (II) PCI: 00:11:5: chip 1106,3059 card 1019,0996 rev 40 class 04,01,00 hdr 00 (II) PCI: 01:00:0: chip 1002,5159 card 1002,013a rev 00 class 03,00,00 hdr 00 (II) PCI: End of PCI scan (II) Host-to-PCI bridge: (II) Bus 0: bridge is at (0:0:0), (0,0,1), BCTRL: 0x0008 (VGA_EN is set) (II) Bus 0 I/O range: [0] -1 0 0x - 0x (0x1) IX[B] (II) Bus 0 non-prefetchable memory range: [0] -1 0 0x - 0x (0x0) MX[B] (II) Bus 0 prefetchable memory range: [0] -1 0 0x - 0x (0x0) MX[B] (II) PCI-to-PCI bridge: (II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x000c (VGA_EN is set) (II) Bus 1 I/O range: [0] -1 0 0x9000 - 0x90ff (0x100) IX[B] [1] -1 0 0x9400 - 0x94ff (0x100) IX[B] [2] -1 0 0x9800 - 0x98ff (0x100) IX[B] [3] -1 0 0x9c00 - 0x9cff (0x100) IX[B] (II) Bus 1 non-prefetchable memory range: [0] -1 0 0xe800 - 0xe9ff (0x200) MX[B] (II) Bus 1 prefetchable memory range: [0] -1 0 0xd800 - 0xdfff (0x800) MX[B] (II) PCI-to-ISA bridge: (II) Bus -1: bridge is at (0:17:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set) (--) PCI: (0:8:0) ATI Technologies Inc Radeon VE QY rev 0, Mem @ 0xe000/27,
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Fri, 24 Jan 2003, Wayne Whitney wrote: > On Thu, 23 Jan 2003, Wayne Whitney wrote: > > As far as I can tell, the "Cannot read V_BIOS" message is the problem, > > and it means that XFree86 can't find the Video BIOS on the PCI card to > > use to initialize the video card. [...] I found that getValidBIOSBase() > > in xfree86/common/xf86pciBus.c is called repeatedly but that it always > > returns 0. > The following patch to getValidBIOSBase() makes things work for me, > although I don't really understand what it does, as I arrived at it by > brute force. Any suggestions of what is going on or what the proper fix > is would be great. > The second part obviously just prints out the return value of > getValidBIOSBase() when it runs to completion (there are various "return > 0" paths earlier in the function). When I run X on the primary card, this > is never triggered. When I run X on AGP card as the secondary card (which > works OK on stock 4.2.99.4), it prints out e800 once. When I run X on > the PCI card as the secondary card, it triggers three times and prints 0, > 0, e000. Without the first part of the patch, it used to print 0, 0, > 0, 0 in this situation and X wouldn't work. > --- xfree86/common/xf86pciBus.c.~3.66.~ 2003-01-23 19:54:11.0 -0800 > +++ xfree86/common/xf86pciBus.c 2003-01-23 23:46:33.0 -0800 > @@ -1617,18 +1617,24 @@ > break; > } > m = m->next; > } > } else { > - if (!xf86IsSubsetOf(range, m) || > + if ( > +#if 0 > + !xf86IsSubsetOf(range, m) || > +#endif > ChkConflict(&range, avoid, SETUP) > || (mem && ChkConflict(&range, mem, SETUP))) > ret = 0; > } > > xf86FreeResList(avoid); > xf86FreeResList(m); > +#ifdef DEBUG > +xf86Msg(X_ERROR, "getValidBIOSBase: %x\n", ret); > +#endif > return ret; > } > > /* > * xf86Bus.c interface Hummm. Can you re-post that log again? The output from `scanpci -v` would also help. Thanks. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: 4.2.99.4: unable to use secondary PCI Radeon 7000
On Thu, 23 Jan 2003, Wayne Whitney wrote: > As far as I can tell, the "Cannot read V_BIOS" message is the problem, > and it means that XFree86 can't find the Video BIOS on the PCI card to > use to initialize the video card. [...] I found that getValidBIOSBase() > in xfree86/common/xf86pciBus.c is called repeatedly but that it always > returns 0. The following patch to getValidBIOSBase() makes things work for me, although I don't really understand what it does, as I arrived at it by brute force. Any suggestions of what is going on or what the proper fix is would be great. The second part obviously just prints out the return value of getValidBIOSBase() when it runs to completion (there are various "return 0" paths earlier in the function). When I run X on the primary card, this is never triggered. When I run X on AGP card as the secondary card (which works OK on stock 4.2.99.4), it prints out e800 once. When I run X on the PCI card as the secondary card, it triggers three times and prints 0, 0, e000. Without the first part of the patch, it used to print 0, 0, 0, 0 in this situation and X wouldn't work. Cheers, Wayne --- xfree86/common/xf86pciBus.c.~3.66.~ 2003-01-23 19:54:11.0 -0800 +++ xfree86/common/xf86pciBus.c 2003-01-23 23:46:33.0 -0800 @@ -1617,18 +1617,24 @@ break; } m = m->next; } } else { - if (!xf86IsSubsetOf(range, m) || + if ( +#if 0 + !xf86IsSubsetOf(range, m) || +#endif ChkConflict(&range, avoid, SETUP) || (mem && ChkConflict(&range, mem, SETUP))) ret = 0; } xf86FreeResList(avoid); xf86FreeResList(m); +#ifdef DEBUG +xf86Msg(X_ERROR, "getValidBIOSBase: %x\n", ret); +#endif return ret; } /* * xf86Bus.c interface ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel