Hi.
In <[EMAIL PROTECTED]>,
on Fri, 3 Nov 2000 09:10:05 +0100,
on Re: Xfree 4, I can't get it working.,
Michiel Meeuwissen <[EMAIL PROTECTED]> wrote:
> (II) ATI: ATI driver (version 6.0.7) for chipsets: ati, ativga
> (II) Primary Device is: PCI 01:00:0
> (II) ATI: Candidate "Device" section "Generic Graphics Device".
> (II) ATI: Shared PCI/AGP Mach64 in slot 1:0:0 detected.
> (II) ATI: Shared PCI/AGP Mach64 in slot 1:0:0 assigned to active "Device" section
>"Generic Graphics Device".
> (II) ATI(0): Primary V_BIOS segment is: 0xf000
Is this right setting ? I think some BIOS can change the base address
of Video BIOS.
> (II) Loading sub module "vbe"
> (II) LoadModule: "vbe"
> (II) Reloading /usr/X11R6/lib/modules/libvbe.a
> (EE) ATI(0): unknown reason for exception
> X86_IP:0000 X86_AX:4f00 X86_BX:0000 X86_CX:0000 X86_DX:0000 X86_SI:0000 X86_DI:1000
>X86_BP:0000
> X86_SP:00fa X86_CS:c000 X86_SS:0030 X86_ES:0000 X86_DS:0040 X86_FS:0000 X86_GS:0000
>X86_EFLAGS:00033282
> stack at 0x000003fa:
> 00 00 60 00 00 32 f8 03 f8 02 00 00 00 00 78 03
> code at 0x000c0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> (EE) ATI(0): cannot continue
> (II) ATI(0): VESA BIOS not detected
> (WW) ATI(0): Unable to correctly retrieve adapter BIOS.
BIOS detection failed, thus
> (--) ATI(0): ATI 3D Rage Pro graphics controller detected.
> (--) ATI(0): Chip type 4742 "GB", version 4, foundry UMC, class 0, revision 0x01.
> (--) ATI(0): AGP bus interface detected; block I/O base is 0xD000.
> (==) ATI(0): Using gamma correction (1.0, 1.0, 1.0)
> (II) ATI(0): Using Mach64 accelerator CRTC.
> (--) ATI(0): ATI Mach64 adapter detected.
> (--) ATI(0): Internal RAMDAC (subtype 1) detected.
> (==) ATI(0): RGB weight 888
> (==) ATI(0): Default visual is TrueColor
> (WW) ATI(0): Cannot shadow an accelerated frame buffer.
> (WW) ATI(0): Unknown programmable clock generator type (0xFFFFFFFF) detected.
> (--) ATI(0): Pixel clocks available:
> (--) ATI(0): pixel clocks: 0.000 0.000 0.000 0.000
This problem happened. Rejections of the specified video modes below
was mainly caused by this mis-configured pixel clock.
> (II) ATI(0): Generic Monitor: Using hsync range of 30.00-70.00 kHz
> (II) ATI(0): Generic Monitor: Using vrefresh range of 50.00-160.00 Hz
> (WW) ATI(0): Default mode "800x600" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "800x600" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "800x600" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "800x600" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1024x768" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1024x768" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1024x768" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1024x768" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1024x768" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1152x864" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1280x960" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1280x960" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1280x1024" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1280x1024" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1280x1024" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1600x1200" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1600x1200" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1600x1200" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1600x1200" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Default mode "1600x1200" deleted (bad mode clock/interlace/doublescan)
> (WW) ATI(0): Mode pool is empty
> (II) UnloadModule: "ati"
> (II) UnloadModule: "vbe"
> (II) UnloadModule: "ddc"
> (II) UnloadModule: "int10"
> (EE) Screen(s) found, but none have a usable configuration.
Since there are no usable mode lines, Xserver exits with error.
drivers/ati/aticlock.c in ph2v23 source tree (sorry older one,
I have not catch up with the current one) said:
* The oldest Mach64's use one of the non-programmable clock generators
* described above. In this case, the driver will handle clocks in much the
* same way as it would for a Mach32.
*
* All other Mach64 adapters use a programmable clock generator. BIOS
* initialisation programmes an initial set of frequencies. Two of these are
* reserved to allow for the setting of modes that do not use a frequency from
* this initial set. One of these reserved slots is used by the BIOS mode set
* routine, the other by the particular accelerated driver used (MS-Windows,
* AutoCAD, etc.). The slots reserved in this way are dependent on the
* particular clock generator used by the adapter.
And drivers/ati/atipreinit.c:
/*
* ATIPreInit --
*
* This function is only called once per screen at the start of the first
* server generation.
*/
Bool
ATIPreInit
(
ScrnInfoPtr pScreenInfo,
int flags
)
{
# define BIOS_SIZE 0x00010000U /* 64kB */
CARD8 BIOS[BIOS_SIZE];
# define BIOSByte(_n) (BIOS[_n])
# define BIOSWord(_n) (BIOS[_n] | \
(BIOS[(_n) + 1] << 8))
# define BIOSLong(_n) (BIOS[_n] | \
(BIOS[(_n) + 1] << 8) | \
(BIOS[(_n) + 2] << 16) | \
(BIOS[(_n) + 3] << 24))
unsigned int BIOSSize = 0;
unsigned int ROMTable = 0, ClockTable = 0, FrequencyTable = 0;
unsigned int LCDTable = 0, LCDPanelInfo = 0;
(snip)
/*
* For Mach64 adapters, pick up, from the BIOS, the type of programmable
* clock generator (if any), and various information about it.
*/
(snip)
/* Set up non-zero defaults */
pATI->ClockDescriptor = ATIClockDescriptors[ATI_CLOCK_FIXED];
pATI->ClockNumberToProgramme = -1;
ROMTable = BIOSWord(0x48U);
if ((ROMTable + 0x12U) > BIOSSize)
ROMTable = 0;
if (ROMTable > 0)
{
ClockTable = BIOSWord(ROMTable + 0x10U);
if ((ClockTable + 0x20U) > BIOSSize)
ClockTable = 0;
}
if (ClockTable > 0)
{
FrequencyTable = BIOSWord(ClockTable - 0x02U);
if ((FrequencyTable > 0) &&
((FrequencyTable + 0x20U) <= BIOSSize))
{
for (i = 0; i < 16; i++)
{
pATI->BIOSClocks[i] = BIOSWord(FrequencyTable);
FrequencyTable += 2;
}
}
pATI->ProgrammableClock = BIOSByte(ClockTable);
pATI->ClockNumberToProgramme = BIOSByte(ClockTable + 0x06U);
switch (BIOSWord(ClockTable + 0x08U) / 10)
So if BIOS detection failed, then it will cause the failure of Clock
detection, I think.
see doc/README.ati also.
Regards.
--
Taketoshi Sano: <[EMAIL PROTECTED]>,<[EMAIL PROTECTED]>,<[EMAIL PROTECTED]>
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]