Skip to contentSkip to conversation

2.4.34 - Add some ahci pci ids

PATCH In review Filippo Carletti 3 participants 7 messages Jun 1, 2007 – Jun 6, 2007

lore
Share & tools
lore
#0 lore raw

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 */
 };
 
#1 lore raw

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

#2 lore raw
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

#3 lore raw
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)
#4 lore raw
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)
#5 lore raw
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

#6 lore raw
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