All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: linux-ide@vger.kernel.org
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH 14/15] ide: remove ->data_phase field from ide_hwif_t
Date: Sun, 01 Feb 2009 18:50:47 +0100	[thread overview]
Message-ID: <20090201175047.19144.40543.sendpatchset@localhost.localdomain> (raw)
In-Reply-To: <20090201174909.19144.67767.sendpatchset@localhost.localdomain>

From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Subject: [PATCH] ide: remove ->data_phase field from ide_hwif_t

* Always use hwif->task->data_phase and remove ->data_phase
  field from ide_hwif_t.

* Remove superfluous REQ_TYPE_ATA_TASKFILE check from
  ide_pio_datablock() while at it.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/ide-disk.c     |    3 ---
 drivers/ide/ide-io.c       |    5 +----
 drivers/ide/ide-park.c     |    2 +-
 drivers/ide/ide-taskfile.c |   18 ++++++++----------
 include/linux/ide.h        |    3 ---
 5 files changed, 10 insertions(+), 21 deletions(-)

Index: b/drivers/ide/ide-disk.c
===================================================================
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -160,8 +160,6 @@ static ide_startstop_t __ide_do_rw_disk(
 		task.tf_flags |= IDE_TFLAG_WRITE;
 
 	ide_tf_set_cmd(drive, &task, dma);
-	if (!dma)
-		hwif->data_phase = task.data_phase;
 	task.rq = rq;
 
 	rc = do_rw_taskfile(drive, &task);
@@ -170,7 +168,6 @@ static ide_startstop_t __ide_do_rw_disk(
 		/* fallback to PIO */
 		task.tf_flags |= IDE_TFLAG_DMA_PIO_FALLBACK;
 		ide_tf_set_cmd(drive, &task, 0);
-		hwif->data_phase = task.data_phase;
 		ide_init_sg_cmd(drive, rq);
 		rc = do_rw_taskfile(drive, &task);
 	}
Index: b/drivers/ide/ide-io.c
===================================================================
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -306,13 +306,10 @@ EXPORT_SYMBOL_GPL(ide_init_sg_cmd);
 static ide_startstop_t execute_drive_cmd (ide_drive_t *drive,
 		struct request *rq)
 {
-	ide_hwif_t *hwif = drive->hwif;
 	ide_task_t *task = rq->special;
 
 	if (task) {
-		hwif->data_phase = task->data_phase;
-
-		switch (hwif->data_phase) {
+		switch (task->data_phase) {
 		case TASKFILE_MULTI_OUT:
 		case TASKFILE_OUT:
 		case TASKFILE_MULTI_IN:
Index: b/drivers/ide/ide-park.c
===================================================================
--- a/drivers/ide/ide-park.c
+++ b/drivers/ide/ide-park.c
@@ -81,7 +81,7 @@ ide_startstop_t ide_do_park_unpark(ide_d
 
 	task.tf_flags |= IDE_TFLAG_TF | IDE_TFLAG_DEVICE;
 	task.rq = rq;
-	drive->hwif->data_phase = task.data_phase = TASKFILE_NO_DATA;
+	task.data_phase = TASKFILE_NO_DATA;
 	return do_rw_taskfile(drive, &task);
 }
 
Index: b/drivers/ide/ide-taskfile.c
===================================================================
--- a/drivers/ide/ide-taskfile.c
+++ b/drivers/ide/ide-taskfile.c
@@ -261,21 +261,18 @@ static void ide_pio_multi(ide_drive_t *d
 static void ide_pio_datablock(ide_drive_t *drive, struct request *rq,
 				     unsigned int write)
 {
+	ide_task_t *task = &drive->hwif->task;
 	u8 saved_io_32bit = drive->io_32bit;
 
 	if (rq->bio)	/* fs request */
 		rq->errors = 0;
 
-	if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE) {
-		ide_task_t *task = rq->special;
-
-		if (task->tf_flags & IDE_TFLAG_IO_16BIT)
-			drive->io_32bit = 0;
-	}
+	if (task->tf_flags & IDE_TFLAG_IO_16BIT)
+		drive->io_32bit = 0;
 
 	touch_softlockup_watchdog();
 
-	switch (drive->hwif->data_phase) {
+	switch (task->data_phase) {
 	case TASKFILE_MULTI_IN:
 	case TASKFILE_MULTI_OUT:
 		ide_pio_multi(drive, rq, write);
@@ -293,9 +290,10 @@ static ide_startstop_t task_error(ide_dr
 {
 	if (rq->bio) {
 		ide_hwif_t *hwif = drive->hwif;
+		ide_task_t *task = &hwif->task;
 		int sectors = hwif->nsect - hwif->nleft;
 
-		switch (hwif->data_phase) {
+		switch (task->data_phase) {
 		case TASKFILE_IN:
 			if (hwif->nleft)
 				break;
@@ -427,14 +425,14 @@ static ide_startstop_t task_out_intr (id
 
 static ide_startstop_t pre_task_out_intr(ide_drive_t *drive, struct request *rq)
 {
-	ide_hwif_t *hwif = drive->hwif;
+	ide_task_t *task = &drive->hwif->task;
 	ide_startstop_t startstop;
 
 	if (ide_wait_stat(&startstop, drive, ATA_DRQ,
 			  drive->bad_wstat, WAIT_DRQ)) {
 		printk(KERN_ERR "%s: no DRQ after issuing %sWRITE%s\n",
 			drive->name,
-			hwif->data_phase == TASKFILE_MULTI_OUT ? "MULT" : "",
+			task->data_phase == TASKFILE_MULTI_OUT ? "MULT" : "",
 			(drive->dev_flags & IDE_DFLAG_LBA48) ? "_EXT" : "");
 		return startstop;
 	}
Index: b/include/linux/ide.h
===================================================================
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -767,9 +767,6 @@ typedef struct hwif_s {
 	int sg_nents;			/* Current number of entries in it */
 	int sg_dma_direction;		/* dma transfer direction */
 
-	/* data phase of the active command (currently only valid for PIO/DMA) */
-	int		data_phase;
-
 	struct ide_task_s task;		/* current command */
 
 	unsigned int nsect;

  parent reply	other threads:[~2009-02-01 17:49 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-01 17:49 [PATCH 00/15] weekly IDE updates Bartlomiej Zolnierkiewicz
2009-02-01 17:49 ` [PATCH 01/15] ide: include <asm/ide.h> only when needed Bartlomiej Zolnierkiewicz
2009-02-02  7:49   ` Geert Uytterhoeven
2009-02-02 18:27     ` Bartlomiej Zolnierkiewicz
2009-02-04 14:20       ` Atsushi Nemoto
2009-02-05 21:14         ` Bartlomiej Zolnierkiewicz
2009-02-05 23:58           ` Sergei Shtylyov
2009-02-06 16:21             ` Bartlomiej Zolnierkiewicz
2009-02-06 22:03               ` Sergei Shtylyov
2009-02-07 15:35                 ` Atsushi Nemoto
2009-02-07 23:37                   ` Sergei Shtylyov
2009-02-02 18:53   ` Jaswinder Singh Rajput
2009-02-01 17:49 ` [PATCH 02/15] scc_pata: remove DECLARE_SCC_DEV() macro Bartlomiej Zolnierkiewicz
2009-02-01 18:49   ` Sergei Shtylyov
2009-02-02 16:45   ` Daniel K.
2009-02-02 18:26     ` Bartlomiej Zolnierkiewicz
2009-02-01 17:49 ` [PATCH 03/15] ide: fix memleak on failure in probe_for_drive() Bartlomiej Zolnierkiewicz
2009-02-01 17:49 ` [PATCH 04/15] ide: fix error message in pre_task_out_intr() Bartlomiej Zolnierkiewicz
2009-02-01 17:49 ` [PATCH 05/15] ide: allow host drivers to specify IRQ flags Bartlomiej Zolnierkiewicz
2009-02-01 17:49 ` [PATCH 06/15] ide: remove now superfluous check from ide_host_register() Bartlomiej Zolnierkiewicz
2009-02-01 17:49 ` [PATCH 07/15] ide: add IDE_HFLAG_DTC2278 host flag Bartlomiej Zolnierkiewicz
2009-02-01 17:50 ` [PATCH 08/15] ide: add IDE_HFLAG_4DRIVES " Bartlomiej Zolnierkiewicz
2009-02-01 17:50 ` [PATCH 09/15] ide: add "flagged" taskfile flags to struct ide_taskfile Bartlomiej Zolnierkiewicz
2009-02-06  6:04   ` Stephen Rothwell
2009-02-08 11:38     ` Bartlomiej Zolnierkiewicz
2009-03-04 18:32       ` Sergei Shtylyov
2009-02-01 17:50 ` [PATCH 10/15] ide: complete power step in ide_complete_pm_request() Bartlomiej Zolnierkiewicz
2009-02-01 17:50 ` [PATCH 11/15] ide: factor out completion of taskfile from ide_end_drive_cmd() Bartlomiej Zolnierkiewicz
2009-02-01 17:50 ` [PATCH 12/15] ide: move request type specific code from ide_end_drive_cmd() to callers Bartlomiej Zolnierkiewicz
2009-02-01 17:50 ` [PATCH 13/15] ide: no need to read Status and Error registers for "empty" taskfile requests Bartlomiej Zolnierkiewicz
2009-02-01 17:50 ` Bartlomiej Zolnierkiewicz [this message]
2009-02-01 17:50 ` [PATCH 15/15] ide: move smart_enable() call out from get_smart_data() Bartlomiej Zolnierkiewicz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090201175047.19144.40543.sendpatchset@localhost.localdomain \
    --to=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.