aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/ahci.c2
-rw-r--r--drivers/ata/libata-core.c4
-rw-r--r--drivers/ata/pata_amd.c2
-rw-r--r--drivers/ata/pata_it821x.c13
4 files changed, 10 insertions, 11 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 545f330e59a5..ca5229d24d8e 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -527,7 +527,7 @@ static void ahci_save_initial_config(struct pci_dev *pdev,
527 527
528 /* fixup zero port_map */ 528 /* fixup zero port_map */
529 if (!port_map) { 529 if (!port_map) {
530 port_map = (1 << ahci_nr_ports(hpriv->cap)) - 1; 530 port_map = (1 << ahci_nr_ports(cap)) - 1;
531 dev_printk(KERN_WARNING, &pdev->dev, 531 dev_printk(KERN_WARNING, &pdev->dev,
532 "PORTS_IMPL is zero, forcing 0x%x\n", port_map); 532 "PORTS_IMPL is zero, forcing 0x%x\n", port_map);
533 533
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 047eabd75363..adfae9d1ceb1 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3659,7 +3659,7 @@ static int ata_dev_same_device(struct ata_device *dev, unsigned int new_class,
3659 3659
3660/** 3660/**
3661 * ata_dev_reread_id - Re-read IDENTIFY data 3661 * ata_dev_reread_id - Re-read IDENTIFY data
3662 * @adev: target ATA device 3662 * @dev: target ATA device
3663 * @readid_flags: read ID flags 3663 * @readid_flags: read ID flags
3664 * 3664 *
3665 * Re-read IDENTIFY page and make sure @dev is still attached to 3665 * Re-read IDENTIFY page and make sure @dev is still attached to
@@ -3802,6 +3802,8 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
3802 { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, }, 3802 { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },
3803 /* Drives which do spurious command completion */ 3803 /* Drives which do spurious command completion */
3804 { "HTS541680J9SA00", "SB2IC7EP", ATA_HORKAGE_NONCQ, }, 3804 { "HTS541680J9SA00", "SB2IC7EP", ATA_HORKAGE_NONCQ, },
3805 { "HTS541612J9SA00", "SBDIC7JP", ATA_HORKAGE_NONCQ, },
3806 { "WDC WD740ADFD-00NLR1", NULL, ATA_HORKAGE_NONCQ, },
3805 3807
3806 /* Devices with NCQ limits */ 3808 /* Devices with NCQ limits */
3807 3809
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
index b439351f1fd3..a16f629b7b38 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -693,6 +693,8 @@ static const struct pci_device_id amd[] = {
693 { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_IDE), 8 }, 693 { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_IDE), 8 },
694 { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP65_IDE), 8 }, 694 { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP65_IDE), 8 },
695 { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP67_IDE), 8 }, 695 { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP67_IDE), 8 },
696 { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_IDE), 8 },
697 { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE), 8 },
696 { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), 9 }, 698 { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), 9 },
697 699
698 { }, 700 { },
diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c
index b3456d7a592c..dab4e7cf8cda 100644
--- a/drivers/ata/pata_it821x.c
+++ b/drivers/ata/pata_it821x.c
@@ -2,6 +2,7 @@
2 * pata_it821x.c - IT821x PATA for new ATA layer 2 * pata_it821x.c - IT821x PATA for new ATA layer
3 * (C) 2005 Red Hat Inc 3 * (C) 2005 Red Hat Inc
4 * Alan Cox <alan@redhat.com> 4 * Alan Cox <alan@redhat.com>
5 * (C) 2007 Bartlomiej Zolnierkiewicz
5 * 6 *
6 * based upon 7 * based upon
7 * 8 *
@@ -79,7 +80,7 @@
79 80
80 81
81#define DRV_NAME "pata_it821x" 82#define DRV_NAME "pata_it821x"
82#define DRV_VERSION "0.3.6" 83#define DRV_VERSION "0.3.7"
83 84
84struct it821x_dev 85struct it821x_dev
85{ 86{
@@ -460,14 +461,8 @@ static unsigned int it821x_passthru_qc_issue_prot(struct ata_queued_cmd *qc)
460 461
461static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused) 462static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused)
462{ 463{
463 int dma_enabled = 0;
464 int i; 464 int i;
465 465
466 /* Bits 5 and 6 indicate if DMA is active on master/slave */
467 /* It is possible that BMDMA isn't allocated */
468 if (ap->ioaddr.bmdma_addr)
469 dma_enabled = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_CMD);
470
471 for (i = 0; i < ATA_MAX_DEVICES; i++) { 466 for (i = 0; i < ATA_MAX_DEVICES; i++) {
472 struct ata_device *dev = &ap->device[i]; 467 struct ata_device *dev = &ap->device[i];
473 if (ata_dev_enabled(dev)) { 468 if (ata_dev_enabled(dev)) {
@@ -476,7 +471,7 @@ static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused
476 dev->dma_mode = XFER_MW_DMA_0; 471 dev->dma_mode = XFER_MW_DMA_0;
477 /* We do need the right mode information for DMA or PIO 472 /* We do need the right mode information for DMA or PIO
478 and this comes from the current configuration flags */ 473 and this comes from the current configuration flags */
479 if (dma_enabled & (1 << (5 + i))) { 474 if (ata_id_has_dma(dev->id)) {
480 ata_dev_printk(dev, KERN_INFO, "configured for DMA\n"); 475 ata_dev_printk(dev, KERN_INFO, "configured for DMA\n");
481 dev->xfer_mode = XFER_MW_DMA_0; 476 dev->xfer_mode = XFER_MW_DMA_0;
482 dev->xfer_shift = ATA_SHIFT_MWDMA; 477 dev->xfer_shift = ATA_SHIFT_MWDMA;
@@ -799,7 +794,7 @@ MODULE_VERSION(DRV_VERSION);
799 794
800 795
801module_param_named(noraid, it8212_noraid, int, S_IRUGO); 796module_param_named(noraid, it8212_noraid, int, S_IRUGO);
802MODULE_PARM_DESC(it8212_noraid, "Force card into bypass mode"); 797MODULE_PARM_DESC(noraid, "Force card into bypass mode");
803 798
804module_init(it821x_init); 799module_init(it821x_init);
805module_exit(it821x_exit); 800module_exit(it821x_exit);