PCI: AMD SATA IDE mode quirk
PCI: modify SATA IDE mode quirk When initialize and resume, SB600/700/800 need to set SATA mode correctly. Signed-off-by: Crane Cai <crane.cai@amd.com> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
f96ee7a41e
commit
05a7d22b9f
1 changed files with 10 additions and 7 deletions
|
@ -867,13 +867,13 @@ static void quirk_disable_pxb(struct pci_dev *pdev)
|
|||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb);
|
||||
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)
|
||||
static void __devinit quirk_amd_ide_mode(struct pci_dev *pdev)
|
||||
{
|
||||
/* set sb600 sata to ahci mode */
|
||||
if ((pdev->class >> 8) == PCI_CLASS_STORAGE_IDE) {
|
||||
u8 tmp;
|
||||
/* set sb600/sb700/sb800 sata to ahci mode */
|
||||
u8 tmp;
|
||||
|
||||
pci_read_config_byte(pdev, PCI_CLASS_DEVICE, &tmp);
|
||||
if (tmp == 0x01) {
|
||||
pci_read_config_byte(pdev, 0x40, &tmp);
|
||||
pci_write_config_byte(pdev, 0x40, tmp|1);
|
||||
pci_write_config_byte(pdev, 0x9, 1);
|
||||
|
@ -881,10 +881,13 @@ static void __devinit quirk_sb600_sata(struct pci_dev *pdev)
|
|||
pci_write_config_byte(pdev, 0x40, tmp);
|
||||
|
||||
pdev->class = PCI_CLASS_STORAGE_SATA_AHCI;
|
||||
dev_info(&pdev->dev, "set SATA to AHCI mode\n");
|
||||
}
|
||||
}
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SATA, quirk_sb600_sata);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_sb600_sata);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SATA, quirk_amd_ide_mode);
|
||||
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_SATA, quirk_amd_ide_mode);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_amd_ide_mode);
|
||||
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_amd_ide_mode);
|
||||
|
||||
/*
|
||||
* Serverworks CSB5 IDE does not fully support native mode
|
||||
|
|
Loading…
Reference in a new issue