Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4166c1993b9e7f87c4d08e2e27f83ada890c2599
Commit:     4166c1993b9e7f87c4d08e2e27f83ada890c2599
Parent:     8ac2b42a45896641ed292deaf038a1d2703d85a6
Author:     Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
AuthorDate: Fri Feb 1 23:09:30 2008 +0100
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Fri Feb 1 23:09:30 2008 +0100

    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 <[EMAIL PROTECTED]>
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/ide-tape.c    |   16 ++++------------
 drivers/ide/pci/aec62xx.c |    1 +
 drivers/ide/pci/hpt34x.c  |    1 +
 include/linux/ide.h       |    2 ++
 4 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 65037a8..73e41cf 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)
 
        spin_lock_init(&tape->spinlock);
        drive->dsc_overlap = 1;
-#ifdef CONFIG_BLK_DEV_IDEPCI
-       if (HWIF(drive)->pci_dev != NULL) {
-               /*
-                * These two ide-pci host adapters appear to need DSC overlap 
disabled.
-                * This probably needs further analysis.
-                */
-               if ((HWIF(drive)->pci_dev->device == 
PCI_DEVICE_ID_ARTOP_ATP850UF) ||
-                   (HWIF(drive)->pci_dev->device == PCI_DEVICE_ID_TTI_HPT343)) 
{
-                       printk(KERN_INFO "ide-tape: %s: disabling DSC 
overlap\n", tape->name);
-                       drive->dsc_overlap = 0;
-               }
+       if (drive->hwif->host_flags & IDE_HFLAG_NO_DSC) {
+               printk(KERN_INFO "ide-tape: %s: disabling DSC overlap\n",
+                                tape->name);
+               drive->dsc_overlap = 0;
        }
-#endif /* CONFIG_BLK_DEV_IDEPCI */
        /* Seagate Travan drives do not support DSC overlap. */
        if (strstr(drive->id->model, "Seagate STT3401"))
                drive->dsc_overlap = 0;
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c
index 7f4d185..1559759 100644
--- a/drivers/ide/pci/aec62xx.c
+++ b/drivers/ide/pci/aec62xx.c
@@ -202,6 +202,7 @@ static const struct ide_port_info aec62xx_chipsets[] 
__devinitdata = {
                .enablebits     = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}},
                .host_flags     = IDE_HFLAG_SERIALIZE |
                                  IDE_HFLAG_NO_ATAPI_DMA |
+                                 IDE_HFLAG_NO_DSC |
                                  IDE_HFLAG_ABUSE_SET_DMA_MODE |
                                  IDE_HFLAG_OFF_BOARD,
                .pio_mask       = ATA_PIO4,
diff --git a/drivers/ide/pci/hpt34x.c b/drivers/ide/pci/hpt34x.c
index dfba0d1..48a9ff2 100644
--- a/drivers/ide/pci/hpt34x.c
+++ b/drivers/ide/pci/hpt34x.c
@@ -131,6 +131,7 @@ static void __devinit init_hwif_hpt34x(ide_hwif_t *hwif)
 
 #define IDE_HFLAGS_HPT34X \
        (IDE_HFLAG_NO_ATAPI_DMA | \
+        IDE_HFLAG_NO_DSC | \
         IDE_HFLAG_ABUSE_SET_DMA_MODE | \
         IDE_HFLAG_NO_AUTODMA)
 
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 1b31597..af352cc 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1095,6 +1095,8 @@ enum {
        IDE_HFLAG_CY82C693              = (1 << 27),
        /* force host out of "simplex" mode */
        IDE_HFLAG_CLEAR_SIMPLEX         = (1 << 28),
+       /* DSC overlap is unsupported */
+       IDE_HFLAG_NO_DSC                = (1 << 29),
 };
 
 #ifdef CONFIG_BLK_DEV_OFFBOARD
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to