Patchwork Add AMD SB900 SATA/IDE controller device IDs

login
register
mail settings
Submitter Shane Huang
Date July 28, 2009, 6:29 a.m.
Message ID <1248762566.3437.7.camel@zm-desktop>
Download mbox | patch
Permalink /patch/30285/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Shane Huang - July 28, 2009, 6:29 a.m.
Add AMD SB900 SATA/IDE controller device IDs.

Signed-off-by: Shane Huang <shane.huang@amd.com>



--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tejun Heo - July 28, 2009, 7:52 a.m.
Shane Huang wrote:
> Add AMD SB900 SATA/IDE controller device IDs.
> 
> Signed-off-by: Shane Huang <shane.huang@amd.com>

Acked-by: Tejun Heo <tj@kernel.org>

> +	/* AMD */
> +	{ PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD SB900 */
> +	{ PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
> +	  PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci }, /* AMD RAID */

Adding a comment declaring that AMD is committed to use RAID class
only for ahci controllers would be nice.

Thanks.
Jeff Garzik - July 29, 2009, 12:56 a.m.
Shane Huang wrote:
> Add AMD SB900 SATA/IDE controller device IDs.
> 
> Signed-off-by: Shane Huang <shane.huang@amd.com>
> 
> diff -ruN a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> --- a/drivers/ata/ahci.c	2009-07-27 18:55:43.000000000 +0800
> +++ b/drivers/ata/ahci.c	2009-07-27 18:55:47.000000000 +0800
> @@ -533,6 +533,11 @@
>  	{ PCI_VDEVICE(ATI, 0x4394), board_ahci_sb700 }, /* ATI SB700/800 */
>  	{ PCI_VDEVICE(ATI, 0x4395), board_ahci_sb700 }, /* ATI SB700/800 */
>  
> +	/* AMD */
> +	{ PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD SB900 */
> +	{ PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
> +	  PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci }, /* AMD RAID */

Are you _absolutely_ certain that future AMD PCI_CLASS_STORAGE_RAID 
hardware will be compatible with AHCI?

	Jeff


--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Shane Huang - July 29, 2009, 2:32 a.m.
Hi Jeff, 


> -----Original Message-----
> From: Jeff Garzik [mailto:jgarzik@pobox.com] 
> >  
> > +	/* AMD */
> > +	{ PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD SB900 */
> > +	{ PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
> > +	  PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci }, 
> /* AMD RAID */
> 
> Are you _absolutely_ certain that future AMD PCI_CLASS_STORAGE_RAID 
> hardware will be compatible with AHCI?
> 

Yes, we discussed this issue in our team and do not see the risk,
so we decided to submit the generic RAID support.

I will update this patch with Tejun's request to add one comment.


Thanks
Shane

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jeff Garzik - July 29, 2009, 2:42 a.m.
Huang, Shane wrote:
> Hi Jeff, 
> 
> 
>> -----Original Message-----
>> From: Jeff Garzik [mailto:jgarzik@pobox.com] 
>>>  
>>> +	/* AMD */
>>> +	{ PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD SB900 */
>>> +	{ PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
>>> +	  PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci }, 
>> /* AMD RAID */
>>
>> Are you _absolutely_ certain that future AMD PCI_CLASS_STORAGE_RAID 
>> hardware will be compatible with AHCI?
>>
> 
> Yes, we discussed this issue in our team and do not see the risk,
> so we decided to submit the generic RAID support.
> 
> I will update this patch with Tejun's request to add one comment.

Sounds good, thanks...

	Jeff




--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff -ruN a/drivers/ata/ahci.c b/drivers/ata/ahci.c
--- a/drivers/ata/ahci.c	2009-07-27 18:55:43.000000000 +0800
+++ b/drivers/ata/ahci.c	2009-07-27 18:55:47.000000000 +0800
@@ -533,6 +533,11 @@ 
 	{ PCI_VDEVICE(ATI, 0x4394), board_ahci_sb700 }, /* ATI SB700/800 */
 	{ PCI_VDEVICE(ATI, 0x4395), board_ahci_sb700 }, /* ATI SB700/800 */
 
+	/* AMD */
+	{ PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD SB900 */
+	{ PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
+	  PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci }, /* AMD RAID */
+
 	/* VIA */
 	{ PCI_VDEVICE(VIA, 0x3349), board_ahci_vt8251 }, /* VIA VT8251 */
 	{ PCI_VDEVICE(VIA, 0x6287), board_ahci_vt8251 }, /* VIA VT8251 */
diff -ruN a/drivers/ata/pata_atiixp.c b/drivers/ata/pata_atiixp.c
--- a/drivers/ata/pata_atiixp.c	2009-07-27 18:55:56.000000000 +0800
+++ b/drivers/ata/pata_atiixp.c	2009-07-27 18:56:01.000000000 +0800
@@ -245,6 +245,7 @@ 
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP400_IDE), },
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP600_IDE), },
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP700_IDE), },
+	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_SB900_IDE), },
 
 	{ },
 };
diff -ruN a/drivers/ide/atiixp.c b/drivers/ide/atiixp.c
--- a/drivers/ide/atiixp.c	2009-07-27 18:57:07.000000000 +0800
+++ b/drivers/ide/atiixp.c	2009-07-27 18:57:12.000000000 +0800
@@ -177,6 +177,7 @@ 
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP400_IDE), 0 },
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP600_IDE), 1 },
 	{ PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP700_IDE), 0 },
+	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_SB900_IDE), 0 },
 	{ 0, },
 };
 MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl);
diff -ruN a/drivers/pci/quirks.c b/drivers/pci/quirks.c
--- a/drivers/pci/quirks.c	2009-07-27 18:56:41.000000000 +0800
+++ b/drivers/pci/quirks.c	2009-07-27 18:56:46.000000000 +0800
@@ -992,7 +992,7 @@ 
 
 static void __devinit quirk_amd_ide_mode(struct pci_dev *pdev)
 {
-	/* set sb600/sb700/sb800 sata to ahci mode */
+	/* set SBX00 SATA in IDE mode to AHCI mode */
 	u8 tmp;
 
 	pci_read_config_byte(pdev, PCI_CLASS_DEVICE, &tmp);
@@ -1011,6 +1011,8 @@ 
 DECLARE_PCI_FIXUP_RESUME_EARLY(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_EARLY(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_amd_ide_mode);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_SB900_SATA_IDE, quirk_amd_ide_mode);
+DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_SB900_SATA_IDE, quirk_amd_ide_mode);
 
 /*
  *	Serverworks CSB5 IDE does not fully support native mode
diff -ruN a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h	2009-07-27 18:54:41.000000000 +0800
+++ b/include/linux/pci_ids.h	2009-07-27 18:55:17.000000000 +0800
@@ -376,6 +376,9 @@ 
 #define PCI_DEVICE_ID_ATI_IXP600_IDE	0x438c
 #define PCI_DEVICE_ID_ATI_IXP700_SATA	0x4390
 #define PCI_DEVICE_ID_ATI_IXP700_IDE	0x439c
+/* AMD SB Chipset */
+#define PCI_DEVICE_ID_AMD_SB900_IDE	 0x780c
+#define PCI_DEVICE_ID_AMD_SB900_SATA_IDE 0x7800
 
 #define PCI_VENDOR_ID_VLSI		0x1004
 #define PCI_DEVICE_ID_VLSI_82C592	0x0005