aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-tape.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-01 17:09:30 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-01 17:09:30 -0500
commit4166c1993b9e7f87c4d08e2e27f83ada890c2599 (patch)
treeb5abb7e9ee55edf183804c17df5473681a264481 /drivers/ide/ide-tape.c
parent8ac2b42a45896641ed292deaf038a1d2703d85a6 (diff)
ide: add IDE_HFLAG_NO_DSC host flag
* Add IDE_HFLAG_NO_DSC host flag for hosts that doesn't support DSC overlap. * Set it in aec62xx (for ATP850UF only) and hpt34x host drivers. * Convert ide-tape device driver to check for IDE_HFLAG_NO_DSC flag. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-tape.c')
-rw-r--r--drivers/ide/ide-tape.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 65037a8295a1..73e41cff3738 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -4532,19 +4532,11 @@ static void idetape_setup (ide_drive_t *drive, idetape_tape_t *tape, int minor)
4532 4532
4533 spin_lock_init(&tape->spinlock); 4533 spin_lock_init(&tape->spinlock);
4534 drive->dsc_overlap = 1; 4534 drive->dsc_overlap = 1;
4535#ifdef CONFIG_BLK_DEV_IDEPCI 4535 if (drive->hwif->host_flags & IDE_HFLAG_NO_DSC) {
4536 if (HWIF(drive)->pci_dev != NULL) { 4536 printk(KERN_INFO "ide-tape: %s: disabling DSC overlap\n",
4537 /* 4537 tape->name);
4538 * These two ide-pci host adapters appear to need DSC overlap disabled. 4538 drive->dsc_overlap = 0;
4539 * This probably needs further analysis.
4540 */
4541 if ((HWIF(drive)->pci_dev->device == PCI_DEVICE_ID_ARTOP_ATP850UF) ||
4542 (HWIF(drive)->pci_dev->device == PCI_DEVICE_ID_TTI_HPT343)) {
4543 printk(KERN_INFO "ide-tape: %s: disabling DSC overlap\n", tape->name);
4544 drive->dsc_overlap = 0;
4545 }
4546 } 4539 }
4547#endif /* CONFIG_BLK_DEV_IDEPCI */
4548 /* Seagate Travan drives do not support DSC overlap. */ 4540 /* Seagate Travan drives do not support DSC overlap. */
4549 if (strstr(drive->id->model, "Seagate STT3401")) 4541 if (strstr(drive->id->model, "Seagate STT3401"))
4550 drive->dsc_overlap = 0; 4542 drive->dsc_overlap = 0;