[xorg-bugzilla-noise] [Bug 1064] New: Dualhead does not work

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Aug 12 15:45:16 PDT 2004


Please do not reply to this email: if you want to comment on the bug, go to          
the URL shown below and enter yourcomments there.   
 
https://freedesktop.org/bugzilla/show_bug.cgi?id=1064        
   
           Summary: Dualhead does not work
           Product: xorg
           Version: CVS_head
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P4
         Component: Driver/i810
        AssignedTo: xorg-bugzilla-noise at freedesktop.org
        ReportedBy: stefan at loplof.de


Hi, 
 
I've tried to enable dual head support on a laptop with i855gm chipset, 
external monitor attached after booting. On the first try, the server did not 
start with a message describing that setup of secondary head failed because 
primary head failure. That was mostly because of 
 
(WW) I810(0): Extended BIOS function 0x5f64 failed. 
(WW) I810(0): SetDisplayDevices call failed, writing config directly to SWF0. 
 
After looking into the source, I realizied that SetDisplayDevices() always 
returned false after the BIOS call failed even if it could write to SWF0. I 
tried the following patch: 
 
Index: i830_driver.c 
=================================================================== 
RCS 
file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c,v 
retrieving revision 1.6 
diff -u -r1.6 i830_driver.c 
--- i830_driver.c       30 Jul 2004 20:38:27 -0000      1.6 
+++ i830_driver.c       12 Aug 2004 22:33:09 -0000 
@@ -650,8 +650,9 @@ 
    temp = INREG(SWF0); 
    OUTREG(SWF0, (temp & ~(0xffff)) | (devices & 0xffff)); 
 
-   if (GetDisplayDevices(pScrn) != devices) 
-      xf86DrvMsg(pScrn->scrnIndex, X_WARNING, 
+   if (GetDisplayDevices(pScrn) == devices) return TRUE; 
+ 
+   xf86DrvMsg(pScrn->scrnIndex, X_WARNING, 
                 "SetDisplayDevices failed with devices 0x%x instead of 
0x%x\n", 
                 GetDisplayDevices(pScrn), devices); 
 
Now the X server starts, I can move the mouse cursor out of the LFP display, 
however, secondary CRT stays disabled (anyway, AFAIK SWF0 is just a BIOS 
scratch register that should not enable anything in the hardware) 
 
Anyone got an idea? Config+Log attached, I can provide register dumps etc. if 
needed. 
 
Stefan        
   
   
--         
Configure bugmail: https://freedesktop.org/bugzilla/userprefs.cgi?tab=email       
   
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the xorg-bugzilla-noise mailing list