ata: Use PIO0 when ATA_SET_PIO_TIMING is not defined

If we have no way to tell the controller what timing to use, go with
the slowest possible speed.

Change-Id: I1ed3474d8bfecc08cfe4a9e7667f57775fef4d43
This commit is contained in:
Solomon Peachy 2024-07-16 11:44:11 -04:00
parent 9049d30da9
commit 95d6c74627

View file

@ -1102,8 +1102,10 @@ static int set_features(void)
{ 82, 6, 0xaa, 0 }, /* enable read look-ahead */ { 82, 6, 0xaa, 0 }, /* enable read look-ahead */
}; };
int i; int i;
int pio_mode = 2; /* Lowest */ int pio_mode = 0;
#ifdef ATA_SET_PIO_TIMING
pio_mode = 2;
/* Find out the highest supported PIO mode */ /* Find out the highest supported PIO mode */
if (identify_info[53] & (1<<1)) { /* Is word 64 valid? */ if (identify_info[53] & (1<<1)) { /* Is word 64 valid? */
if (identify_info[64] & 2) if (identify_info[64] & 2)
@ -1111,6 +1113,7 @@ static int set_features(void)
else if(identify_info[64] & 1) else if(identify_info[64] & 1)
pio_mode = 3; pio_mode = 3;
} }
#endif
/* Update the table: set highest supported pio mode that we also support */ /* Update the table: set highest supported pio mode that we also support */
features[0].parameter = 8 + pio_mode; features[0].parameter = 8 + pio_mode;