Bug 16261

Summary: [mach64] suspend/resume fails on two card setup (Primary V_BIOS segment is: 0xc000 on wrong card)
Product: xorg Reporter: Domen Puncer <domen>
Component: Driver/mach64Assignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: domen
Version: 7.3 (2007.09)Keywords: NEEDINFO
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log of setup after resume
none
Xorg.0.log of a working tdfx+ati setup none

Description Domen Puncer 2008-06-06 14:21:06 UTC
Created attachment 16973 [details]
Xorg.0.log of setup after resume

SW: ubuntu 8.04, pool/main/x/xorg/xorg_7.3+10ubuntu10.1_i386.deb
HW:
00:0f.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro 215GP (rev 5c)
01:00.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo 3 (rev 01)

tdfx is set as :0.0
ati as :0.1

All works fine until I suspend (to ram) and resume, then X seems frozen, when I kill it with sysrq-k, only tdfx works, so a reboot is needed, to get ati card working.

I think this is very possibly related to these lines from log (-working +non-working):
-(II) Primary Device is: PCI 01:00:0
+(II) Primary Device is: PCI 00:0f:0
...
 (II) TDFX(0): Softbooting the board (through the int10 interface).
-(II) TDFX(0): Primary V_BIOS segment is: 0xc000
+(II) Attempted to read BIOS 64KB from /sys/bus/pci/devices/0000:01:00.0/rom: got 40KB
 (II) TDFX(0): Softbooting the board succeeded.
...
 (II) Reloading /usr/lib/xorg/modules//libint10.so
-(II) Attempted to read BIOS 128KB from /sys/bus/pci/devices/0000:00:0f.0/rom: got 32KB
+(II) MACH64(1): Primary V_BIOS segment is: 0xc000
 (II) Loading sub module "ddc"
...
 (II) MACH64(1): VESA BIOS detected
-(II) MACH64(1): VESA VBE Version 2.0
-(II) MACH64(1): VESA VBE Total Mem: 8192 kB
-(II) MACH64(1): VESA VBE OEM: ATI MACH64
+(II) MACH64(1): VESA VBE Version 3.0
+(II) MACH64(1): VESA VBE Total Mem: 16384 kB
+(II) MACH64(1): VESA VBE OEM: 3dfx Interactive, Inc.
 (II) MACH64(1): VESA VBE OEM Software Rev: 1.0
...etc.
Comment 1 Domen Puncer 2008-06-06 14:22:15 UTC
Created attachment 16974 [details]
Xorg.0.log of a working tdfx+ati setup
Comment 2 Domen Puncer 2008-06-07 05:19:41 UTC
I tried setting BIOS to initialize PCI card (ati) first, and there was progress:
Right after resume, the ati-screen worked, unfortunately the tdfx screen was just blank.
But after restarting Xorg, both worked fine.

So my possibly flawed conclusions are:
- Primary vs. secondary card might be a BIOS issue (not setting them up right when resuming).
- Xorg doesn't bring up secondary (bios-wise; the one not on 0xc000) card after resume.

Is there anything I can try? More info I can provide?
Comment 3 Matt Turner 2010-12-03 12:24:01 UTC
Is this still a problem?
Comment 4 Domen Puncer 2010-12-03 14:09:44 UTC
Well... no, since I no longer have that setup.
Comment 5 Adam Jackson 2018-06-12 19:09:35 UTC
Mass closure: This bug has been untouched for more than six years, and is not
obviously still valid. Please reopen this bug or file a new report if you continue to experience issues with current releases.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.