ide: add PC_FLAG_ZIP_DRIVE pc flag

Add PC_FLAG_ZIP_DRIVE pc flag, set it in idefloppy_do_request()
and check for it (instead of checking for IDEFLOPPY_FLAG_ZIP_DRIVE)
in idefloppy_transfer_pc().  This is a preparation for adding
generic ide_transfer_pc() helper.

There should be no functional changes caused by this patch.

Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 5a7b75ab
...@@ -559,7 +559,7 @@ static ide_startstop_t idefloppy_transfer_pc1(ide_drive_t *drive) ...@@ -559,7 +559,7 @@ static ide_startstop_t idefloppy_transfer_pc1(ide_drive_t *drive)
* 40 and 50msec work well. idefloppy_pc_intr will not be actually * 40 and 50msec work well. idefloppy_pc_intr will not be actually
* used until after the packet is moved in about 50 msec. * used until after the packet is moved in about 50 msec.
*/ */
if (floppy->flags & IDEFLOPPY_FLAG_ZIP_DRIVE) { if (pc->flags & PC_FLAG_ZIP_DRIVE) {
timeout = floppy->ticks; timeout = floppy->ticks;
expiry = &idefloppy_transfer_pc2; expiry = &idefloppy_transfer_pc2;
} else { } else {
...@@ -575,7 +575,7 @@ static ide_startstop_t idefloppy_transfer_pc1(ide_drive_t *drive) ...@@ -575,7 +575,7 @@ static ide_startstop_t idefloppy_transfer_pc1(ide_drive_t *drive)
hwif->dma_ops->dma_start(drive); hwif->dma_ops->dma_start(drive);
} }
if ((floppy->flags & IDEFLOPPY_FLAG_ZIP_DRIVE) == 0) if ((pc->flags & PC_FLAG_ZIP_DRIVE) == 0)
/* Send the actual packet */ /* Send the actual packet */
hwif->output_data(drive, NULL, floppy->pc->c, 12); hwif->output_data(drive, NULL, floppy->pc->c, 12);
...@@ -826,7 +826,11 @@ static ide_startstop_t idefloppy_do_request(ide_drive_t *drive, ...@@ -826,7 +826,11 @@ static ide_startstop_t idefloppy_do_request(ide_drive_t *drive,
return ide_stopped; return ide_stopped;
} }
if (floppy->flags & IDEFLOPPY_FLAG_ZIP_DRIVE)
pc->flags |= PC_FLAG_ZIP_DRIVE;
pc->rq = rq; pc->rq = rq;
return idefloppy_issue_pc(drive, pc); return idefloppy_issue_pc(drive, pc);
} }
......
...@@ -607,6 +607,7 @@ enum { ...@@ -607,6 +607,7 @@ enum {
PC_FLAG_WRITING = (1 << 6), PC_FLAG_WRITING = (1 << 6),
/* command timed out */ /* command timed out */
PC_FLAG_TIMEDOUT = (1 << 7), PC_FLAG_TIMEDOUT = (1 << 7),
PC_FLAG_ZIP_DRIVE = (1 << 8),
}; };
struct ide_atapi_pc { struct ide_atapi_pc {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment