2.4.34 - Add some ahci pci ids
PATCH 1/1 2.4.34 - Add some ahci pci ids
This patch adds support for some chipsets in ahci driver. The list comes from a patch for redhat kernel 2.6.9-34. I only tested ICH8.
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);
+
Ciao,
Filippo
scsi/ahci.c renamed from scsi/ahci.c.orig +18 -0
@@ -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 */ };
Review
Quoted 8 lines · Filippo Carletti
This patch adds support for some chipsets in ahci driver. The list comes from a patch for redhat kernel 2.6.9-34. I only tested ICH8.
The original patch contained also this lines (that I omitted):
(quoted diff) +3
-0+ /* 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.
Jeff
Quoted 5 lines · Jeff Garzik
Quoted 4 lines · Filippo Carletti
This patch adds support for some chipsets in ahci driver. The list comes from a patch for redhat kernel 2.6.9-34. I only tested ICH8.
Quoted 7 lines
Review
Quoted 4 lines
The original patch contained also this lines (that I omitted):
(quoted diff) +3
-0+ /* 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 expect to release 2.4.35 around the end of this month, so if you can provide me with an acceptable patch in time so that I can run at least one -rc with it, I'm OK to merge it (provided that Jeff has no objection of course). I will merge your other patch (VIA) at the same time.
Thanks in advance,
Willy
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
The original patch contained also this lines (that I omitted):
(quoted diff) +3
-0+ /* JMicron-specific fixup: make sure we're in AHCI mode */ + if (pdev->vendor == 0x197b) + pci_write_config_byte(pdev, 0x41, 0xa1);
Quoted 8 lines
Quoted 2 lines
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
scsi/ahci.c renamed from scsi/ahci.c.orig +22 -0
@@ -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)
Quoted 7 lines · Filippo Carletti
Quoted 7 lines
Quoted 6 lines
scsi/ahci.c line 1090
Quoted 4 lines
The original patch contained also this lines (that I omitted):
scsi/ahci.c renamed from scsi/ahci.c.orig +3
-0+/* 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.
Quoted 7 lines
Quoted 5 lines
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.
Thanks for your quick reply Filippo.
Quoted 1 line
The patch applies but it's not tested because I lack appropriate hw.
Just for information, have you built it already ?
Jeff, does this one look good to you ?
Thanks,
Willy
Quoted 38 lines
scsi/ahci.c renamed from scsi/ahci.c.orig +22
-0@@ -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)
Quoted 1 line
Just for information, have you built it already ?
I successfully built the kernel but I haven't tested it because I have only an ICH8 based mb.
Ciao,
Filippo
Quoted 4 lines · Filippo Carletti
Quoted 1 line
Just for information, have you built it already ?
I successfully built the kernel but I haven't tested it because I have only an ICH8 based mb.
OK fine. It will save me a build then. I do not have the hardware either. I remember seeing one in a machine recently, but I cannot recall where :-( I'll have to search.
Thanks,
Willy