|
@@ -850,6 +850,23 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_
|
|
|
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb );
|
|
|
|
|
|
|
|
|
+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);
|
|
|
+
|
|
|
+ pdev->class = 0x010601;
|
|
|
+ }
|
|
|
+}
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SATA, quirk_sb600_sata);
|
|
|
+
|
|
|
/*
|
|
|
* Serverworks CSB5 IDE does not fully support native mode
|
|
|
*/
|