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

Commit ca9a702e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers
  pata_amd: do not filter out valid modes in nv_mode_filter
  sata_promise: update reset code
  sata_promise: disable hotplug on 1st gen chips
  libata: fix spurious WARN_ON_ONCE() on port freeze
  ahci: restore pci_intx() handling
parents bbe5a96f d15d6e6c
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -255,6 +255,15 @@ config PATA_ARTOP

	  If unsure, say N.

config PATA_ATP867X
	tristate "ARTOP/Acard ATP867X PATA support"
	depends on PCI
	help
	  This option enables support for ARTOP/Acard ATP867X PATA
	  controllers.

	  If unsure, say N.

config PATA_AT32
	tristate "Atmel AVR32 PATA support (Experimental)"
	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ obj-$(CONFIG_SATA_FSL) += sata_fsl.o
obj-$(CONFIG_PATA_ALI)		+= pata_ali.o
obj-$(CONFIG_PATA_AMD)		+= pata_amd.o
obj-$(CONFIG_PATA_ARTOP)	+= pata_artop.o
obj-$(CONFIG_PATA_ATP867X)	+= pata_atp867x.o
obj-$(CONFIG_PATA_AT32)		+= pata_at32.o
obj-$(CONFIG_PATA_ATIIXP)	+= pata_atiixp.o
obj-$(CONFIG_PATA_CMD640_PCI)	+= pata_cmd640.o
+2 −2
Original line number Diff line number Diff line
@@ -2930,8 +2930,8 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
	if (ahci_sb600_32bit_only(pdev))
		hpriv->flags |= AHCI_HFLAG_32BIT_ONLY;

	if (!(hpriv->flags & AHCI_HFLAG_NO_MSI))
		pci_enable_msi(pdev);
	if ((hpriv->flags & AHCI_HFLAG_NO_MSI) || pci_enable_msi(pdev))
		pci_intx(pdev, 1);

	/* save initial config */
	ahci_save_initial_config(pdev, hpriv);
+2 −2
Original line number Diff line number Diff line
@@ -5024,8 +5024,6 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
		struct ata_device *dev = qc->dev;
		struct ata_eh_info *ehi = &dev->link->eh_info;

		WARN_ON_ONCE(ap->pflags & ATA_PFLAG_FROZEN);

		if (unlikely(qc->err_mask))
			qc->flags |= ATA_QCFLAG_FAILED;

@@ -5038,6 +5036,8 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
			}
		}

		WARN_ON_ONCE(ap->pflags & ATA_PFLAG_FROZEN);

		/* read result TF if requested */
		if (qc->flags & ATA_QCFLAG_RESULT_TF)
			fill_result_tf(qc);
+3 −0
Original line number Diff line number Diff line
@@ -307,6 +307,9 @@ static unsigned long nv_mode_filter(struct ata_device *dev,
		limit |= ATA_MASK_PIO;
	if (!(limit & (ATA_MASK_MWDMA | ATA_MASK_UDMA)))
		limit |= ATA_MASK_MWDMA | ATA_MASK_UDMA;
	/* PIO4, MWDMA2, UDMA2 should always be supported regardless of
	   cable detection result */
	limit |= ata_pack_xfermask(ATA_PIO4, ATA_MWDMA2, ATA_UDMA2);

	ata_port_printk(ap, KERN_DEBUG, "nv_mode_filter: 0x%lx&0x%lx->0x%lx, "
			"BIOS=0x%lx (0x%x) ACPI=0x%lx%s\n",
Loading