Skip to content

Commit

Permalink
ide: make ide_get_best_pio_mode() print info if overriding PIO mode
Browse files Browse the repository at this point in the history
* Print info about overriding PIO mode in ide_get_best_pio_mode().

* Remove info about overriding PIO mode from cmd64{0,x} host drivers.

* Remove no longer needed ide_pio_data_t.overridden field.

Acked-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
  • Loading branch information
bzolnier committed Jul 19, 2007
1 parent 328dcbb commit 342cdb6
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 11 deletions.
10 changes: 7 additions & 3 deletions drivers/ide/ide-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ u8 ide_get_best_pio_mode (ide_drive_t *drive, u8 mode_wanted, u8 max_mode, ide_p
} else if (!drive->id) {
pio_mode = 0;
} else if ((pio_mode = ide_scan_pio_blacklist(id->model)) != -1) {
overridden = 1;
printk(KERN_INFO "%s: is on PIO blacklist\n", drive->name);
use_iordy = (pio_mode > 2);
} else {
pio_mode = id->tPIO;
Expand All @@ -303,12 +303,17 @@ u8 ide_get_best_pio_mode (ide_drive_t *drive, u8 mode_wanted, u8 max_mode, ide_p
}
}

if (overridden)
printk(KERN_INFO "%s: tPIO > 2, assuming tPIO = 2\n",
drive->name);

/*
* Conservative "downgrade" for all pre-ATA2 drives
*/
if (pio_mode && pio_mode < 4) {
pio_mode--;
overridden = 1;
printk(KERN_INFO "%s: applying conservative "
"PIO \"downgrade\"\n", drive->name);
if (cycle_time && cycle_time < ide_pio_timings[pio_mode].cycle_time)
cycle_time = 0; /* use standard timing */
}
Expand All @@ -321,7 +326,6 @@ u8 ide_get_best_pio_mode (ide_drive_t *drive, u8 mode_wanted, u8 max_mode, ide_p
d->pio_mode = pio_mode;
d->cycle_time = cycle_time ? cycle_time : ide_pio_timings[pio_mode].cycle_time;
d->use_iordy = use_iordy;
d->overridden = overridden;
}
return pio_mode;
}
Expand Down
7 changes: 3 additions & 4 deletions drivers/ide/pci/cmd640.c
Original file line number Diff line number Diff line change
Expand Up @@ -665,13 +665,12 @@ static void cmd640_tune_drive (ide_drive_t *drive, u8 mode_wanted)
(void) ide_get_best_pio_mode (drive, mode_wanted, 5, &d);
cmd640_set_mode (index, d.pio_mode, d.cycle_time);

printk ("%s: selected cmd640 PIO mode%d (%dns)%s",
printk("%s: selected cmd640 PIO mode%d (%dns)",
drive->name,
d.pio_mode,
d.cycle_time,
d.overridden ? " (overriding vendor mode)" : "");
d.cycle_time);

display_clocks(index);
return;
}

#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */
Expand Down
5 changes: 2 additions & 3 deletions drivers/ide/pci/cmd64x.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,9 +227,8 @@ static u8 cmd64x_tune_pio (ide_drive_t *drive, u8 mode_wanted)
static const u8 arttim_regs[4] = {ARTTIM0, ARTTIM1, ARTTIM23, ARTTIM23};
pio_mode = ide_get_best_pio_mode(drive, mode_wanted, 5, &pio);

cmdprintk("%s: PIO mode wanted %d, selected %d (%d ns)%s\n",
drive->name, mode_wanted, pio_mode, pio.cycle_time,
pio.overridden ? " (overriding vendor mode)" : "");
cmdprintk("%s: PIO mode wanted %d, selected %d (%d ns)\n",
drive->name, mode_wanted, pio_mode, pio.cycle_time);

program_cycle_times(drive, pio.cycle_time,
ide_pio_timings[pio_mode].active_time);
Expand Down
1 change: 0 additions & 1 deletion include/linux/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -1375,7 +1375,6 @@ typedef struct ide_pio_timings_s {
typedef struct ide_pio_data_s {
u8 pio_mode;
u8 use_iordy;
u8 overridden;
unsigned int cycle_time;
} ide_pio_data_t;

Expand Down

0 comments on commit 342cdb6

Please sign in to comment.