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

Commit 38f061c5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  ide-disk: workaround for buggy HPA support on ST340823A (take 3)
  hpt34x: fix CONFIG_HPT34X_AUTODMA=n handling
  triflex: add missing ->dma_base check
  pdc202xx_old: add missing ->dma_base check
  pdc202xx_new: add missing ->dma_base check
  cs5530: add missing ->dma_base check
  ide: ide_config_drive_speed() bugfixes
  ide: add cable detection for early UDMA66 devices (take 3)
  ide-pmac: fix drive->init_speed reporting
  ide: config_drive_for_dma() fixes
  ide-cris: fix ->set_pio_mode method to set transfer mode on the device
  ide: fix hidden dependencies on CONFIG_IDE_GENERIC
  ide: make CONFIG_IDE_GENERIC default to N
parents 09d4b9aa b0244a00
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -548,6 +548,7 @@ config ETRAX_IDE
	select BLK_DEV_IDEDISK
	select BLK_DEV_IDEDISK
	select BLK_DEV_IDECD
	select BLK_DEV_IDECD
	select BLK_DEV_IDEDMA
	select BLK_DEV_IDEDMA
	select IDE_GENERIC
	help
	help
	  Enable this to get support for ATA/IDE.
	  Enable this to get support for ATA/IDE.
	  You can't use parallel ports or SCSI ports
	  You can't use parallel ports or SCSI ports
+1 −0
Original line number Original line Diff line number Diff line
@@ -592,6 +592,7 @@ config ETRAX_IDE
	select BLK_DEV_IDEDISK
	select BLK_DEV_IDEDISK
	select BLK_DEV_IDECD
	select BLK_DEV_IDECD
	select BLK_DEV_IDEDMA
	select BLK_DEV_IDEDMA
	select IDE_GENERIC
	help
	help
	  Enables the ETRAX IDE driver.
	  Enables the ETRAX IDE driver.


+10 −2
Original line number Original line Diff line number Diff line
@@ -304,9 +304,9 @@ comment "IDE chipset support/bugfixes"


config IDE_GENERIC
config IDE_GENERIC
	tristate "generic/default IDE chipset support"
	tristate "generic/default IDE chipset support"
	default y
	default H8300
	help
	help
	  If unsure, say Y.
	  If unsure, say N.


config BLK_DEV_CMD640
config BLK_DEV_CMD640
	bool "CMD640 chipset bugfix/support"
	bool "CMD640 chipset bugfix/support"
@@ -345,6 +345,7 @@ config BLK_DEV_CMD640_ENHANCED
config BLK_DEV_IDEPNP
config BLK_DEV_IDEPNP
	bool "PNP EIDE support"
	bool "PNP EIDE support"
	depends on PNP
	depends on PNP
	select IDE_GENERIC
	help
	help
	  If you have a PnP (Plug and Play) compatible EIDE card and
	  If you have a PnP (Plug and Play) compatible EIDE card and
	  would like the kernel to automatically detect and activate
	  would like the kernel to automatically detect and activate
@@ -834,6 +835,7 @@ config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ


config IDE_ARM
config IDE_ARM
	def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
	def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
	select IDE_GENERIC


config BLK_DEV_IDE_ICSIDE
config BLK_DEV_IDE_ICSIDE
	tristate "ICS IDE interface support"
	tristate "ICS IDE interface support"
@@ -867,6 +869,7 @@ config BLK_DEV_IDE_BAST
config BLK_DEV_GAYLE
config BLK_DEV_GAYLE
	bool "Amiga Gayle IDE interface support"
	bool "Amiga Gayle IDE interface support"
	depends on AMIGA
	depends on AMIGA
	select IDE_GENERIC
	help
	help
	  This is the IDE driver for the Amiga Gayle IDE interface. It supports
	  This is the IDE driver for the Amiga Gayle IDE interface. It supports
	  both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
	  both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
@@ -898,6 +901,7 @@ config BLK_DEV_IDEDOUBLER
config BLK_DEV_BUDDHA
config BLK_DEV_BUDDHA
	bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
	bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
	depends on ZORRO && EXPERIMENTAL
	depends on ZORRO && EXPERIMENTAL
	select IDE_GENERIC
	help
	help
	  This is the IDE driver for the IDE interfaces on the Buddha, 
	  This is the IDE driver for the IDE interfaces on the Buddha, 
	  Catweasel and X-Surf expansion boards.  It supports up to two interfaces 
	  Catweasel and X-Surf expansion boards.  It supports up to two interfaces 
@@ -910,6 +914,7 @@ config BLK_DEV_BUDDHA
config BLK_DEV_FALCON_IDE
config BLK_DEV_FALCON_IDE
	bool "Falcon IDE interface support"
	bool "Falcon IDE interface support"
	depends on ATARI
	depends on ATARI
	select IDE_GENERIC
	help
	help
	  This is the IDE driver for the builtin IDE interface on the Atari
	  This is the IDE driver for the builtin IDE interface on the Atari
	  Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
	  Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
@@ -919,6 +924,7 @@ config BLK_DEV_FALCON_IDE
config BLK_DEV_MAC_IDE
config BLK_DEV_MAC_IDE
	bool "Macintosh Quadra/Powerbook IDE interface support"
	bool "Macintosh Quadra/Powerbook IDE interface support"
	depends on MAC
	depends on MAC
	select IDE_GENERIC
	help
	help
	  This is the IDE driver for the builtin IDE interface on some m68k
	  This is the IDE driver for the builtin IDE interface on some m68k
	  Macintosh models. It supports both the `Quadra style' (used in
	  Macintosh models. It supports both the `Quadra style' (used in
@@ -932,6 +938,7 @@ config BLK_DEV_MAC_IDE
config BLK_DEV_Q40IDE
config BLK_DEV_Q40IDE
	bool "Q40/Q60 IDE interface support"
	bool "Q40/Q60 IDE interface support"
	depends on Q40
	depends on Q40
	select IDE_GENERIC
	help
	help
	  Enable the on-board IDE controller in the Q40/Q60.  This should
	  Enable the on-board IDE controller in the Q40/Q60.  This should
	  normally be on; disable it only if you are running a custom hard
	  normally be on; disable it only if you are running a custom hard
@@ -940,6 +947,7 @@ config BLK_DEV_Q40IDE
config BLK_DEV_MPC8xx_IDE
config BLK_DEV_MPC8xx_IDE
	bool "MPC8xx IDE support"
	bool "MPC8xx IDE support"
	depends on 8xx && IDE=y && BLK_DEV_IDE=y
	depends on 8xx && IDE=y && BLK_DEV_IDE=y
	select IDE_GENERIC
	help
	help
	  This option provides support for IDE on Motorola MPC8xx Systems.
	  This option provides support for IDE on Motorola MPC8xx Systems.
	  Please see 'Type of MPC8xx IDE interface' for details.
	  Please see 'Type of MPC8xx IDE interface' for details.
+2 −0
Original line number Original line Diff line number Diff line
@@ -718,6 +718,8 @@ static void tune_cris_ide(ide_drive_t *drive, u8 pio)
	}
	}


	cris_ide_set_speed(TYPE_PIO, setup, strobe, hold);
	cris_ide_set_speed(TYPE_PIO, setup, strobe, hold);

	(void)ide_config_drive_speed(drive, XFER_PIO_0 + pio);
}
}


static int speed_cris_ide(ide_drive_t *drive, u8 speed)
static int speed_cris_ide(ide_drive_t *drive, u8 speed)
+18 −0
Original line number Original line Diff line number Diff line
@@ -481,6 +481,15 @@ static inline int idedisk_supports_lba48(const struct hd_driveid *id)
	       && id->lba_capacity_2;
	       && id->lba_capacity_2;
}
}


/*
 * Some disks report total number of sectors instead of
 * maximum sector address.  We list them here.
 */
static const struct drive_list_entry hpa_list[] = {
	{ "ST340823A",	NULL },
	{ NULL,		NULL }
};

static void idedisk_check_hpa(ide_drive_t *drive)
static void idedisk_check_hpa(ide_drive_t *drive)
{
{
	unsigned long long capacity, set_max;
	unsigned long long capacity, set_max;
@@ -492,6 +501,15 @@ static void idedisk_check_hpa(ide_drive_t *drive)
	else
	else
		set_max = idedisk_read_native_max_address(drive);
		set_max = idedisk_read_native_max_address(drive);


	if (ide_in_drive_list(drive->id, hpa_list)) {
		/*
		 * Since we are inclusive wrt to firmware revisions do this
		 * extra check and apply the workaround only when needed.
		 */
		if (set_max == capacity + 1)
			set_max--;
	}

	if (set_max <= capacity)
	if (set_max <= capacity)
		return;
		return;


Loading