Re: [PATCH] 2.4.34 - Add some ahci pci ids

From: Filippo Carletti
Date: Wed Jun 06 2007 - 16:16:45 EST


>>> The original patch contained also this lines (that I omitted):
>>> + /* JMicron-specific fixup: make sure we're in AHCI mode */
>>> + if (pdev->vendor == 0x197b)
>>> + pci_write_config_byte(pdev, 0x41, 0xa1);
>> NAK. Don't omit obviously needed lines, if you are going to add JMicron
>> PCI IDs.
>
> Filippo,
>
> would you please resend your patch including the lines you have omitted ?
> Jeff is right, those lines are explicitly labelled as a fixup, so either
> we merge the complete patch, or nothing at all.

I'm attaching a revised patch that includes JMicron fixup I missed earlier.

The patch applies but it's not tested because I lack appropriate hw.

Ciao,
Filippo
--- drivers/scsi/ahci.c.orig 2006-12-23 20:34:20.000000000 +0000
+++ drivers/scsi/ahci.c 2007-05-11 22:11:52.000000000 +0000
@@ -275,6 +275,24 @@
board_ahci }, /* ESB2 */
{ PCI_VENDOR_ID_INTEL, 0x27c6, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ICH7-M DH */
+ { PCI_VENDOR_ID_INTEL, 0x2821, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ICH8 */
+ { PCI_VENDOR_ID_INTEL, 0x2822, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ICH8 */
+ { PCI_VENDOR_ID_INTEL, 0x2824, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ICH8 */
+ { PCI_VENDOR_ID_INTEL, 0x2829, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ICH8M */
+ { PCI_VENDOR_ID_INTEL, 0x282a, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ICH8M */
+ { 0x197b, 0x2360, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* JMicron JMB360 */
+ { 0x197b, 0x2363, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* JMicron JMB363 */
+ { PCI_VENDOR_ID_ATI, 0x4380, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ATI SB600 non-raid */
+ { PCI_VENDOR_ID_ATI, 0x4381, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+ board_ahci }, /* ATI SB600 raid */
{ } /* terminate list */
};

@@ -1085,6 +1085,10 @@
if (have_msi)
hpriv->flags |= AHCI_FLAG_MSI;

+ /* JMicron-specific fixup: make sure we're in AHCI mode */
+ if (pdev->vendor == 0x197b)
+ pci_write_config_byte(pdev, 0x41, 0xa1);
+
/* initialize adapter */
rc = ahci_host_init(probe_ent);
if (rc)