[Openchrome-users] [openChrome] #288: openchrome interferes with PCI-Express (was: openchrome interferes with b43)
OpenChrome Trac
trac
Tue Jul 7 09:16:53 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: |
--------------------+-------------------------------------------------------
Changes (by stuge):
* cc: peter at stuge.se (added)
Comment:
This has nothing to do with b43. (But if there had been no post about this
on that list back in November I wouldn't have seen the issue. :)
The chipset in the Mini-Note 2133, VIA CN896, supports among many other
things PCI-Express (PCIe) and two digital video outputs, DVP1 and DVP2.
DVP1 is multiplexed with PCIe, for easy support also of discrete PCIe
graphics. DVP1 is intended to drive LVDS (internal LCD panel) or DVI. DVP2
is intended to drive TV-out, but can also be configured to drive DVI.
A patch which appears to resolve the issue was proposed in
http://www.openchrome.org/trac/ticket/288#comment:17 but there was some
uncertainty as to whether it is actually an appropriate fix.
That patch does two things; it changes how the extended sequencer register
0x2A is being masked, and it then comments out the call to the code which
was just fixed.
Per http://www.x.org/docs/via/OGPM_Chrome9%20HC3_R100a_Part1_Core_2D.pdf
page 36 (30 in the footer) the extended sequencer register 0x2A, "Power
Management Control 5", has two reserved bits, one of which is read only.
Without the patch, these two bits were written and the bit which was read-
write could very possibly end up being changed.
It is an ABSOLUTE no-no to change the value of a reserved bit!
The only time this can be safe is if you happen to be the chip designer,
and you actually know what the bit does. If you can, please document it in
that case.
The first hunk of the patch is correct and a good fix. It was committed as
r746 on 2009-04-25. From the comments in the code and the register
description in the above PDF it is clear that this was a simple mistake in
the driver.
This change could certainly be enough to solve the problem, because
writing to just one single reserved bit can really have any effect
whatsoever on the system, and in particular because DVP1 is so "near" PCIe
in this chipset it's totally possible that this bit causes the PCIe
problems that were observed.
The committed fix is safe for any board configuration, using any
combination of DVP1 and DVP2.
I would expect r746 to solve this issue. Can anyone confirm whether the
issue still remains?
--
Ticket URL: <http://www.openchrome.org/trac/ticket/288#comment:24>
openChrome <http://www.openchrome.org/>
The openChrome project
More information about the Openchrome-users
mailing list