[PATCH v2] ahci: Add support for Promise PDC42819 (T3 controller)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add appropriate entries for the Promise PDC42819 controller. It has an
AHCI programming interface and so far works perfectly fine with board_ahci.

This chip is found on Promise's FastTrak TX2650 (2 port) and TX4650 (4 port)
software-based RAID cards and can be found on some motherboards, for example
the MSI K9A2 Platinum (v1), which calls the chip a Promise T3 controller.

This controller also supports SAS devices and Promise's proprietary software
RAID (via a different programming interface); but seeing as no documentation
is provided by Promise this patch at least allows the chip to be useful to
people as a SATA controller without resorting to the (not very up-to-date)
binary driver (t3sas).

Promise's PDC42819 appears on boards with PCI device IDs of 0x3f20 and
0x3f19. The only difference seems to be that the 0x3f19 is on boards that
are sold as SATA controllers (and probably have firmware that makes them act
as such). This makes no difference to us for the purposes of this patch
because we're only using the ACHI interface right now.

This patch has been tested on a system with a SAS disk connected to the
Promise PDC42819 controller and no problems were seen - during boot probing
of the port that has the SAS disk connected just timed out with "link online
but device misclassified" after which it continued on and correctly found
the connected SATA disk.

Signed-off-by: Mark Nelson <mdnelson8@xxxxxxxxx>
---
 drivers/ata/ahci.c |    4 ++++
 1 file changed, 4 insertions(+)

Index: upstream/drivers/ata/ahci.c
===================================================================
--- upstream.orig/drivers/ata/ahci.c
+++ upstream/drivers/ata/ahci.c
@@ -588,6 +588,10 @@ static const struct pci_device_id ahci_p
 	{ PCI_VDEVICE(MARVELL, 0x6145), board_ahci_mv },	/* 6145 */
 	{ PCI_VDEVICE(MARVELL, 0x6121), board_ahci_mv },	/* 6121 */

+	/* Promise */
+	{ PCI_VDEVICE(PROMISE, 0x3f20), board_ahci },	/* PDC42819 */
+	{ PCI_VDEVICE(PROMISE, 0x3f19), board_ahci },	/* PDC42819 */
+
 	/* Generic, PCI class code for AHCI */
 	{ PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
 	  PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci },
--
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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux