[Openchrome-users] [openChrome] #288: openchrome interferes with PCI-Express

OpenChrome Trac trac
Wed Jul 8 08:05:10 PDT 2009


#288: openchrome interferes with PCI-Express
--------------------+-------------------------------------------------------
 Reporter:  ljacob  |        Owner:  jnettlet      
     Type:  defect  |       Status:  assigned      
 Priority:  major   |    Component:  initialization
  Version:  trunk   |   Resolution:                
 Keywords:          |     Blocking:  261           
Blockedby:          |  
--------------------+-------------------------------------------------------

Comment(by stuge):

 Replying to [comment:35 fhn]:
 > I'm really happy to see some progess in this case :)

 I don't know why the developers haven't been more responsive. I came from
 coreboot onto the b43 list because I was looking into buying a 2133, and
 stayed on the list although I never did buy the laptop. When the error
 surfaced in November 2008 I figured maybe I could help because of some PCI
 experience. I expected Yuval's workaround to be investigated further.

 > lvds.debugging.Xorg.log:[[BR]]
 > With lvds.debugging.patch applied the pci-e died right after "xset dpms
 force off". The really interesting thing: pci-e came back to life after
 Xorg terminated!

 That's because the driver saves all registers when switching from the text
 console to X, and restores them when switching back. It's likely that
 switching from X to VT (and back) would bring PCIe back also with
 unpatched versions of the driver.

 > lvds.touch.only.channel1.Xorg.log:[[BR]]
 > With lvds.touch.only.channel1.patch applied pci-e keeps working.

 That makes sense. Note how the very first "before" value in
 lvds.debugging.Xorg.log is "0x3", and then later it says "writing: 0xF" -
 extra bits have now been enabled when they should not have been touched.

 I attached http://www.openchrome.org/trac/attachment/ticket/288
 /openchrome-switch-on-lvds-pads-only-for-active-channels.patch to this
 ticket, I think it will solve this issue in a general way. It only enables
 the LVDS channels which were already enabled on the latest switch from VT
 to X. Thanks go to the unichrome developer Luc Verhaegen who told me about
 ViaSeqMask() which I could use here to simplify the function quite a lot.
 :)

-- 
Ticket URL: <http://www.openchrome.org/trac/ticket/288#comment:37>
openChrome <http://www.openchrome.org/>
The openChrome project



More information about the Openchrome-users mailing list