On Mon, Jun 9, 2008 at 4:38 PM, Brice Goglin <[EMAIL PROTECTED]> wrote: > Martin-Éric Racine wrote: >> The patch generates a very rough list that makes it look like every >> vendor supports every device. It completely disregards conditional >> checks that the driver itself does. > > A quick grep shows: > numUsed = xf86MatchPciInstances(NSC_NAME, PCI_VENDOR_ID_NS, > GeodeChipsets, GeodePCIchipsets, > devSections, numDevSections, > drv, &usedChips); > and > numUsed = xf86MatchPciInstances(NSC_NAME, > PCI_VENDOR_ID_CYRIX, > GeodeChipsets, GeodePCIchipsets, > devSections, numDevSections, > drv, &usedChips); > which means that the driver claims support for all GeodePCIchipsets (4 > PCI ids) with vendor name CYRIX and NS. Even if it does the above under > some special circumstances, we have no way to be so precise in the > Debian specific nsc.ids anyway.
We have a way to be that precise, by statically defining what it actually supports, rather than grepping the driver for every ID that we find and hope that ALL resulting vendor+device combinations we produce are actually supported. As it so happens, my static list was validated by someone from AMD as being the correct one. As to why NSC might claim support for more than it does, there several explanations: 1) The Geode chipset has a history that spans 3 chip manufacturers. In some cases, existing PCI ID were maintained, despite changes in the device, between generations of chips made by the next manufacturer. 2) Small parts of the code are mutually-compatible between Geode generations, but not enough to allow any driver to claim support for all Geodes. 3) GX1 support exists in both -cyrix and -nsc natively, as produced by each respective manufacturer. Theory has it that -nsc might have more recent GX1 support than -cyrix, but this belief might be unfounded. 4) GX2 support was never a part of the upstream NSC driver. However, someone thought they would backport GX2 support into the NSC driver, using code from the OLPC prototype's GIT tree. 5) Official support for the GX2 only exists in the -geode driver. Because of this, any claim in -nsc to support it will definitely cause problems, both because it has PCI ID conflicts, and because -nsc doesn't have official upstream support. 6) LX support only exists in the -geode driver. This is currently the only cleanly handled support in Debian. -- Martin-Éric Racine http://q-funk.iki.fi