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

Commit f31c3386 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (67 commits)
  ide: remove redundant DMA blacklist check from __ide_dma_on()
  ide: cleanup ide_set_dma()
  ide: remove redundant ->ide_dma_on call from set_using_dma()
  sc1200: move DMA timings to timing tables
  ide: add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag
  sis5513: factor out UDMA programming code
  pdc202xx_new: move PIO programming code to pdcnew_set_pio_mode()
  ide: make 'extra' field in struct ide_port_info u8
  ide: kill duplicate code in ide_dump_{ata,atapi}_status()
  ide-disk: use ide_get_lba_addr()
  ide: printk fix
  ide: add ide_tf_read() helper
  ide: fix registers loading order in ide_dump_ata_status()
  ide-disk: use do_rw_taskfile() (take 2)
  ide-disk: add ide_tf_set_cmd() helper
  ide-disk: extend timeout for PIO-in commands
  ide: remove 'handler' field from ide_task_t (take 2)
  ide: use ->data_phase to set ->handler in do_rw_taskfile()
  ide: convert do_rw_taskfile() to use ->data_phase
  ide: merge flagged_taskfile() into do_rw_taskfile()
  ...
parents 0008bf54 61a368c2
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -374,17 +374,6 @@ comment "PCI IDE chipsets support"
config BLK_DEV_IDEPCI
	bool

config IDEPCI_SHARE_IRQ
	bool "Sharing PCI IDE interrupts support"
	depends on BLK_DEV_IDEPCI
	help
	  Some ATA/IDE chipsets have hardware support which allows for
	  sharing a single IRQ with other cards. To enable support for
	  this in the ATA/IDE driver, say Y here.

	  It is safe to say Y to this question, in most cases.
	  If unsure, say N.

config IDEPCI_PCIBUS_ORDER
	def_bool BLK_DEV_IDE=y && BLK_DEV_IDEPCI

@@ -707,7 +696,6 @@ config BLK_DEV_SVWKS
config BLK_DEV_SGIIOC4
	tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support"
	depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4
	select IDEPCI_SHARE_IRQ
	select BLK_DEV_IDEDMA_PCI
	help
	  This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
+0 −2
Original line number Diff line number Diff line
@@ -272,8 +272,6 @@ static void icside_set_dma_mode(ide_drive_t *drive, const u8 xfer_mode)
	case XFER_SW_DMA_0:
		cycle_time = 480;
		break;
	default:
		return;
	}

	/*
+0 −2
Original line number Diff line number Diff line
@@ -747,8 +747,6 @@ static void cris_set_dma_mode(ide_drive_t *drive, const u8 speed)
			strobe = ATA_DMA2_STROBE;
			hold = ATA_DMA2_HOLD;
			break;
		default:
			return;
	}

	if (speed >= XFER_UDMA_0)
+4 −12
Original line number Diff line number Diff line
@@ -383,27 +383,19 @@ static int taskfile_load_raw(ide_drive_t *drive,
	       gtf->tfa[3], gtf->tfa[4], gtf->tfa[5], gtf->tfa[6]);

	memset(&args, 0, sizeof(ide_task_t));
	args.command_type = IDE_DRIVE_TASK_NO_DATA;
	args.data_phase   = TASKFILE_NO_DATA;
	args.handler      = &task_no_data_intr;

	/* convert gtf to IDE Taskfile */
	args.tfRegister[1] = gtf->tfa[0];	/* 0x1f1 */
	args.tfRegister[2] = gtf->tfa[1];	/* 0x1f2 */
	args.tfRegister[3] = gtf->tfa[2];	/* 0x1f3 */
	args.tfRegister[4] = gtf->tfa[3];	/* 0x1f4 */
	args.tfRegister[5] = gtf->tfa[4];	/* 0x1f5 */
	args.tfRegister[6] = gtf->tfa[5];	/* 0x1f6 */
	args.tfRegister[7] = gtf->tfa[6];	/* 0x1f7 */
	memcpy(&args.tf_array[7], &gtf->tfa, 7);
	args.tf_flags = IDE_TFLAG_OUT_TF | IDE_TFLAG_OUT_DEVICE;

	if (ide_noacpitfs) {
		DEBPRINT("_GTF execution disabled\n");
		return err;
	}

	err = ide_raw_taskfile(drive, &args, NULL);
	err = ide_no_data_taskfile(drive, &args);
	if (err)
		printk(KERN_ERR "%s: ide_raw_taskfile failed: %u\n",
		printk(KERN_ERR "%s: ide_no_data_taskfile failed: %u\n",
		       __FUNCTION__, err);

	return err;
+3 −9
Original line number Diff line number Diff line
@@ -917,19 +917,13 @@ static ide_startstop_t cdrom_start_packet_command(ide_drive_t *drive,
	if (ide_wait_stat(&startstop, drive, 0, BUSY_STAT, WAIT_READY))
		return startstop;

	/* FIXME: for Virtual DMA we must check harder */
	if (info->dma)
		info->dma = !hwif->dma_setup(drive);

	/* Set up the controller registers. */
	/* FIXME: for Virtual DMA we must check harder */
	HWIF(drive)->OUTB(info->dma, IDE_FEATURE_REG);
	HWIF(drive)->OUTB(0, IDE_IREASON_REG);
	HWIF(drive)->OUTB(0, IDE_SECTOR_REG);

	HWIF(drive)->OUTB(xferlen & 0xff, IDE_BCOUNTL_REG);
	HWIF(drive)->OUTB(xferlen >> 8  , IDE_BCOUNTH_REG);
	if (IDE_CONTROL_REG)
		HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
	ide_pktcmd_tf_load(drive, IDE_TFLAG_OUT_NSECT | IDE_TFLAG_OUT_LBAL |
			   IDE_TFLAG_NO_SELECT_MASK, xferlen, info->dma);
 
	if (CDROM_CONFIG_FLAGS (drive)->drq_interrupt) {
		/* waiting for CDB interrupt, not DMA yet. */
Loading