aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-01-20 14:54:16 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-01-20 14:54:16 -0500
commitb97f880c8342fd6e49a02c9ef7507a678722b2b3 (patch)
tree969469f6ed09c443db1f5af2b6ce15c4b792ee53
parentd4b2d0061d76e43f614e23eae3017f43a1a7c6c1 (diff)
parentce7514526742c0898b837d4395f515b79dfb5a12 (diff)
Merge branch 'for-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
Pull libata fixes from Tejun Heo: - Bartlomiej will be co-maintaining PATA portion of libata. git workflow will stay the same. - sata_sil24 wasn't happy with tag ordered submission. An option to restore the old tag allocation behavior is implemented for sil24. - a very old race condition in PIO host state machine which can trigger BUG fixed. - other driver-specific changes * 'for-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: libata: prevent HSM state change race between ISR and PIO libata: allow sata_sil24 to opt-out of tag ordered submission ata: pata_at91: depend on !ARCH_MULTIPLATFORM ahci: Remove Device ID for Intel Sunrise Point PCH ahci: Use dev_info() to inform about the lack of Device Sleep support libata: Whitelist SSDs that are known to properly return zeroes after TRIM sata_dwc_460ex: fix resource leak on error path ata: add MAINTAINERS entry for libata PATA drivers libata: clean up MAINTAINERS entries libata: export ata_get_cmd_descript() ahci_xgene: Fix the DMA state machine lockup for the ATA_CMD_PACKET PIO mode command. ahci_xgene: Fix the endianess issue in APM X-Gene SoC AHCI SATA controller driver.
-rw-r--r--MAINTAINERS75
-rw-r--r--drivers/ata/Kconfig1
-rw-r--r--drivers/ata/ahci.c1
-rw-r--r--drivers/ata/ahci_xgene.c14
-rw-r--r--drivers/ata/libahci.c2
-rw-r--r--drivers/ata/libata-core.c36
-rw-r--r--drivers/ata/libata-eh.c1
-rw-r--r--drivers/ata/libata-scsi.c10
-rw-r--r--drivers/ata/libata-sff.c12
-rw-r--r--drivers/ata/sata_dwc_460ex.c26
-rw-r--r--drivers/ata/sata_sil24.c2
-rw-r--r--include/linux/libata.h2
12 files changed, 118 insertions, 64 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 64e13d5c1e65..93409ade65a5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -754,13 +754,6 @@ L: linux-media@vger.kernel.org
754S: Maintained 754S: Maintained
755F: drivers/media/i2c/aptina-pll.* 755F: drivers/media/i2c/aptina-pll.*
756 756
757ARASAN COMPACT FLASH PATA CONTROLLER
758M: Viresh Kumar <viresh.linux@gmail.com>
759L: linux-ide@vger.kernel.org
760S: Maintained
761F: include/linux/pata_arasan_cf_data.h
762F: drivers/ata/pata_arasan_cf.c
763
764ARC FRAMEBUFFER DRIVER 757ARC FRAMEBUFFER DRIVER
765M: Jaya Kumar <jayalk@intworks.biz> 758M: Jaya Kumar <jayalk@intworks.biz>
766S: Maintained 759S: Maintained
@@ -5704,6 +5697,49 @@ F: drivers/lguest/
5704F: include/linux/lguest*.h 5697F: include/linux/lguest*.h
5705F: tools/lguest/ 5698F: tools/lguest/
5706 5699
5700LIBATA SUBSYSTEM (Serial and Parallel ATA drivers)
5701M: Tejun Heo <tj@kernel.org>
5702L: linux-ide@vger.kernel.org
5703T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
5704S: Maintained
5705F: drivers/ata/
5706F: include/linux/ata.h
5707F: include/linux/libata.h
5708
5709LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
5710M: Viresh Kumar <viresh.linux@gmail.com>
5711L: linux-ide@vger.kernel.org
5712T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
5713S: Maintained
5714F: include/linux/pata_arasan_cf_data.h
5715F: drivers/ata/pata_arasan_cf.c
5716
5717LIBATA PATA DRIVERS
5718M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
5719M: Tejun Heo <tj@kernel.org>
5720L: linux-ide@vger.kernel.org
5721T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
5722S: Maintained
5723F: drivers/ata/pata_*.c
5724F: drivers/ata/ata_generic.c
5725
5726LIBATA SATA AHCI PLATFORM devices support
5727M: Hans de Goede <hdegoede@redhat.com>
5728M: Tejun Heo <tj@kernel.org>
5729L: linux-ide@vger.kernel.org
5730T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
5731S: Maintained
5732F: drivers/ata/ahci_platform.c
5733F: drivers/ata/libahci_platform.c
5734F: include/linux/ahci_platform.h
5735
5736LIBATA SATA PROMISE TX2/TX4 CONTROLLER DRIVER
5737M: Mikael Pettersson <mikpelinux@gmail.com>
5738L: linux-ide@vger.kernel.org
5739T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
5740S: Maintained
5741F: drivers/ata/sata_promise.*
5742
5707LIBLOCKDEP 5743LIBLOCKDEP
5708M: Sasha Levin <sasha.levin@oracle.com> 5744M: Sasha Levin <sasha.levin@oracle.com>
5709S: Maintained 5745S: Maintained
@@ -7578,12 +7614,6 @@ W: http://wireless.kernel.org/en/users/Drivers/p54
7578S: Obsolete 7614S: Obsolete
7579F: drivers/net/wireless/prism54/ 7615F: drivers/net/wireless/prism54/
7580 7616
7581PROMISE SATA TX2/TX4 CONTROLLER LIBATA DRIVER
7582M: Mikael Pettersson <mikpelinux@gmail.com>
7583L: linux-ide@vger.kernel.org
7584S: Maintained
7585F: drivers/ata/sata_promise.*
7586
7587PS3 NETWORK SUPPORT 7617PS3 NETWORK SUPPORT
7588M: Geoff Levand <geoff@infradead.org> 7618M: Geoff Levand <geoff@infradead.org>
7589L: netdev@vger.kernel.org 7619L: netdev@vger.kernel.org
@@ -8557,25 +8587,6 @@ S: Maintained
8557F: drivers/misc/phantom.c 8587F: drivers/misc/phantom.c
8558F: include/uapi/linux/phantom.h 8588F: include/uapi/linux/phantom.h
8559 8589
8560SERIAL ATA (SATA) SUBSYSTEM
8561M: Tejun Heo <tj@kernel.org>
8562L: linux-ide@vger.kernel.org
8563T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
8564S: Supported
8565F: drivers/ata/
8566F: include/linux/ata.h
8567F: include/linux/libata.h
8568
8569SERIAL ATA AHCI PLATFORM devices support
8570M: Hans de Goede <hdegoede@redhat.com>
8571M: Tejun Heo <tj@kernel.org>
8572L: linux-ide@vger.kernel.org
8573T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
8574S: Supported
8575F: drivers/ata/ahci_platform.c
8576F: drivers/ata/libahci_platform.c
8577F: include/linux/ahci_platform.h
8578
8579SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER 8590SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
8580M: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> 8591M: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
8581L: linux-scsi@vger.kernel.org 8592L: linux-scsi@vger.kernel.org
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index a3a13605a9c4..5f601553b9b0 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -835,6 +835,7 @@ config PATA_AT32
835config PATA_AT91 835config PATA_AT91
836 tristate "PATA support for AT91SAM9260" 836 tristate "PATA support for AT91SAM9260"
837 depends on ARM && SOC_AT91SAM9 837 depends on ARM && SOC_AT91SAM9
838 depends on !ARCH_MULTIPLATFORM
838 help 839 help
839 This option enables support for IDE devices on the Atmel AT91SAM9260 SoC. 840 This option enables support for IDE devices on the Atmel AT91SAM9260 SoC.
840 841
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 49f1e6890587..33bb06e006c9 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -325,7 +325,6 @@ static const struct pci_device_id ahci_pci_tbl[] = {
325 { PCI_VDEVICE(INTEL, 0x9d05), board_ahci }, /* Sunrise Point-LP RAID */ 325 { PCI_VDEVICE(INTEL, 0x9d05), board_ahci }, /* Sunrise Point-LP RAID */
326 { PCI_VDEVICE(INTEL, 0x9d07), board_ahci }, /* Sunrise Point-LP RAID */ 326 { PCI_VDEVICE(INTEL, 0x9d07), board_ahci }, /* Sunrise Point-LP RAID */
327 { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H AHCI */ 327 { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H AHCI */
328 { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H RAID */
329 { PCI_VDEVICE(INTEL, 0xa105), board_ahci }, /* Sunrise Point-H RAID */ 328 { PCI_VDEVICE(INTEL, 0xa105), board_ahci }, /* Sunrise Point-H RAID */
330 { PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H RAID */ 329 { PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H RAID */
331 { PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */ 330 { PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */
diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c
index feeb8f1e2fe8..cbcd20810355 100644
--- a/drivers/ata/ahci_xgene.c
+++ b/drivers/ata/ahci_xgene.c
@@ -125,10 +125,11 @@ static int xgene_ahci_restart_engine(struct ata_port *ap)
125 * xgene_ahci_qc_issue - Issue commands to the device 125 * xgene_ahci_qc_issue - Issue commands to the device
126 * @qc: Command to issue 126 * @qc: Command to issue
127 * 127 *
128 * Due to Hardware errata for IDENTIFY DEVICE command, the controller cannot 128 * Due to Hardware errata for IDENTIFY DEVICE command and PACKET
129 * clear the BSY bit after receiving the PIO setup FIS. This results in the dma 129 * command of ATAPI protocol set, the controller cannot clear the BSY bit
130 * state machine goes into the CMFatalErrorUpdate state and locks up. By 130 * after receiving the PIO setup FIS. This results in the DMA state machine
131 * restarting the dma engine, it removes the controller out of lock up state. 131 * going into the CMFatalErrorUpdate state and locks up. By restarting the
132 * DMA engine, it removes the controller out of lock up state.
132 */ 133 */
133static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc) 134static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc)
134{ 135{
@@ -137,7 +138,8 @@ static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc)
137 struct xgene_ahci_context *ctx = hpriv->plat_data; 138 struct xgene_ahci_context *ctx = hpriv->plat_data;
138 int rc = 0; 139 int rc = 0;
139 140
140 if (unlikely(ctx->last_cmd[ap->port_no] == ATA_CMD_ID_ATA)) 141 if (unlikely((ctx->last_cmd[ap->port_no] == ATA_CMD_ID_ATA) ||
142 (ctx->last_cmd[ap->port_no] == ATA_CMD_PACKET)))
141 xgene_ahci_restart_engine(ap); 143 xgene_ahci_restart_engine(ap);
142 144
143 rc = ahci_qc_issue(qc); 145 rc = ahci_qc_issue(qc);
@@ -188,7 +190,7 @@ static unsigned int xgene_ahci_read_id(struct ata_device *dev,
188 * 190 *
189 * Clear reserved bit 8 (DEVSLP bit) as we don't support DEVSLP 191 * Clear reserved bit 8 (DEVSLP bit) as we don't support DEVSLP
190 */ 192 */
191 id[ATA_ID_FEATURE_SUPP]