ide: make ide_get_best_pio_mode() print info if overriding PIO mode
PATCH 4/6 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.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/ide-lib.c | 10 +++++++--- drivers/ide/pci/cmd640.c | 7 +++---- drivers/ide/pci/cmd64x.c | 5 ++--- include/linux/ide.h | 1 - 4 files changed, 12 insertions(+), 11 deletions(-)
drivers/ide/ide-lib.c +7 -3
@@ -277,7 +277,7 @@ u8 ide_get_best_pio_mode (ide_drive_t *d }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 *d } } +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 *d 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; }
drivers/ide/pci/cmd640.c +3 -4
@@ -665,13 +665,12 @@ static void cmd640_tune_drive (ide_drive (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 */
drivers/ide/pci/cmd64x.c +2 -3
@@ -229,9 +229,8 @@ static u8 cmd64x_tune_pio (ide_drive_t *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);
include/linux/ide.h +0 -1
@@ -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 ;
Quoted 7 lines · Bartlomiej Zolnierkiewicz
* 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.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
Acked-by Sergei Shtylyov <[email protected]>
MBR, Sergei