diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-20 20:11:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-20 20:11:44 -0400 |
commit | f1518a088bde6aea49e7c472ed6ab96178fcba3e (patch) | |
tree | 51d940efef6b7594a3152f4cdd65ae56ebae5f17 /drivers | |
parent | 2090dee420911045258d50239dc2c527e4b1dd06 (diff) | |
parent | 5fe675e2b3e41349deb0c81667065b9cb229ea1d (diff) |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
fix module_param mistake in it821x
ahci: fix PORTS_IMPL override
kerneldoc fix in libata
libata: more NONCQ devices
pata_it821x: (partially) fix DMA in RAID mode
PATA: Add the MCP73/77 support to PATA driver
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/ahci.c | 2 | ||||
-rw-r--r-- | drivers/ata/libata-core.c | 4 | ||||
-rw-r--r-- | drivers/ata/pata_amd.c | 2 | ||||
-rw-r--r-- | drivers/ata/pata_it821x.c | 13 |
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 | ||
84 | struct it821x_dev | 85 | struct it821x_dev |
85 | { | 86 | { |
@@ -460,14 +461,8 @@ static unsigned int it821x_passthru_qc_issue_prot(struct ata_queued_cmd *qc) | |||
460 | 461 | ||
461 | static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused) | 462 | static 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 | ||
801 | module_param_named(noraid, it8212_noraid, int, S_IRUGO); | 796 | module_param_named(noraid, it8212_noraid, int, S_IRUGO); |
802 | MODULE_PARM_DESC(it8212_noraid, "Force card into bypass mode"); | 797 | MODULE_PARM_DESC(noraid, "Force card into bypass mode"); |
803 | 798 | ||
804 | module_init(it821x_init); | 799 | module_init(it821x_init); |
805 | module_exit(it821x_exit); | 800 | module_exit(it821x_exit); |