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

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