diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-06-03 04:55:09 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-06-03 04:55:09 -0400 |
| commit | 338e33acd820fa89b8a2d5b6574233784702f618 (patch) | |
| tree | e1548e5c8b25d7c703c2aca5e82d71cd62ac5a97 | |
| parent | d683b96b072dc4680fc74964eca77e6a23d1fa6e (diff) | |
| parent | 52a2a1087b5924de00484f35ef5e2a73f61dbd22 (diff) | |
Merge branch 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
Pull libata changes from Tejun Heo:
"Nothing too interesting. PCI ID additions, some sata_rcar fixes and a
fringe bug fix for DMADIR handling which shouldn't affect any device
remotely modern."
* 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
sata_rcar: fix interrupt handling
ahci: add an observed PCI ID for Marvell 88se9172 SATA controller
sata_rcar: clear STOP bit in bmdma_start() method
libata: make ata_exec_internal_sg honor DMADIR
ata_piix: add PCI IDs for Intel BayTail
libata: update "Maintained by:" tags
| -rw-r--r-- | drivers/ata/acard-ahci.c | 2 | ||||
| -rw-r--r-- | drivers/ata/ahci.c | 4 | ||||
| -rw-r--r-- | drivers/ata/ahci.h | 2 | ||||
| -rw-r--r-- | drivers/ata/ata_piix.c | 17 | ||||
| -rw-r--r-- | drivers/ata/libahci.c | 2 | ||||
| -rw-r--r-- | drivers/ata/libata-core.c | 8 | ||||
| -rw-r--r-- | drivers/ata/libata-eh.c | 2 | ||||
| -rw-r--r-- | drivers/ata/libata-scsi.c | 2 | ||||
| -rw-r--r-- | drivers/ata/libata-sff.c | 2 | ||||
| -rw-r--r-- | drivers/ata/pdc_adma.c | 2 | ||||
| -rw-r--r-- | drivers/ata/sata_promise.c | 2 | ||||
| -rw-r--r-- | drivers/ata/sata_rcar.c | 24 | ||||
| -rw-r--r-- | drivers/ata/sata_sil.c | 2 | ||||
| -rw-r--r-- | drivers/ata/sata_sx4.c | 2 | ||||
| -rw-r--r-- | drivers/ata/sata_via.c | 2 |
15 files changed, 49 insertions, 26 deletions
diff --git a/drivers/ata/acard-ahci.c b/drivers/ata/acard-ahci.c index 4e94ba29cb8d..9d0cf019ce59 100644 --- a/drivers/ata/acard-ahci.c +++ b/drivers/ata/acard-ahci.c | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | /* | 2 | /* |
| 3 | * acard-ahci.c - ACard AHCI SATA support | 3 | * acard-ahci.c - ACard AHCI SATA support |
| 4 | * | 4 | * |
| 5 | * Maintained by: Jeff Garzik <jgarzik@pobox.com> | 5 | * Maintained by: Tejun Heo <tj@kernel.org> |
| 6 | * Please ALWAYS copy linux-ide@vger.kernel.org | 6 | * Please ALWAYS copy linux-ide@vger.kernel.org |
| 7 | * on emails. | 7 | * on emails. |
| 8 | * | 8 | * |
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 251e57d38942..2b50dfdf1cfc 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * ahci.c - AHCI SATA support | 2 | * ahci.c - AHCI SATA support |
| 3 | * | 3 | * |
| 4 | * Maintained by: Jeff Garzik <jgarzik@pobox.com> | 4 | * Maintained by: Tejun Heo <tj@kernel.org> |
| 5 | * Please ALWAYS copy linux-ide@vger.kernel.org | 5 | * Please ALWAYS copy linux-ide@vger.kernel.org |
| 6 | * on emails. | 6 | * on emails. |
| 7 | * | 7 | * |
| @@ -423,6 +423,8 @@ static const struct pci_device_id ahci_pci_tbl[] = { | |||
| 423 | .driver_data = board_ahci_yes_fbs }, /* 88se9125 */ | 423 | .driver_data = board_ahci_yes_fbs }, /* 88se9125 */ |
| 424 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x917a), | 424 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x917a), |
| 425 | .driver_data = board_ahci_yes_fbs }, /* 88se9172 */ | 425 | .driver_data = board_ahci_yes_fbs }, /* 88se9172 */ |
| 426 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9172), | ||
| 427 | .driver_data = board_ahci_yes_fbs }, /* 88se9172 */ | ||
| 426 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9192), | 428 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9192), |
| 427 | .driver_data = board_ahci_yes_fbs }, /* 88se9172 on some Gigabyte */ | 429 | .driver_data = board_ahci_yes_fbs }, /* 88se9172 on some Gigabyte */ |
| 428 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a3), | 430 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a3), |
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h index b830e6c9fe49..10b14d45cfd2 100644 --- a/drivers/ata/ahci.h +++ b/drivers/ata/ahci.h | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * ahci.h - Common AHCI SATA definitions and declarations | 2 | * ahci.h - Common AHCI SATA definitions and declarations |
| 3 | * | 3 | * |
| 4 | * Maintained by: Jeff Garzik <jgarzik@pobox.com> | 4 | * Maintained by: Tejun Heo <tj@kernel.org> |
| 5 | * Please ALWAYS copy linux-ide@vger.kernel.org | 5 | * Please ALWAYS copy linux-ide@vger.kernel.org |
| 6 | * on emails. | 6 | * on emails. |
| 7 | * | 7 | * |
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index 2f48123d74c4..9a8a674e8fac 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * ata_piix.c - Intel PATA/SATA controllers | 2 | * ata_piix.c - Intel PATA/SATA controllers |
| 3 | * | 3 | * |
| 4 | * Maintained by: Jeff Garzik <jgarzik@pobox.com> | 4 | * Maintained by: Tejun Heo <tj@kernel.org> |
| 5 | * Please ALWAYS copy linux-ide@vger.kernel.org | 5 | * Please ALWAYS copy linux-ide@vger.kernel.org |
| 6 | * on emails. | 6 | * on emails. |
| 7 | * | 7 | * |
| @@ -151,6 +151,7 @@ enum piix_controller_ids { | |||
| 151 | piix_pata_vmw, /* PIIX4 for VMware, spurious DMA_ERR */ | 151 | piix_pata_vmw, /* PIIX4 for VMware, spurious DMA_ERR */ |
| 152 | ich8_sata_snb, | 152 | ich8_sata_snb, |
| 153 | ich8_2port_sata_snb, | 153 | ich8_2port_sata_snb, |
| 154 | ich8_2port_sata_byt, | ||
| 154 | }; | 155 | }; |
| 155 | 156 | ||
| 156 | struct piix_map_db { | 157 | struct piix_map_db { |
| @@ -334,6 +335,9 @@ static const struct pci_device_id piix_pci_tbl[] = { | |||
| 334 | { 0x8086, 0x8d60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, | 335 | { 0x8086, 0x8d60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, |
| 335 | /* SATA Controller IDE (Wellsburg) */ | 336 | /* SATA Controller IDE (Wellsburg) */ |
| 336 | { 0x8086, 0x8d68, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, | 337 | { 0x8086, 0x8d68, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, |
| 338 | /* SATA Controller IDE (BayTrail) */ | ||
| 339 | { 0x8086, 0x0F20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_byt }, | ||
| 340 | { 0x8086, 0x0F21, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_byt }, | ||
| 337 | 341 | ||
| 338 | { } /* terminate list */ | 342 | { } /* terminate list */ |
| 339 | }; | 343 | }; |
| @@ -441,6 +445,7 @@ static const struct piix_map_db *piix_map_db_table[] = { | |||
| 441 | [tolapai_sata] = &tolapai_map_db, | 445 | [tolapai_sata] = &tolapai_map_db, |
| 442 | [ich8_sata_snb] = &ich8_map_db, | 446 | [ich8_sata_snb] = &ich8_map_db, |
| 443 | [ich8_2port_sata_snb] = &ich8_2port_map_db, | 447 | [ich8_2port_sata_snb] = &ich8_2port_map_db, |
| 448 | [ich8_2port_sata_byt] = &ich8_2port_map_db, | ||
| 444 | }; | 449 | }; |
| 445 | 450 | ||
| 446 | static struct pci_bits piix_enable_bits[] = { | 451 | static struct pci_bits piix_enable_bits[] = { |
| @@ -1254,6 +1259,16 @@ static struct ata_port_info piix_port_info[] = { | |||
| 1254 | .udma_mask = ATA_UDMA6, | 1259 | .udma_mask = ATA_UDMA6, |
| 1255 | .port_ops = &piix_sata_ops, | 1260 | .port_ops = &piix_sata_ops, |
| 1256 | }, | 1261 | }, |
| 1262 | |||
| 1263 | [ich8_2port_sata_byt] = | ||
| 1264 | { | ||
| 1265 | .flags = PIIX_SATA_FLAGS | PIIX_FLAG_SIDPR | PIIX_FLAG_PIO16, | ||
| 1266 | .pio_mask = ATA_PIO4, | ||
| 1267 | .mwdma_mask = ATA_MWDMA2, | ||
| 1268 | .udma_mask = ATA_UDMA6, | ||
| 1269 | .port_ops = &piix_sata_ops, | ||
| 1270 | }, | ||
| 1271 | |||
| 1257 | }; | 1272 | }; |
| 1258 | 1273 | ||
| 1259 | #define AHCI_PCI_BAR 5 | 1274 | #define AHCI_PCI_BAR 5 |
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index 34c82167b962..a70ff154f586 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata/libahci.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * libahci.c - Common AHCI SATA low-level routines | 2 | * libahci.c - Common AHCI SATA low-level routines |
| 3 | * | 3 | * |
| 4 | * Maintained by: Jeff Garzik <jgarzik@pobox.com> | 4 | * Maintained by: Tejun Heo <tj@kernel.org> |
| 5 | * Please ALWAYS copy linux-ide@vger.kernel.org | 5 | * Please ALWAYS copy linux-ide@vger.kernel.org |
| 6 | * on emails. | 6 | * on emails. |
| 7 | * | 7 | * |
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 63c743baf920..f2184276539d 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * libata-core.c - helper library for ATA | 2 | * libata-core.c - helper library for ATA |
| 3 | * | 3 | * |
| 4 | * Maintained by: Jeff Garzik <jgarzik@pobox.com> | 4 | * Maintained by: Tejun Heo <tj@kernel.org> |
| 5 | * Please ALWAYS copy linux-ide@vger.kernel.org | 5 | * Please ALWAYS copy linux-ide@vger.kernel.org |
| 6 | * on emails. | 6 | * on emails. |
| 7 | * | 7 | * |
| @@ -1602,6 +1602,12 @@ unsigned ata_exec_internal_sg(struct ata_device *dev, | |||
| 1602 | qc->tf = *tf; | 1602 | qc->tf = *tf; |
| 1603 | if (cdb) | 1603 | if (cdb) |
| 1604 | memcpy(qc->cdb, cdb, ATAPI_CDB_LEN); | 1604 | memcpy(qc->cdb, cdb, ATAPI_CDB_LEN); |
| 1605 | |||
| 1606 | /* some SATA bridges need us to indicate data xfer direction */ | ||
| 1607 | if (tf->protocol == ATAPI_PROT_DMA && (dev->flags & ATA_DFLAG_DMADIR) && | ||
| 1608 | dma_dir == DMA_FROM_DEVICE) | ||
| 1609 | qc->tf.feature |= ATAPI_DMADIR; | ||
| 1610 | |||
| 1605 | qc->flags |= ATA_QCFLAG_RESULT_TF; | 1611 | qc->flags |= ATA_QCFLAG_RESULT_TF; |
| 1606 | qc->dma_dir = dma_dir; | 1612 | qc->dma_dir = dma_dir; |
| 1607 | if (dma_dir != DMA_NONE) { | 1613 | if (dma_dir != DMA_NONE) { |
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index f9476fb3ac43..c69fcce505c0 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * libata-eh.c - libata error handling | 2 | * libata-eh.c - libata error handling |
| 3 | * | 3 | * |
| 4 | * Maintained by: Jeff Garz | ||
