Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95dbf5c4 authored by Jeff Garzik's avatar Jeff Garzik
Browse files

Merge branch 'master'

parents 054ee8fd 6e9d6b8e
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -356,7 +356,7 @@ static void piix4_mem_quirk(struct pci_dev *dev, const char *name, unsigned int
/*
/*
 * PIIX4 ACPI: Two IO regions pointed to by longwords at
 * PIIX4 ACPI: Two IO regions pointed to by longwords at
 *	0x40 (64 bytes of ACPI registers)
 *	0x40 (64 bytes of ACPI registers)
 *	0x90 (32 bytes of SMB registers)
 *	0x90 (16 bytes of SMB registers)
 * and a few strange programmable PIIX4 device resources.
 * and a few strange programmable PIIX4 device resources.
 */
 */
static void __devinit quirk_piix4_acpi(struct pci_dev *dev)
static void __devinit quirk_piix4_acpi(struct pci_dev *dev)
@@ -366,7 +366,7 @@ static void __devinit quirk_piix4_acpi(struct pci_dev *dev)
	pci_read_config_dword(dev, 0x40, &region);
	pci_read_config_dword(dev, 0x40, &region);
	quirk_io_region(dev, region, 64, PCI_BRIDGE_RESOURCES, "PIIX4 ACPI");
	quirk_io_region(dev, region, 64, PCI_BRIDGE_RESOURCES, "PIIX4 ACPI");
	pci_read_config_dword(dev, 0x90, &region);
	pci_read_config_dword(dev, 0x90, &region);
	quirk_io_region(dev, region, 32, PCI_BRIDGE_RESOURCES+1, "PIIX4 SMB");
	quirk_io_region(dev, region, 16, PCI_BRIDGE_RESOURCES+1, "PIIX4 SMB");


	/* Device resource A has enables for some of the other ones */
	/* Device resource A has enables for some of the other ones */
	pci_read_config_dword(dev, 0x5c, &res_a);
	pci_read_config_dword(dev, 0x5c, &res_a);
+21 −21
Original line number Original line Diff line number Diff line
@@ -41,6 +41,7 @@
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/sched.h>
#include <linux/dma-mapping.h>
#include <linux/dma-mapping.h>
#include <linux/device.h>
#include "scsi.h"
#include "scsi.h"
#include <scsi/scsi_host.h>
#include <scsi/scsi_host.h>
#include <linux/libata.h>
#include <linux/libata.h>
@@ -683,9 +684,9 @@ static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *
				if (ata_ratelimit()) {
				if (ata_ratelimit()) {
					struct pci_dev *pdev =
					struct pci_dev *pdev =
						to_pci_dev(ap->host_set->dev);
						to_pci_dev(ap->host_set->dev);
					printk(KERN_WARNING
					dev_printk(KERN_WARNING, &pdev->dev,
					  "ahci(%s): unhandled interrupt on port %u\n",
					  "unhandled interrupt on port %u\n",
					  pci_name(pdev), i);
					  i);
				}
				}


			VPRINTK("port %u\n", i);
			VPRINTK("port %u\n", i);
@@ -694,9 +695,8 @@ static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *
			if (ata_ratelimit()) {
			if (ata_ratelimit()) {
				struct pci_dev *pdev =
				struct pci_dev *pdev =
					to_pci_dev(ap->host_set->dev);
					to_pci_dev(ap->host_set->dev);
				printk(KERN_WARNING
				dev_printk(KERN_WARNING, &pdev->dev,
				  "ahci(%s): interrupt on disabled port %u\n",
					"interrupt on disabled port %u\n", i);
				  pci_name(pdev), i);
			}
			}
		}
		}


@@ -768,8 +768,8 @@ static int ahci_host_init(struct ata_probe_ent *probe_ent)


	tmp = readl(mmio + HOST_CTL);
	tmp = readl(mmio + HOST_CTL);
	if (tmp & HOST_RESET) {
	if (tmp & HOST_RESET) {
		printk(KERN_ERR DRV_NAME "(%s): controller reset failed (0x%x)\n",
		dev_printk(KERN_ERR, &pdev->dev,
			pci_name(pdev), tmp);
			   "controller reset failed (0x%x)\n", tmp);
		return -EIO;
		return -EIO;
	}
	}


@@ -797,22 +797,22 @@ static int ahci_host_init(struct ata_probe_ent *probe_ent)
		if (rc) {
		if (rc) {
			rc = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
			rc = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
			if (rc) {
			if (rc) {
				printk(KERN_ERR DRV_NAME "(%s): 64-bit DMA enable failed\n",
				dev_printk(KERN_ERR, &pdev->dev,
					pci_name(pdev));
					   "64-bit DMA enable failed\n");
				return rc;
				return rc;
			}
			}
		}
		}
	} else {
	} else {
		rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
		rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
		if (rc) {
		if (rc) {
			printk(KERN_ERR DRV_NAME "(%s): 32-bit DMA enable failed\n",
			dev_printk(KERN_ERR, &pdev->dev,
				pci_name(pdev));
				   "32-bit DMA enable failed\n");
			return rc;
			return rc;
		}
		}
		rc = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
		rc = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
		if (rc) {
		if (rc) {
			printk(KERN_ERR DRV_NAME "(%s): 32-bit consistent DMA enable failed\n",
			dev_printk(KERN_ERR, &pdev->dev,
				pci_name(pdev));
				   "32-bit consistent DMA enable failed\n");
			return rc;
			return rc;
		}
		}
	}
	}
@@ -915,10 +915,10 @@ static void ahci_print_info(struct ata_probe_ent *probe_ent)
	else
	else
		scc_s = "unknown";
		scc_s = "unknown";


	printk(KERN_INFO DRV_NAME "(%s) AHCI %02x%02x.%02x%02x "
	dev_printk(KERN_INFO, &pdev->dev,
		"AHCI %02x%02x.%02x%02x "
		"%u slots %u ports %s Gbps 0x%x impl %s mode\n"
		"%u slots %u ports %s Gbps 0x%x impl %s mode\n"
	       	,
	       	,
	       	pci_name(pdev),


	       	(vers >> 24) & 0xff,
	       	(vers >> 24) & 0xff,
	       	(vers >> 16) & 0xff,
	       	(vers >> 16) & 0xff,
@@ -931,11 +931,11 @@ static void ahci_print_info(struct ata_probe_ent *probe_ent)
		impl,
		impl,
		scc_s);
		scc_s);


	printk(KERN_INFO DRV_NAME "(%s) flags: "
	dev_printk(KERN_INFO, &pdev->dev,
		"flags: "
	       	"%s%s%s%s%s%s"
	       	"%s%s%s%s%s%s"
	       	"%s%s%s%s%s%s%s\n"
	       	"%s%s%s%s%s%s%s\n"
	       	,
	       	,
	       	pci_name(pdev),


		cap & (1 << 31) ? "64bit " : "",
		cap & (1 << 31) ? "64bit " : "",
		cap & (1 << 30) ? "ncq " : "",
		cap & (1 << 30) ? "ncq " : "",
@@ -968,7 +968,7 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
	VPRINTK("ENTER\n");
	VPRINTK("ENTER\n");


	if (!printed_version++)
	if (!printed_version++)
		printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n");
		dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");


	rc = pci_enable_device(pdev);
	rc = pci_enable_device(pdev);
	if (rc)
	if (rc)
+9 −6
Original line number Original line Diff line number Diff line
@@ -45,6 +45,7 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/blkdev.h>
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/device.h>
#include "scsi.h"
#include "scsi.h"
#include <scsi/scsi_host.h>
#include <scsi/scsi_host.h>
#include <linux/libata.h>
#include <linux/libata.h>
@@ -621,18 +622,19 @@ static int piix_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
{
{
	static int printed_version;
	static int printed_version;
	struct ata_port_info *port_info[2];
	struct ata_port_info *port_info[2];
	unsigned int combined = 0, n_ports = 1;
	unsigned int combined = 0;
	unsigned int pata_chan = 0, sata_chan = 0;
	unsigned int pata_chan = 0, sata_chan = 0;


	if (!printed_version++)
	if (!printed_version++)
		printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n");
		dev_printk(KERN_DEBUG, &pdev->dev,
			   "version " DRV_VERSION "\n");


	/* no hotplugging support (FIXME) */
	/* no hotplugging support (FIXME) */
	if (!in_module_init)
	if (!in_module_init)
		return -ENODEV;
		return -ENODEV;


	port_info[0] = &piix_port_info[ent->driver_data];
	port_info[0] = &piix_port_info[ent->driver_data];
	port_info[1] = NULL;
	port_info[1] = &piix_port_info[ent->driver_data];


	if (port_info[0]->host_flags & PIIX_FLAG_AHCI) {
	if (port_info[0]->host_flags & PIIX_FLAG_AHCI) {
		u8 tmp;
		u8 tmp;
@@ -670,12 +672,13 @@ static int piix_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
		port_info[sata_chan] = &piix_port_info[ent->driver_data];
		port_info[sata_chan] = &piix_port_info[ent->driver_data];
		port_info[sata_chan]->host_flags |= ATA_FLAG_SLAVE_POSS;
		port_info[sata_chan]->host_flags |= ATA_FLAG_SLAVE_POSS;
		port_info[pata_chan] = &piix_port_info[ich5_pata];
		port_info[pata_chan] = &piix_port_info[ich5_pata];
		n_ports++;


		printk(KERN_WARNING DRV_NAME ": combined mode detected\n");
		dev_printk(KERN_WARNING, &pdev->dev,
			   "combined mode detected (p=%u, s=%u)\n",
			   pata_chan, sata_chan);
	}
	}


	return ata_pci_init_one(pdev, port_info, n_ports);
	return ata_pci_init_one(pdev, port_info, 2);
}
}


static int __init piix_init(void)
static int __init piix_init(void)
+4 −4
Original line number Original line Diff line number Diff line
@@ -4621,11 +4621,11 @@ ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port, int
	return probe_ent;
	return probe_ent;
}
}


static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev, struct ata_port_info **port, int port_num)
static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev, struct ata_port_info *port, int port_num)
{
{
	struct ata_probe_ent *probe_ent;
	struct ata_probe_ent *probe_ent;


	probe_ent = ata_probe_ent_alloc(pci_dev_to_dev(pdev), port[0]);
	probe_ent = ata_probe_ent_alloc(pci_dev_to_dev(pdev), port);
	if (!probe_ent)
	if (!probe_ent)
		return NULL;
		return NULL;


@@ -4772,9 +4772,9 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,


	if (legacy_mode) {
	if (legacy_mode) {
		if (legacy_mode & (1 << 0))
		if (legacy_mode & (1 << 0))
			probe_ent = ata_pci_init_legacy_port(pdev, port, 0);
			probe_ent = ata_pci_init_legacy_port(pdev, port[0], 0);
		if (legacy_mode & (1 << 1))
		if (legacy_mode & (1 << 1))
			probe_ent2 = ata_pci_init_legacy_port(pdev, port, 1);
			probe_ent2 = ata_pci_init_legacy_port(pdev, port[1], 1);
	} else {
	} else {
		if (n_ports == 2)
		if (n_ports == 2)
			probe_ent = ata_pci_init_native_mode(pdev, port, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
			probe_ent = ata_pci_init_native_mode(pdev, port, ATA_PORT_PRIMARY | ATA_PORT_SECONDARY);
+6 −7
Original line number Original line Diff line number Diff line
@@ -40,6 +40,7 @@
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/sched.h>
#include <linux/device.h>
#include "scsi.h"
#include "scsi.h"
#include <scsi/scsi_host.h>
#include <scsi/scsi_host.h>
#include <asm/io.h>
#include <asm/io.h>
@@ -626,16 +627,14 @@ static int adma_set_dma_masks(struct pci_dev *pdev, void __iomem *mmio_base)


	rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
	rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
	if (rc) {
	if (rc) {
		printk(KERN_ERR DRV_NAME
		dev_printk(KERN_ERR, &pdev->dev,
			"(%s): 32-bit DMA enable failed\n",
			"32-bit DMA enable failed\n");
			pci_name(pdev));
		return rc;
		return rc;
	}
	}
	rc = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
	rc = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
	if (rc) {
	if (rc) {
		printk(KERN_ERR DRV_NAME
		dev_printk(KERN_ERR, &pdev->dev,
			"(%s): 32-bit consistent DMA enable failed\n",
			"32-bit consistent DMA enable failed\n");
			pci_name(pdev));
		return rc;
		return rc;
	}
	}
	return 0;
	return 0;
@@ -651,7 +650,7 @@ static int adma_ata_init_one(struct pci_dev *pdev,
	int rc, port_no;
	int rc, port_no;


	if (!printed_version++)
	if (!printed_version++)
		printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n");
		dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");


	rc = pci_enable_device(pdev);
	rc = pci_enable_device(pdev);
	if (rc)
	if (rc)
Loading