ron minnich wrote:
On Thu, Feb 14, 2008 at 2:32 PM, Carl-Daniel Hailfinger
Indeed. That would solve the problem very nicely without putting hacks into the dts.
OK, so we put nodes under the 5536, and specify 'disabled', and the 5536 code knows to actually call VSA when it sees that they are disabled. This is nice. It would use the device tree in a sensible way.
Hm, hold on. I think there is a little bit of confusion with the word "disabled" here. For a Geode VPCI device, "disabling" it means completely hiding the header from config space. If you "disable" it with VPCI, and try to do config cycles to that device, VSA will respond as if it does not exist. (returning all 1's) That behavior continues forever, unless you "enable" the device again using VSA. (you wouldn't ever do that, in general)
What does "disabled" mean for a real hardware device in the dts? I am pretty sure it does not mean "hide the header" (that is not possible in general, it is a VSA-ism).
What if I want the VPCI device to exist, but want it "disabled" in the normal dts sense of "disable"? Overloading "disabled" in the dts makes that not possible (and is also *really* confusing)
Maybe a better idea would be to just change:
/* Disable unwanted virtualized PCI devices */
to
/* Hide headers for unwanted virtualized PCI devices */
since the original words seem to have lead to this confusion.