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