All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <petkovbb@googlemail.com>
To: bzolnier@gmail.com
Cc: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
	Borislav Petkov <petkovbb@gmail.com>
Subject: [PATCH 6/6] ide-atapi: teach ide atapi about drive->waiting_for_dma
Date: Thu,  4 Dec 2008 07:43:29 +0100	[thread overview]
Message-ID: <1228373010-20249-7-git-send-email-petkovbb@gmail.com> (raw)
In-Reply-To: <1228373010-20249-1-git-send-email-petkovbb@gmail.com>

In addition, we wait for DRQ to be asserted by repeatedly polling
device status no matter what DRQ type each device implements.

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
---
 drivers/ide/ide-atapi.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c
index bb867a0..a43bed3 100644
--- a/drivers/ide/ide-atapi.c
+++ b/drivers/ide/ide-atapi.c
@@ -543,6 +543,11 @@ static ide_startstop_t ide_transfer_pc(ide_drive_t *drive)
 		return startstop;
 	}
 
+	if (drive->atapi_flags & IDE_AFLAG_DRQ_INTERRUPT) {
+		if (drive->dma)
+			drive->waiting_for_dma = 1;
+	}
+
 	ireason = ide_read_ireason(drive);
 	if (drive->media == ide_tape &&
 	    (drive->dev_flags & IDE_DFLAG_SCSI) == 0)
@@ -639,6 +644,8 @@ ide_startstop_t ide_issue_pc(ide_drive_t *drive, unsigned int timeout)
 
 	/* Issue the packet command */
 	if (drive->atapi_flags & IDE_AFLAG_DRQ_INTERRUPT) {
+		if (drive->dma)
+			drive->waiting_for_dma = 0;
 		ide_execute_command(drive, ATA_CMD_PACKET, ide_transfer_pc,
 				    timeout, expiry);
 		return ide_started;
-- 
1.6.0.4


WARNING: multiple messages have this Message-ID (diff)
From: Borislav Petkov <petkovbb@googlemail.com>
To: <bzolnier@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
	Borislav Petkov <petkovbb@gmail.com>
Subject: [PATCH 6/6] ide-atapi: teach ide atapi about drive->waiting_for_dma
Date: Thu,  4 Dec 2008 07:43:29 +0100	[thread overview]
Message-ID: <1228373010-20249-7-git-send-email-petkovbb@gmail.com> (raw)
In-Reply-To: <1228373010-20249-1-git-send-email-petkovbb@gmail.com>

In addition, we wait for DRQ to be asserted by repeatedly polling
device status no matter what DRQ type each device implements.

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
---
 drivers/ide/ide-atapi.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c
index bb867a0..a43bed3 100644
--- a/drivers/ide/ide-atapi.c
+++ b/drivers/ide/ide-atapi.c
@@ -543,6 +543,11 @@ static ide_startstop_t ide_transfer_pc(ide_drive_t *drive)
 		return startstop;
 	}
 
+	if (drive->atapi_flags & IDE_AFLAG_DRQ_INTERRUPT) {
+		if (drive->dma)
+			drive->waiting_for_dma = 1;
+	}
+
 	ireason = ide_read_ireason(drive);
 	if (drive->media == ide_tape &&
 	    (drive->dev_flags & IDE_DFLAG_SCSI) == 0)
@@ -639,6 +644,8 @@ ide_startstop_t ide_issue_pc(ide_drive_t *drive, unsigned int timeout)
 
 	/* Issue the packet command */
 	if (drive->atapi_flags & IDE_AFLAG_DRQ_INTERRUPT) {
+		if (drive->dma)
+			drive->waiting_for_dma = 0;
 		ide_execute_command(drive, ATA_CMD_PACKET, ide_transfer_pc,
 				    timeout, expiry);
 		return ide_started;
-- 
1.6.0.4


  parent reply	other threads:[~2008-12-04  6:43 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-04  6:43 [PATCH 00/06] ide-atapi: more leftovers Borislav Petkov
2008-12-04  6:43 ` Borislav Petkov
2008-12-04  6:43 ` [PATCH 1/6] ide-atapi: add a dev_is_idecd-inline Borislav Petkov
2008-12-04  6:43   ` Borislav Petkov
2008-12-04  6:43 ` [PATCH 2/6] ide-atapi: combine drive-specific assignments Borislav Petkov
2008-12-04  6:43   ` Borislav Petkov
2008-12-04  6:43 ` [PATCH 3/6] ide-atapi: accomodate transfer length calculation for ide-cd Borislav Petkov
2008-12-04  6:43   ` Borislav Petkov
2008-12-04  6:43 ` [PATCH 4/6] ide-atapi: setup dma " Borislav Petkov
2008-12-04  6:43   ` Borislav Petkov
2008-12-04  6:43 ` [PATCH 5/6] ide-cd: move cdrom_timer_expiry to ide-atapi.c Borislav Petkov
2008-12-04  6:43   ` Borislav Petkov
2008-12-06 14:51   ` Bartlomiej Zolnierkiewicz
2008-12-06 20:03     ` Borislav Petkov
2008-12-07 13:56       ` Bartlomiej Zolnierkiewicz
2008-12-04  6:43 ` Borislav Petkov [this message]
2008-12-04  6:43   ` [PATCH 6/6] ide-atapi: teach ide atapi about drive->waiting_for_dma Borislav Petkov
2008-12-06 14:51 ` [PATCH 00/06] ide-atapi: more leftovers 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=1228373010-20249-7-git-send-email-petkovbb@gmail.com \
    --to=petkovbb@googlemail.com \
    --cc=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=petkovbb@gmail.com \
    /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.