mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
ide: make ide_get_best_pio_mode() print info if overriding PIO mode
* 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 <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
328dcbb636
commit
342cdb6d47
@ -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;
|
||||
@ -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 */
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user