ide: remove IDE_TFLAG_NO_SELECT_MASK taskfile flag
Always call SELECT_MASK(..., 0) in ide_tf_load() (needs to be done to match ide_set_irq(..., 1)) and then remove IDE_TFLAG_NO_SELECT_MASK taskfile flag. This change should only affect hpt366 and icside host drivers since ->maskproc(..., 0) for sgiioc4 is equivalent to ide_set_irq(..., 1). Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
e81a3bde13
commit
9a410e79b5
7 changed files with 7 additions and 13 deletions
|
@ -530,8 +530,8 @@ static ide_startstop_t cdrom_start_packet_command(ide_drive_t *drive,
|
|||
info->dma = !hwif->dma_ops->dma_setup(drive);
|
||||
|
||||
/* set up the controller registers */
|
||||
ide_pktcmd_tf_load(drive, IDE_TFLAG_OUT_NSECT | IDE_TFLAG_OUT_LBAL |
|
||||
IDE_TFLAG_NO_SELECT_MASK, xferlen, info->dma);
|
||||
ide_pktcmd_tf_load(drive, IDE_TFLAG_OUT_NSECT | IDE_TFLAG_OUT_LBAL,
|
||||
xferlen, info->dma);
|
||||
|
||||
if (info->cd_flags & IDE_CD_FLAG_DRQ_INTERRUPT) {
|
||||
/* waiting for CDB interrupt, not DMA yet. */
|
||||
|
|
|
@ -198,8 +198,7 @@ static ide_startstop_t __ide_do_rw_disk(ide_drive_t *drive, struct request *rq,
|
|||
}
|
||||
|
||||
memset(&task, 0, sizeof(task));
|
||||
task.tf_flags = IDE_TFLAG_NO_SELECT_MASK; /* FIXME? */
|
||||
task.tf_flags |= (IDE_TFLAG_TF | IDE_TFLAG_DEVICE);
|
||||
task.tf_flags = IDE_TFLAG_TF | IDE_TFLAG_DEVICE;
|
||||
|
||||
if (drive->select.b.lba) {
|
||||
if (lba48) {
|
||||
|
|
|
@ -667,8 +667,7 @@ static ide_startstop_t idefloppy_issue_pc(ide_drive_t *drive,
|
|||
if ((pc->flags & PC_FLAG_DMA_RECOMMENDED) && drive->using_dma)
|
||||
dma = !hwif->dma_ops->dma_setup(drive);
|
||||
|
||||
ide_pktcmd_tf_load(drive, IDE_TFLAG_NO_SELECT_MASK |
|
||||
IDE_TFLAG_OUT_DEVICE, bcount, dma);
|
||||
ide_pktcmd_tf_load(drive, IDE_TFLAG_OUT_DEVICE, bcount, dma);
|
||||
|
||||
if (dma) {
|
||||
/* Begin DMA, if necessary */
|
||||
|
|
|
@ -121,9 +121,7 @@ static void ide_tf_load(ide_drive_t *drive, ide_task_t *task)
|
|||
HIHI = 0xFF;
|
||||
|
||||
ide_set_irq(drive, 1);
|
||||
|
||||
if ((task->tf_flags & IDE_TFLAG_NO_SELECT_MASK) == 0)
|
||||
SELECT_MASK(drive, 0);
|
||||
SELECT_MASK(drive, 0);
|
||||
|
||||
if (task->tf_flags & IDE_TFLAG_OUT_DATA) {
|
||||
u16 data = (tf->hob_data << 8) | tf->data;
|
||||
|
|
|
@ -1046,8 +1046,7 @@ static ide_startstop_t idetape_issue_pc(ide_drive_t *drive,
|
|||
if ((pc->flags & PC_FLAG_DMA_RECOMMENDED) && drive->using_dma)
|
||||
dma_ok = !hwif->dma_ops->dma_setup(drive);
|
||||
|
||||
ide_pktcmd_tf_load(drive, IDE_TFLAG_NO_SELECT_MASK |
|
||||
IDE_TFLAG_OUT_DEVICE, bcount, dma_ok);
|
||||
ide_pktcmd_tf_load(drive, IDE_TFLAG_OUT_DEVICE, bcount, dma_ok);
|
||||
|
||||
if (dma_ok)
|
||||
/* Will begin DMA later */
|
||||
|
|
|
@ -564,7 +564,7 @@ static ide_startstop_t idescsi_issue_pc(ide_drive_t *drive,
|
|||
hwif->sg_mapped = 0;
|
||||
}
|
||||
|
||||
ide_pktcmd_tf_load(drive, IDE_TFLAG_NO_SELECT_MASK, bcount, dma);
|
||||
ide_pktcmd_tf_load(drive, 0, bcount, dma);
|
||||
|
||||
if (dma)
|
||||
pc->flags |= PC_FLAG_DMA_OK;
|
||||
|
|
|
@ -869,7 +869,6 @@ extern void ide_end_drive_cmd(ide_drive_t *, u8, u8);
|
|||
|
||||
enum {
|
||||
IDE_TFLAG_LBA48 = (1 << 0),
|
||||
IDE_TFLAG_NO_SELECT_MASK = (1 << 1),
|
||||
IDE_TFLAG_FLAGGED = (1 << 2),
|
||||
IDE_TFLAG_OUT_DATA = (1 << 3),
|
||||
IDE_TFLAG_OUT_HOB_FEATURE = (1 << 4),
|
||||
|
|
Loading…
Reference in a new issue