All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: linux-ide@vger.kernel.org
Cc: Borislav Petkov <petkovbb@gmail.com>,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH 16/20] ide-cd: fix non-SECTOR_SIZE-multiples PIO transfers for fs requests
Date: Mon, 16 Feb 2009 01:14:55 +0100	[thread overview]
Message-ID: <20090216001455.27491.90708.sendpatchset@localhost.localdomain> (raw)
In-Reply-To: <20090216001309.27491.59759.sendpatchset@localhost.localdomain>

From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Subject: [PATCH] ide-cd: fix non-SECTOR_SIZE-multiples PIO transfers for fs requests

We now support arbitrary number of bytes per-IRQ also for fs requests
so remove ide_cd_check_transfer_size() and IDE_AFLAG_LIMIT_NFRAMES.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
 drivers/ide/ide-cd.c |   36 +-----------------------------------
 include/linux/ide.h  |    5 -----
 2 files changed, 1 insertion(+), 40 deletions(-)

Index: b/drivers/ide/ide-cd.c
===================================================================
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -501,31 +501,6 @@ static int ide_cd_check_ireason(ide_driv
 	return -1;
 }
 
-/*
- * Assume that the drive will always provide data in multiples of at least
- * SECTOR_SIZE, as it gets hairy to keep track of the transfers otherwise.
- */
-static int ide_cd_check_transfer_size(ide_drive_t *drive, int len)
-{
-	ide_debug_log(IDE_DBG_FUNC, "len: %d", len);
-
-	if ((len % SECTOR_SIZE) == 0)
-		return 0;
-
-	printk(KERN_ERR PFX "%s: %s: Bad transfer size %d\n", drive->name,
-			__func__, len);
-
-	if (drive->atapi_flags & IDE_AFLAG_LIMIT_NFRAMES)
-		printk(KERN_ERR PFX "This drive is not supported by this "
-				"version of the driver\n");
-	else {
-		printk(KERN_ERR PFX "Trying to limit transfer sizes\n");
-		drive->atapi_flags |= IDE_AFLAG_LIMIT_NFRAMES;
-	}
-
-	return 1;
-}
-
 static ide_startstop_t ide_cd_prepare_rw_request(ide_drive_t *drive,
 						 struct request *rq)
 {
@@ -744,13 +719,7 @@ static ide_startstop_t cdrom_newpc_intr(
 	if (rc)
 		goto out_end;
 
-	if (blk_fs_request(rq)) {
-		if (write == 0) {
-			if (ide_cd_check_transfer_size(drive, len))
-				goto out_end;
-		}
-		cmd->last_xfer_len = 0;
-	}
+	cmd->last_xfer_len = 0;
 
 	if (ireason == 0) {
 		write = 1;
@@ -1611,9 +1580,6 @@ static const struct ide_proc_devset *ide
 #endif
 
 static const struct cd_list_entry ide_cd_quirks_list[] = {
-	/* Limit transfer size per interrupt. */
-	{ "SAMSUNG CD-ROM SCR-2430", NULL,   IDE_AFLAG_LIMIT_NFRAMES	     },
-	{ "SAMSUNG CD-ROM SCR-2432", NULL,   IDE_AFLAG_LIMIT_NFRAMES	     },
 	/* SCR-3231 doesn't support the SET_CD_SPEED command. */
 	{ "SAMSUNG CD-ROM SCR-3231", NULL,   IDE_AFLAG_NO_SPEED_SELECT	     },
 	/* Old NEC260 (not R) was released before ATAPI 1.2 spec. */
Index: b/include/linux/ide.h
===================================================================
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -458,11 +458,6 @@ enum {
 	IDE_AFLAG_TOCADDR_AS_BCD	= (1 << 3),
 	/* TOC track numbers are in BCD. */
 	IDE_AFLAG_TOCTRACKS_AS_BCD	= (1 << 4),
-	/*
-	 * Drive does not provide data in multiples of SECTOR_SIZE
-	 * when more than one interrupt is needed.
-	 */
-	IDE_AFLAG_LIMIT_NFRAMES		= (1 << 5),
 	/* Saved TOC information is current. */
 	IDE_AFLAG_TOC_VALID		= (1 << 6),
 	/* We think that the drive door is locked. */

  parent reply	other threads:[~2009-02-16  0:13 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-16  0:13 [PATCH 00/20] ide-cd: use scatterlists also for PIO transfers Bartlomiej Zolnierkiewicz
2009-02-16  0:13 ` [PATCH 01/20] ide: add support for arbitrary transfer lengths to ide_pio_bytes() Bartlomiej Zolnierkiewicz
2009-02-16  0:13 ` [PATCH 02/20] ide: use PageHighMem() instead of ifdefs in ide_pio_bytes() Bartlomiej Zolnierkiewicz
2009-02-16  0:13 ` [PATCH 03/20] ide-cd: remove dead URLs Bartlomiej Zolnierkiewicz
2009-02-16  0:13 ` [PATCH 04/20] ide-cd: use ide_end_rq() also for failed non-fs requests Bartlomiej Zolnierkiewicz
2009-02-16  0:13 ` [PATCH 05/20] ide-cd: remove dead code from cdrom_decode_status() Bartlomiej Zolnierkiewicz
2009-02-16  0:13 ` [PATCH 06/20] ide: remove needless ide_dump_status_no_sense() wrapper Bartlomiej Zolnierkiewicz
2009-02-16  0:13 ` [PATCH 07/20] ide-cd: remove no longer needed 'ignore' module parameter Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` [PATCH 08/20] ide-cd: factor out failed request completion from cdrom_end_request() Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` [PATCH 09/20] ide-cd: unify ide_cd_do_request() exit paths Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` [PATCH 10/20] ide-cd: move setting REQ_FAILED flag out from 'end_request' exit path Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` [PATCH 11/20] ide-cd: unify cdrom_newpc_intr() exit paths Bartlomiej Zolnierkiewicz
2009-02-16  9:25   ` Borislav Petkov
2009-02-16 21:09     ` Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` [PATCH 12/20] ide-cd: remove cdrom_end_request() Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` [PATCH 13/20] ide-cd: kill whole failed request in ide_cd_do_request() Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` [PATCH 14/20] ide-cd: cleanup ide_cd_do_request() Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` [PATCH 15/20] ide-cd: use scatterlists for PIO transfers (fs requests) Bartlomiej Zolnierkiewicz
2009-02-16  0:14 ` Bartlomiej Zolnierkiewicz [this message]
2009-02-16  0:15 ` [PATCH 17/20] ide-cd: merge ide_cd_prepare_rw_request() into cdrom_start_rw() Bartlomiej Zolnierkiewicz
2009-02-16  0:15 ` [PATCH 18/20] ide-cd: use scatterlists for PIO transfers (non-fs requests) Bartlomiej Zolnierkiewicz
2009-02-16  0:15 ` [PATCH 19/20] ide-cd: use common completion path for DMA requests in cdrom_newpc_intr() Bartlomiej Zolnierkiewicz
2009-02-16  0:15 ` [PATCH 20/20] ide-cd: unify transfer padding " 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=20090216001455.27491.90708.sendpatchset@localhost.localdomain \
    --to=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.