~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to drivers/pci/quirks.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
263
263
         *      This happens to include the IDE controllers....
264
264
         *
265
265
         *      VIA only apply this fix when an SB Live! is present but under
266
 
         *      both Linux and Windows this isnt enough, and we have seen
 
266
         *      both Linux and Windows this isn't enough, and we have seen
267
267
         *      corruption without SB Live! but with things like 3 UDMA IDE
268
268
         *      controllers. So we ignore that bit of the VIA recommendation..
269
269
         */
606
606
        }
607
607
 
608
608
        pci_read_config_byte(dev, ICH6_GPIO_CNTL, &enable);
609
 
        if (enable & ICH4_GPIO_EN) {
 
609
        if (enable & ICH6_GPIO_EN) {
610
610
                pci_read_config_dword(dev, ICH6_GPIOBASE, &region);
611
611
                region &= PCI_BASE_ADDRESS_IO_MASK;
612
612
                if (region >= PCIBIOS_MIN_IO)
681
681
/* ICH7-10 has the same common LPC generic IO decode registers */
682
682
static void __devinit quirk_ich7_lpc(struct pci_dev *dev)
683
683
{
684
 
        /* We share the common ACPI/DPIO decode with ICH6 */
 
684
        /* We share the common ACPI/GPIO decode with ICH6 */
685
685
        ich6_lpc_acpi_gpio(dev);
686
686
 
687
687
        /* And have 4 ICH7+ generic decodes */
2349
2349
 */
2350
2350
static void __devinit nvenet_msi_disable(struct pci_dev *dev)
2351
2351
{
2352
 
        if (dmi_name_in_vendors("P5N32-SLI PREMIUM") ||
2353
 
            dmi_name_in_vendors("P5N32-E SLI")) {
 
2352
        const char *board_name = dmi_get_system_info(DMI_BOARD_NAME);
 
2353
 
 
2354
        if (board_name &&
 
2355
            (strstr(board_name, "P5N32-SLI PREMIUM") ||
 
2356
             strstr(board_name, "P5N32-E SLI"))) {
2354
2357
                dev_info(&dev->dev,
2355
2358
                         "Disabling msi for MCP55 NIC on P5N32-SLI\n");
2356
2359
                dev->no_msi = 1;
2680
2683
 * This is a quirk for the Ricoh MMC controller found as a part of
2681
2684
 * some mulifunction chips.
2682
2685
 
2683
 
 * This is very similiar and based on the ricoh_mmc driver written by
 
2686
 * This is very similar and based on the ricoh_mmc driver written by
2684
2687
 * Philip Langdale. Thank you for these magic sequences.
2685
2688
 *
2686
2689
 * These chips implement the four main memory card controllers (SD, MMC, MS, xD)
2758
2761
}
2759
2762
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832);
2760
2763
DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832);
 
2764
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832);
 
2765
DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832);
2761
2766
#endif /*CONFIG_MMC_RICOH_MMC*/
2762
2767
 
2763
2768
#if defined(CONFIG_DMAR) || defined(CONFIG_INTR_REMAP)
2784
2789
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x3c28, vtd_mask_spec_errors);
2785
2790
#endif
2786
2791
 
 
2792
static void __devinit fixup_ti816x_class(struct pci_dev* dev)
 
2793
{
 
2794
        /* TI 816x devices do not have class code set when in PCIe boot mode */
 
2795
        if (dev->class == PCI_CLASS_NOT_DEFINED) {
 
2796
                dev_info(&dev->dev, "Setting PCI class for 816x PCIe device\n");
 
2797
                dev->class = PCI_CLASS_MULTIMEDIA_VIDEO;
 
2798
        }
 
2799
}
 
2800
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_TI, 0xb800, fixup_ti816x_class);
 
2801
 
2787
2802
static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
2788
2803
                          struct pci_fixup *end)
2789
2804
{