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

Commit 04fc5fd3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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:
  libata: bump versions
  libata: Trim trailing whitespace
  libata: Kiss post_set_mode goodbye
  ata_piix: clean up
  pata_hpt366: Enable bits are unreliable so don't use them
  libata: Add Seagate STT20000A to DMA blacklist.
  ahci: disable 64bit dma on sb600
parents 8aee74c8 8bc3fc47
Loading
Loading
Loading
Loading
+11 −2
Original line number Original line Diff line number Diff line
@@ -46,7 +46,7 @@
#include <linux/libata.h>
#include <linux/libata.h>


#define DRV_NAME	"ahci"
#define DRV_NAME	"ahci"
#define DRV_VERSION	"2.1"
#define DRV_VERSION	"2.2"




enum {
enum {
@@ -170,6 +170,7 @@ enum {
	AHCI_FLAG_IGN_IRQ_IF_ERR	= (1 << 25), /* ignore IRQ_IF_ERR */
	AHCI_FLAG_IGN_IRQ_IF_ERR	= (1 << 25), /* ignore IRQ_IF_ERR */
	AHCI_FLAG_HONOR_PI		= (1 << 26), /* honor PORTS_IMPL */
	AHCI_FLAG_HONOR_PI		= (1 << 26), /* honor PORTS_IMPL */
	AHCI_FLAG_IGN_SERR_INTERNAL	= (1 << 27), /* ignore SERR_INTERNAL */
	AHCI_FLAG_IGN_SERR_INTERNAL	= (1 << 27), /* ignore SERR_INTERNAL */
	AHCI_FLAG_32BIT_ONLY		= (1 << 28), /* force 32bit */


	AHCI_FLAG_COMMON		= ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
	AHCI_FLAG_COMMON		= ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
					  ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA |
					  ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA |
@@ -354,7 +355,8 @@ static const struct ata_port_info ahci_port_info[] = {
	/* board_ahci_sb600 */
	/* board_ahci_sb600 */
	{
	{
		.flags		= AHCI_FLAG_COMMON |
		.flags		= AHCI_FLAG_COMMON |
				  AHCI_FLAG_IGN_SERR_INTERNAL,
				  AHCI_FLAG_IGN_SERR_INTERNAL |
				  AHCI_FLAG_32BIT_ONLY,
		.pio_mask	= 0x1f, /* pio0-4 */
		.pio_mask	= 0x1f, /* pio0-4 */
		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
		.port_ops	= &ahci_ops,
		.port_ops	= &ahci_ops,
@@ -492,6 +494,13 @@ static void ahci_save_initial_config(struct pci_dev *pdev,
	hpriv->saved_cap = cap = readl(mmio + HOST_CAP);
	hpriv->saved_cap = cap = readl(mmio + HOST_CAP);
	hpriv->saved_port_map = port_map = readl(mmio + HOST_PORTS_IMPL);
	hpriv->saved_port_map = port_map = readl(mmio + HOST_PORTS_IMPL);


	/* some chips lie about 64bit support */
	if ((cap & HOST_CAP_64) && (pi->flags & AHCI_FLAG_32BIT_ONLY)) {
		dev_printk(KERN_INFO, &pdev->dev,
			   "controller can't do 64bit DMA, forcing 32bit\n");
		cap &= ~HOST_CAP_64;
	}

	/* 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(hpriv->cap)) - 1;
+1 −1
Original line number Original line Diff line number Diff line
@@ -26,7 +26,7 @@
#include <linux/libata.h>
#include <linux/libata.h>


#define DRV_NAME "ata_generic"
#define DRV_NAME "ata_generic"
#define DRV_VERSION "0.2.11"
#define DRV_VERSION "0.2.12"


/*
/*
 *	A generic parallel ATA driver using libata
 *	A generic parallel ATA driver using libata
+1 −8
Original line number Original line Diff line number Diff line
@@ -155,7 +155,6 @@ struct piix_host_priv {
static int piix_init_one (struct pci_dev *pdev,
static int piix_init_one (struct pci_dev *pdev,
				    const struct pci_device_id *ent);
				    const struct pci_device_id *ent);
static void piix_pata_error_handler(struct ata_port *ap);
static void piix_pata_error_handler(struct ata_port *ap);
static void piix_sata_error_handler(struct ata_port *ap);
static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev);
static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev);
static void piix_set_dmamode (struct ata_port *ap, struct ata_device *adev);
static void piix_set_dmamode (struct ata_port *ap, struct ata_device *adev);
static void ich_set_dmamode (struct ata_port *ap, struct ata_device *adev);
static void ich_set_dmamode (struct ata_port *ap, struct ata_device *adev);
@@ -364,7 +363,7 @@ static const struct ata_port_operations piix_sata_ops = {


	.freeze			= ata_bmdma_freeze,
	.freeze			= ata_bmdma_freeze,
	.thaw			= ata_bmdma_thaw,
	.thaw			= ata_bmdma_thaw,
	.error_handler		= piix_sata_error_handler,
	.error_handler		= ata_bmdma_error_handler,
	.post_internal_cmd	= ata_bmdma_post_internal_cmd,
	.post_internal_cmd	= ata_bmdma_post_internal_cmd,


	.irq_handler		= ata_interrupt,
	.irq_handler		= ata_interrupt,
@@ -641,12 +640,6 @@ static void piix_pata_error_handler(struct ata_port *ap)
			   ata_std_postreset);
			   ata_std_postreset);
}
}


static void piix_sata_error_handler(struct ata_port *ap)
{
	ata_bmdma_drive_eh(ap, ata_std_prereset, ata_std_softreset, NULL,
			   ata_std_postreset);
}

/**
/**
 *	piix_set_piomode - Initialize host controller PATA PIO timings
 *	piix_set_piomode - Initialize host controller PATA PIO timings
 *	@ap: Port whose timings we are configuring
 *	@ap: Port whose timings we are configuring
+6 −8
Original line number Original line Diff line number Diff line
@@ -59,7 +59,7 @@


#include "libata.h"
#include "libata.h"


#define DRV_VERSION	"2.20"	/* must be exactly four chars */
#define DRV_VERSION	"2.21"	/* must be exactly four chars */




/* debounce timing parameters in msecs { interval, duration, timeout } */
/* debounce timing parameters in msecs { interval, duration, timeout } */
@@ -2893,9 +2893,6 @@ int ata_do_set_mode(struct ata_port *ap, struct ata_device **r_failed_dev)
	if (used_dma && (ap->host->flags & ATA_HOST_SIMPLEX))
	if (used_dma && (ap->host->flags & ATA_HOST_SIMPLEX))
		ap->host->simplex_claimed = ap;
		ap->host->simplex_claimed = ap;


	/* step5: chip specific finalisation */
	if (ap->ops->post_set_mode)
		ap->ops->post_set_mode(ap);
 out:
 out:
	if (rc)
	if (rc)
		*r_failed_dev = dev;
		*r_failed_dev = dev;
@@ -3771,6 +3768,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
	{ "ATAPI CD-ROM DRIVE 40X MAXIMUM",NULL,ATA_HORKAGE_NODMA },
	{ "ATAPI CD-ROM DRIVE 40X MAXIMUM",NULL,ATA_HORKAGE_NODMA },
	{ "_NEC DV5800A", 	NULL,		ATA_HORKAGE_NODMA },
	{ "_NEC DV5800A", 	NULL,		ATA_HORKAGE_NODMA },
	{ "SAMSUNG CD-ROM SN-124","N001",	ATA_HORKAGE_NODMA },
	{ "SAMSUNG CD-ROM SN-124","N001",	ATA_HORKAGE_NODMA },
	{ "Seagate STT20000A", NULL,		ATA_HORKAGE_NODMA },


	/* Weird ATAPI devices */
	/* Weird ATAPI devices */
	{ "TORiSAN DVD-ROM DRD-N216", NULL,	ATA_HORKAGE_MAX_SEC_128 |
	{ "TORiSAN DVD-ROM DRD-N216", NULL,	ATA_HORKAGE_MAX_SEC_128 |
+2 −2
Original line number Original line Diff line number Diff line
@@ -28,7 +28,7 @@
#include <linux/ata.h>
#include <linux/ata.h>


#define DRV_NAME	"pata_artop"
#define DRV_NAME	"pata_artop"
#define DRV_VERSION	"0.4.2"
#define DRV_VERSION	"0.4.3"


/*
/*
 *	The ARTOP has 33 Mhz and "over clocked" timing tables. Until we
 *	The ARTOP has 33 Mhz and "over clocked" timing tables. Until we
Loading