Messages in this thread |  | | Date | Fri, 24 Nov 2006 15:01:51 +0900 | From | Tejun Heo <> | Subject | Re: [PATCH] Add IDE mode support for SB600 SATA |
| |
Conke Hu wrote: > ATI SB600 SATA controller supports 4 modes: Legacy IDE, Native IDE, AHCI and RAID. Legacy/Native IDE mode is designed for compatibility with some old OS without AHCI driver but looses SATAII/AHCI features such as NCQ. This patch will make SB600 SATA run in AHCI mode even if it was set as IDE mode by system BIOS. > > Signed-off-by: conke.hu@amd.com > --------- > --- linux-2.6.19-rc6-git4/drivers/pci/quirks.c.orig 2006-11-23 19:45:49.000000000 +0800 > +++ linux-2.6.19-rc6-git4/drivers/pci/quirks.c 2006-11-23 19:34:23.000000000 +0800 > @@ -795,6 +795,25 @@ static void __init quirk_mediagx_master( > } > } > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_PCI_MASTER, quirk_mediagx_master ); > + > +#if defined(CONFIG_SATA_AHCI) || defined(CONFIG_SATA_AHCI_MODULE) > +static void __devinit quirk_sb600_sata(struct pci_dev *pdev) > +{ > + /* set sb600 sata to ahci mode */ > + if ((pdev->class >> 8) == PCI_CLASS_STORAGE_IDE) { > + u8 tmp; > + > + pci_read_config_byte(pdev, 0x40, &tmp); > + pci_write_config_byte(pdev, 0x40, tmp|1); > + pci_write_config_byte(pdev, 0x9, 1); > + pci_write_config_byte(pdev, 0xa, 6); > + pci_write_config_byte(pdev, 0x40, tmp); > +
Two trailing tabs in the above line. Please remove those.
> + pdev->class = 0x010601; > + } > +} > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SATA, quirk_sb600_sata); > +#endif > > /* > * As per PCI spec, ignore base address registers 0-3 of the IDE controllers
Other than that, Acked-by: Tejun Heo <htejun@gmail.com>
-- tejun - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |