Commit f1518a08 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 2090dee4 5fe675e2
...@@ -527,7 +527,7 @@ static void ahci_save_initial_config(struct pci_dev *pdev, ...@@ -527,7 +527,7 @@ static void ahci_save_initial_config(struct pci_dev *pdev,
/* fixup zero port_map */ /* fixup zero port_map */
if (!port_map) { if (!port_map) {
port_map = (1 << ahci_nr_ports(hpriv->cap)) - 1; port_map = (1 << ahci_nr_ports(cap)) - 1;
dev_printk(KERN_WARNING, &pdev->dev, dev_printk(KERN_WARNING, &pdev->dev,
"PORTS_IMPL is zero, forcing 0x%x\n", port_map); "PORTS_IMPL is zero, forcing 0x%x\n", port_map);
......
...@@ -3659,7 +3659,7 @@ static int ata_dev_same_device(struct ata_device *dev, unsigned int new_class, ...@@ -3659,7 +3659,7 @@ static int ata_dev_same_device(struct ata_device *dev, unsigned int new_class,
/** /**
* ata_dev_reread_id - Re-read IDENTIFY data * ata_dev_reread_id - Re-read IDENTIFY data
* @adev: target ATA device * @dev: target ATA device
* @readid_flags: read ID flags * @readid_flags: read ID flags
* *
* Re-read IDENTIFY page and make sure @dev is still attached to * 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,6 +3802,8 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
{ "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, }, { "HTS541010G9SA00", "MBZOC60D", ATA_HORKAGE_NONCQ, },
/* Drives which do spurious command completion */ /* Drives which do spurious command completion */
{ "HTS541680J9SA00", "SB2IC7EP", ATA_HORKAGE_NONCQ, }, { "HTS541680J9SA00", "SB2IC7EP", ATA_HORKAGE_NONCQ, },
{ "HTS541612J9SA00", "SBDIC7JP", ATA_HORKAGE_NONCQ, },
{ "WDC WD740ADFD-00NLR1", NULL, ATA_HORKAGE_NONCQ, },
/* Devices with NCQ limits */ /* Devices with NCQ limits */
......
...@@ -693,6 +693,8 @@ static const struct pci_device_id amd[] = { ...@@ -693,6 +693,8 @@ static const struct pci_device_id amd[] = {
{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_IDE), 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_IDE), 8 },
{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP65_IDE), 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP65_IDE), 8 },
{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP67_IDE), 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP67_IDE), 8 },
{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_IDE), 8 },
{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE), 8 },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), 9 }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), 9 },
{ }, { },
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* pata_it821x.c - IT821x PATA for new ATA layer * pata_it821x.c - IT821x PATA for new ATA layer
* (C) 2005 Red Hat Inc * (C) 2005 Red Hat Inc
* Alan Cox <alan@redhat.com> * Alan Cox <alan@redhat.com>
* (C) 2007 Bartlomiej Zolnierkiewicz
* *
* based upon * based upon
* *
...@@ -79,7 +80,7 @@ ...@@ -79,7 +80,7 @@
#define DRV_NAME "pata_it821x" #define DRV_NAME "pata_it821x"
#define DRV_VERSION "0.3.6" #define DRV_VERSION "0.3.7"
struct it821x_dev struct it821x_dev
{ {
...@@ -460,14 +461,8 @@ static unsigned int it821x_passthru_qc_issue_prot(struct ata_queued_cmd *qc) ...@@ -460,14 +461,8 @@ static unsigned int it821x_passthru_qc_issue_prot(struct ata_queued_cmd *qc)
static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused) static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused)
{ {
int dma_enabled = 0;
int i; int i;
/* Bits 5 and 6 indicate if DMA is active on master/slave */
/* It is possible that BMDMA isn't allocated */
if (ap->ioaddr.bmdma_addr)
dma_enabled = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_CMD);
for (i = 0; i < ATA_MAX_DEVICES; i++) { for (i = 0; i < ATA_MAX_DEVICES; i++) {
struct ata_device *dev = &ap->device[i]; struct ata_device *dev = &ap->device[i];
if (ata_dev_enabled(dev)) { if (ata_dev_enabled(dev)) {
...@@ -476,7 +471,7 @@ static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused ...@@ -476,7 +471,7 @@ static int it821x_smart_set_mode(struct ata_port *ap, struct ata_device **unused
dev->dma_mode = XFER_MW_DMA_0; dev->dma_mode = XFER_MW_DMA_0;
/* We do need the right mode information for DMA or PIO /* We do need the right mode information for DMA or PIO
and this comes from the current configuration flags */ and this comes from the current configuration flags */
if (dma_enabled & (1 << (5 + i))) { if (ata_id_has_dma(dev->id)) {
ata_dev_printk(dev, KERN_INFO, "configured for DMA\n"); ata_dev_printk(dev, KERN_INFO, "configured for DMA\n");
dev->xfer_mode = XFER_MW_DMA_0; dev->xfer_mode = XFER_MW_DMA_0;
dev->xfer_shift = ATA_SHIFT_MWDMA; dev->xfer_shift = ATA_SHIFT_MWDMA;
...@@ -799,7 +794,7 @@ MODULE_VERSION(DRV_VERSION); ...@@ -799,7 +794,7 @@ MODULE_VERSION(DRV_VERSION);
module_param_named(noraid, it8212_noraid, int, S_IRUGO); module_param_named(noraid, it8212_noraid, int, S_IRUGO);
MODULE_PARM_DESC(it8212_noraid, "Force card into bypass mode"); MODULE_PARM_DESC(noraid, "Force card into bypass mode");
module_init(it821x_init); module_init(it821x_init);
module_exit(it821x_exit); module_exit(it821x_exit);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment