aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-tape.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-tape.c')
-rw-r--r--drivers/ide/ide-tape.c80
1 files changed, 6 insertions, 74 deletions
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index d71a584f0765..5aef63acf1e8 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -1,7 +1,6 @@
1/* 1/*
2 * linux/drivers/ide/ide-tape.c Version 1.19 Nov, 2003 2 * Copyright (C) 1995-1999 Gadi Oxman <gadio@netvision.net.il>
3 * 3 * Copyright (C) 2003-2005 Bartlomiej Zolnierkiewicz
4 * Copyright (C) 1995 - 1999 Gadi Oxman <gadio@netvision.net.il>
5 * 4 *
6 * $Header$ 5 * $Header$
7 * 6 *
@@ -4291,9 +4290,6 @@ static int idetape_identify_device (ide_drive_t *drive)
4291{ 4290{
4292 struct idetape_id_gcw gcw; 4291 struct idetape_id_gcw gcw;
4293 struct hd_driveid *id = drive->id; 4292 struct hd_driveid *id = drive->id;
4294#if IDETAPE_DEBUG_INFO
4295 unsigned short mask,i;
4296#endif /* IDETAPE_DEBUG_INFO */
4297 4293
4298 if (drive->id_read == 0) 4294 if (drive->id_read == 0)
4299 return 1; 4295 return 1;
@@ -4333,62 +4329,6 @@ static int idetape_identify_device (ide_drive_t *drive)
4333 case 1: printk("16 bytes\n");break; 4329 case 1: printk("16 bytes\n");break;
4334 default: printk("Reserved\n");break; 4330 default: printk("Reserved\n");break;
4335 } 4331 }
4336 printk(KERN_INFO "ide-tape: Model: %.40s\n",id->model);
4337 printk(KERN_INFO "ide-tape: Firmware Revision: %.8s\n",id->fw_rev);
4338 printk(KERN_INFO "ide-tape: Serial Number: %.20s\n",id->serial_no);
4339 printk(KERN_INFO "ide-tape: Write buffer size: %d bytes\n",id->buf_size*512);
4340 printk(KERN_INFO "ide-tape: DMA: %s",id->capability & 0x01 ? "Yes\n":"No\n");
4341 printk(KERN_INFO "ide-tape: LBA: %s",id->capability & 0x02 ? "Yes\n":"No\n");
4342 printk(KERN_INFO "ide-tape: IORDY can be disabled: %s",id->capability & 0x04 ? "Yes\n":"No\n");
4343 printk(KERN_INFO "ide-tape: IORDY supported: %s",id->capability & 0x08 ? "Yes\n":"Unknown\n");
4344 printk(KERN_INFO "ide-tape: ATAPI overlap supported: %s",id->capability & 0x20 ? "Yes\n":"No\n");
4345 printk(KERN_INFO "ide-tape: PIO Cycle Timing Category: %d\n",id->tPIO);
4346 printk(KERN_INFO "ide-tape: DMA Cycle Timing Category: %d\n",id->tDMA);
4347 printk(KERN_INFO "ide-tape: Single Word DMA supported modes: ");
4348 for (i=0,mask=1;i<8;i++,mask=mask << 1) {
4349 if (id->dma_1word & mask)
4350 printk("%d ",i);
4351 if (id->dma_1word & (mask << 8))
4352 printk("(active) ");
4353 }
4354 printk("\n");
4355 printk(KERN_INFO "ide-tape: Multi Word DMA supported modes: ");
4356 for (i=0,mask=1;i<8;i++,mask=mask << 1) {
4357 if (id->dma_mword & mask)
4358 printk("%d ",i);
4359 if (id->dma_mword & (mask << 8))
4360 printk("(active) ");
4361 }
4362 printk("\n");
4363 if (id->field_valid & 0x0002) {
4364 printk(KERN_INFO "ide-tape: Enhanced PIO Modes: %s\n",
4365 id->eide_pio_modes & 1 ? "Mode 3":"None");
4366 printk(KERN_INFO "ide-tape: Minimum Multi-word DMA cycle per word: ");
4367 if (id->eide_dma_min == 0)
4368 printk("Not supported\n");
4369 else
4370 printk("%d ns\n",id->eide_dma_min);
4371
4372 printk(KERN_INFO "ide-tape: Manufacturer\'s Recommended Multi-word cycle: ");
4373 if (id->eide_dma_time == 0)
4374 printk("Not supported\n");
4375 else
4376 printk("%d ns\n",id->eide_dma_time);
4377
4378 printk(KERN_INFO "ide-tape: Minimum PIO cycle without IORDY: ");
4379 if (id->eide_pio == 0)
4380 printk("Not supported\n");
4381 else
4382 printk("%d ns\n",id->eide_pio);
4383
4384 printk(KERN_INFO "ide-tape: Minimum PIO cycle with IORDY: ");
4385 if (id->eide_pio_iordy == 0)
4386 printk("Not supported\n");
4387 else
4388 printk("%d ns\n",id->eide_pio_iordy);
4389
4390 } else
4391 printk(KERN_INFO "ide-tape: According to the device, fields 64-70 are not valid.\n");
4392#endif /* IDETAPE_DEBUG_INFO */ 4332#endif /* IDETAPE_DEBUG_INFO */
4393 4333
4394 /* Check that we can support this device */ 4334 /* Check that we can support this device */
@@ -4591,19 +4531,11 @@ static void idetape_setup (ide_drive_t *drive, idetape_tape_t *tape, int minor)
4591 4531
4592 spin_lock_init(&tape->spinlock); 4532 spin_lock_init(&tape->spinlock);
4593 drive->dsc_overlap = 1; 4533 drive->dsc_overlap = 1;
4594#ifdef CONFIG_BLK_DEV_IDEPCI 4534 if (drive->hwif->host_flags & IDE_HFLAG_NO_DSC) {
4595 if (HWIF(drive)->pci_dev != NULL) { 4535 printk(KERN_INFO "ide-tape: %s: disabling DSC overlap\n",
4596 /* 4536 tape->name);
4597 * These two ide-pci host adapters appear to need DSC overlap disabled. 4537 drive->dsc_overlap = 0;
4598 * This probably needs further analysis.
4599 */
4600 if ((HWIF(drive)->pci_dev->device == PCI_DEVICE_ID_ARTOP_ATP850UF) ||
4601 (HWIF(drive)->pci_dev->device == PCI_DEVICE_ID_TTI_HPT343)) {
4602 printk(KERN_INFO "ide-tape: %s: disabling DSC overlap\n", tape->name);
4603 drive->dsc_overlap = 0;
4604 }
4605 } 4538 }
4606#endif /* CONFIG_BLK_DEV_IDEPCI */
4607 /* Seagate Travan drives do not support DSC overlap. */ 4539 /* Seagate Travan drives do not support DSC overlap. */
4608 if (strstr(drive->id->model, "Seagate STT3401")) 4540 if (strstr(drive->id->model, "Seagate STT3401"))
4609 drive->dsc_overlap = 0; 4541 drive->dsc_overlap = 0;