On Mon, 2006-12-04 at 21:41 -0800, Andrew Morton wrote: > On Mon, 04 Dec 2006 23:56:42 -0500 > Jeff Garzik <jeff@xxxxxxxxxx> wrote: > > > Andrew Morton wrote: > > > via-pata-controller-xfer-fixes.patch > > > via-pata-controller-xfer-fixes-fix.patch > > > > Tejun's 3d3cca37559e3ab2b574eda11ed5207ccdb8980a has been ack'd by the > > reporter as fixing things, so these two shouldn't be needed. > > OK thanks, I dropped it. > > > > > > libata_resume_fix.patch > > > > I thought this was resolved long ago? Are there still open reports that > > this solves, where upstream doesn't work? > > Heck, I don't know. > > > > > > ahci-ati-sb600-sata-support-for-various-modes.patch > > > > With the PCI quirk, I thought ATI was finally sorted? > > Was it? I don't know that either. > > I'll drop these too. > - Hi Jeff, Andrew The following patch is ATI's final solution. It was ACKed by Alan. Jeff, you're the maintainer of libata, but this patch is based on pci/quirks.c, so I don't know who will apply this patch? You or somebody else? Andrew, could you please drop ATI's previous patch and add this one in next -mm patch? The previous patch I sent (ahci-ati-sb600-sata-support-for-various-modes.patch) is not as good as this one :) Best regards, Conke @AMD/ATI [------------------PATCH------------------] --- 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); + + 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 - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html