On Nov 18, 2008 7:26am, Corey Osgood <corey.osgood@gmail.com> wrote:<br />> On Mon, Nov 17, 2008 at 11:45 PM, Elia Yehuda z4ziggy@gmail.com> wrote:<br />> <br />> well, i managed to make it work as you initially suggested (adding .ops_pci to northbridge_operations),<br />> but... i had to change the .device to 0x7124 (which is what lspci shows me) - are you all sure 82810<br />> <br />> <br />> device_id is 7120? i use 82810e but according to datasheet it should be the same.<br />> <br />> Nope, here's from my i810 datasheet:<br />> <br />> DIDDevice Identification Register (Device 0)<br />> Address Offset: 02–03h<br />> <br />> Default Value:  82810 = 7120h<br />>                 82810-DC100 = 7122h<br />> Attribute:      Read Only<br />> Size:           16 bits<br />> <br />> So, go ahead and do this:<br />> <br />> static const struct pci_driver i810_northbridge_driver __pci_driver = {<br />> <br />> <br />>          .ops    = &northbridge_operations,<br />> <br />>          .vendor = PCI_VENDOR_ID_INTEL,<br />> <br />>          .device = 0x7120,<br />> <br />> };<br />> <br />> static const struct pci_driver i810e_northbridge_driver __pci_driver = {<br />> <br />>          .ops    = &northbridge_operations,<br />> <br />>          .vendor = PCI_VENDOR_ID_INTEL,<br />> <br />>          .device = 0x7124,<br />> <br />> };<br /><br />exactly what i just did! only different naming :-)<br />thanks for all your info.<br /><br />> <br />> Please do not be tempted to add i810-dc100 in there as well, unless you want to read through the i810 datasheet and fix any other differences ;)<br /><br />:)<br /><br />> <br />> -Corey<br />> <br />>  <br />> <br />> <br />> <br />> Elia.<br />> <br />> On Tue, Nov 18, 2008 at 6:04 AM, Corey Osgood corey.osgood@gmail.com> wrote:<br />> <br />> <br />> <br />> <br />> <br />> On Mon, Nov 17, 2008 at 10:10 PM, Elia Yehuda z4ziggy@gmail.com> wrote:<br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> On Tue, Nov 18, 2008 at 3:44 AM, Joseph Smith joe@settoplinux.org> wrote:<br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> On Tue, 18 Nov 2008 00:59:07 +0200, "Elia Yehuda" z4ziggy@gmail.com><br />> <br />> wrote:<br />> <br />> > just noticed ive put it in cpu_bus_ops... have a laugh...<br />> <br />> ><br />> <br />> <br />> No worries, this is how we learn :-)<br />> <br />> ><br />> <br />> > but i dont have "static struct device_operations mc_ops" - where should i<br />> <br />> > add<br />> <br />> > the .ops_pci ?<br />> <br />> ><br />> <br />> <br />> Little confused about what your trying to do here. This doesn't work??<br />> <br />> <br />> <br />> static const struct pci_driver northbridge_driver __pci_driver = {<br />> <br />>          .ops    = &northbridge_operations,<br />> <br />>          .vendor = PCI_VENDOR_ID_INTEL,<br />> <br />>          .device = 0x7120,<br />> <br />> };<br />> <br />> <br />> <br />> this works just fine. i simply don't know where to add ".ops_pci" since i dont have <br />> "static struct device_operations mc_ops" in northbridge.c<br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> You should be able to add it to pci_domain_ops, but be sure to check that it actually runs. Otherwise, you'll need to create that mc_ops driver with just the .ops_pci and everything else set to NULL, and use this:<br />> <br />> <br />> <br />> <br />> static void enable_dev(struct device *dev)<br />> {<br />>     struct device_path path; //unused?<br />> <br />>     /* Set the operations if it is a special bus type */<br />>     if (dev->path.type == DEVICE_PATH_PCI_DOMAIN) {<br />>         dev->ops = &pci_domain_ops;<br />> <br />> <br />> <br />>         pci_set_method(dev);<br />>     } else if (dev->path.type == DEVICE_PATH_APIC_CLUSTER) {<br />>         dev->ops = &cpu_bus_ops;<br />>     } else if (dev->path.type == DEVICE_PATH_PCI) {<br />>         dev->ops = &mc_ops;<br />> <br />> <br />> <br />>     } <br />> <br />> <br />> }<br />> <br />> I hope you can understand what I'm trying to say, I'm a bit tired right now.<br />> <br />> -Corey<br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> <br />> <br /><br />Elia.