Subject: Re: 4.3 and AGP
To: Matthias Scheler <tron@zhadum.de>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-x11
Date: 03/08/2003 15:05:04
  The Radeon driver builds and loads fine for me. Did you use NetBSD's our
  XFree86's 4.3.0 sources?

On a T30, or some other kind of Radeon else?  I have a T30 (2366-97U),
and with

  agp*   at pchb?

in the kernel X (4.2.1 from /usr/xsrc, 1.6) lost in a similar manner
(worse, really).  Without the kernel agp configured, it works almost
fine.

By almost, X works great, and when the display is powered on in X mode
it is blank.  On switching to a text console it remains blank, and
fn-f3, fn powers the display off and on again and then it's fine.
Suspendin or fn-f3'ing the display off from text mode work fine, so I
just do that.  This is said to be an IBM BIOS problem, affecting the
1400x1050 displays (which are so nice that this is a minor annoyance).

Looking at droid's XFree86 log, the panel size is clearly wrong, and
video bios is not being read properly:

   (II) RADEON(0): initializing int10
   (WW) RADEON(0): remove MTRR a0000 - c0000
   (WW) RADEON(0): set MTRR c0000 - 100000
   (WW) RADEON(0): Bad V_BIOS checksum
   (II) RADEON(0): Primary V_BIOS segment is: 0xc000
   (WW) RADEON(0): remove MTRR 0 - 1000
   (--) RADEON(0): Chipset: "ATI Radeon Mobility M7 LW (AGP)" (ChipID =3D 0=
x4c57)
   (--) RADEON(0): Linear framebuffer at 0xe8000000
   (--) RADEON(0): MMIO registers at 0xd0100000
   (WW) RADEON(0): remove MTRR d0100000 - d0180000
   (--) RADEON(0): VideoRAM: 16384 kByte (64-bit DDR SDRAM)
   (WW) RADEON(0): remove MTRR d0100000 - d0180000
   (II) RADEON(0): CloneDisplay option not set -- defaulting to auto-detect
   (II) RADEON(0): Primary Display =3D=3D Type 2
   (II) RADEON(0): Panel ID string: =FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF
   (II) RADEON(0): Panel Size from BIOS: 65535x65535
   Symbol xf86SetDDCproperties from module /usr/X11R6/lib/modules/drivers/r=
adeon_drv.o is unresolved!


My output (4.2.1, on 1.6.1_RC1 without 'agp* at pchb?' in the kernel),
shows:

   (II) RADEON(0): initializing int10
   (WW) RADEON(0): remove MTRR a0000 - c0000
   (WW) RADEON(0): set MTRR f0000 - 100000
   (II) RADEON(0): Primary V_BIOS segment is: 0xc000
   (--) RADEON(0): Chipset: "ATI Radeon Mobility LW (AGP)" (ChipID =3D 0x4c=
57)
   (--) RADEON(0): Linear framebuffer at 0xe8000000
   (--) RADEON(0): MMIO registers at 0xd0100000
   (WW) RADEON(0): remove MTRR d0100000 - d0180000
   (--) RADEON(0): VideoRAM: 16384 kByte (64-bit DDR SDRAM)
   (WW) RADEON(0): remove MTRR d0100000 - d0180000
   (II) RADEON(0): Primary Display =3D=3D Type 2
   (II) RADEON(0): Panel ID string: SXGA+ Single (85MHz)=20=20=20=20
   (II) RADEON(0): Panel Size from BIOS: 1400x1050

which all looks ok to me.

So, I think this is a T30 or IBM-specific issue where the agp setup
bonks the video BIOS for later reading.  I don't understand
inter-module symbol resolution; the xf86SetDDCproperties call could be
a fallback that doesn't get triggered in my case.  By that I mean that
it is possible that the symbol resolution is a latent, irrelevant
problem, and that not being able to read the video bios is the real
issue.

        Greg Troxel <gdt@ir.bbn.com>