<br><br><div class="gmail_quote">On Mon, Aug 17, 2009 at 10:57 AM, ron minnich <span dir="ltr"><<a href="mailto:rminnich@gmail.com" target="_blank">rminnich@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div>On Mon, Aug 17, 2009 at 9:12 AM, Myles Watson<<a href="mailto:mylesgw@gmail.com" target="_blank">mylesgw@gmail.com</a>> wrote:<br>
<br>
> For me the steps would be:<br>
> 1. Make sure that the device that needs the config writes is in the above<br>
> list.<br>
<br>
</div>I am after painful detail :-)</blockquote><div>I'm much better at answering questions than brain-dumping, but I'm trying.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<div>> 2. Add code like this:<br>
>      if (dev->link[link].bridge_ctrl & PCI_BRIDGE_CTL_VGA) {<br>
>           /* Add your code from auto.c here */<br>
>      }<br>
> to the .init function of the bridge.<br>
<br>
</div>Yes. And how did bridge_ctrl get set again?<br>
<div></div></blockquote><div>In set_vga_bridge_bits(), the code finds the VGA device and then walks back to the root, setting the bridge_ctrl bits along the way.  When the enable_resources() or init() function gets called, device-specific code can then do what it needs to with that information to make it work.<br>
<br>Myles<br></div></div><br>