ide: DMA_PIO_RETRY -> IDE_DFLAG_DMA_PIO_RETRY
Add IDE_DFLAG_DMA_PIO_RETRY and use it instead of ide_drive_t.state + DMA_PIO_RETRY. There should be no functional changes cause by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
97100fc816
commit
c39220483e
|
@ -78,8 +78,9 @@ static int __ide_end_request(ide_drive_t *drive, struct request *rq,
|
||||||
* decide whether to reenable DMA -- 3 is a random magic for now,
|
* decide whether to reenable DMA -- 3 is a random magic for now,
|
||||||
* if we DMA timeout more than 3 times, just stay in PIO
|
* if we DMA timeout more than 3 times, just stay in PIO
|
||||||
*/
|
*/
|
||||||
if (drive->state == DMA_PIO_RETRY && drive->retry_pio <= 3) {
|
if ((drive->dev_flags & IDE_DFLAG_DMA_PIO_RETRY) &&
|
||||||
drive->state = 0;
|
drive->retry_pio <= 3) {
|
||||||
|
drive->dev_flags &= ~IDE_DFLAG_DMA_PIO_RETRY;
|
||||||
ide_dma_on(drive);
|
ide_dma_on(drive);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1195,8 +1196,8 @@ static ide_startstop_t ide_dma_timeout_retry(ide_drive_t *drive, int error)
|
||||||
* a timeout -- we'll reenable after we finish this next request
|
* a timeout -- we'll reenable after we finish this next request
|
||||||
* (or rather the first chunk of it) in pio.
|
* (or rather the first chunk of it) in pio.
|
||||||
*/
|
*/
|
||||||
|
drive->dev_flags |= IDE_DFLAG_DMA_PIO_RETRY;
|
||||||
drive->retry_pio++;
|
drive->retry_pio++;
|
||||||
drive->state = DMA_PIO_RETRY;
|
|
||||||
ide_dma_off_quietly(drive);
|
ide_dma_off_quietly(drive);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -48,12 +48,6 @@ typedef unsigned char byte; /* used everywhere */
|
||||||
#define ERROR_RESET 3 /* Reset controller every 4th retry */
|
#define ERROR_RESET 3 /* Reset controller every 4th retry */
|
||||||
#define ERROR_RECAL 1 /* Recalibrate every 2nd retry */
|
#define ERROR_RECAL 1 /* Recalibrate every 2nd retry */
|
||||||
|
|
||||||
/*
|
|
||||||
* state flags
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define DMA_PIO_RETRY 1 /* retrying in PIO */
|
|
||||||
|
|
||||||
#define HWIF(drive) ((ide_hwif_t *)((drive)->hwif))
|
#define HWIF(drive) ((ide_hwif_t *)((drive)->hwif))
|
||||||
#define HWGROUP(drive) ((ide_hwgroup_t *)(HWIF(drive)->hwgroup))
|
#define HWGROUP(drive) ((ide_hwgroup_t *)(HWIF(drive)->hwgroup))
|
||||||
|
|
||||||
|
@ -506,6 +500,8 @@ enum {
|
||||||
IDE_DFLAG_WCACHE = (1 << 23),
|
IDE_DFLAG_WCACHE = (1 << 23),
|
||||||
/* used for ignoring ATA_DF */
|
/* used for ignoring ATA_DF */
|
||||||
IDE_DFLAG_NOWERR = (1 << 24),
|
IDE_DFLAG_NOWERR = (1 << 24),
|
||||||
|
/* retrying in PIO */
|
||||||
|
IDE_DFLAG_DMA_PIO_RETRY = (1 << 25),
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ide_drive_s {
|
struct ide_drive_s {
|
||||||
|
@ -535,7 +531,6 @@ struct ide_drive_s {
|
||||||
select_t select; /* basic drive/head select reg value */
|
select_t select; /* basic drive/head select reg value */
|
||||||
|
|
||||||
u8 retry_pio; /* retrying dma capable host in pio */
|
u8 retry_pio; /* retrying dma capable host in pio */
|
||||||
u8 state; /* retry state */
|
|
||||||
u8 waiting_for_dma; /* dma currently in progress */
|
u8 waiting_for_dma; /* dma currently in progress */
|
||||||
|
|
||||||
u8 quirk_list; /* considered quirky, set for a specific host */
|
u8 quirk_list; /* considered quirky, set for a specific host */
|
||||||
|
|
Loading…
Reference in New Issue