summaryrefslogtreecommitdiffstats
path: root/hw/ide/core.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2014-08-04 17:11:12 -0400
committerStefan Hajnoczi <stefanha@redhat.com>2014-08-15 18:03:12 +0100
commit0e7ce54cf5fb9b7e8d19a5a4eb1facf123edbcef (patch)
treec1b2d03fedeec26e1dd2b9ebd1de9c093c091102 /hw/ide/core.c
parent0def37baf9add908c5462b0b8e2d3f80b563a9f9 (diff)
downloadhqemu-0e7ce54cf5fb9b7e8d19a5a4eb1facf123edbcef.zip
hqemu-0e7ce54cf5fb9b7e8d19a5a4eb1facf123edbcef.tar.gz
ide: fold add_status callback into set_inactive
It is now called only after the set_inactive callback. Put the two together. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'hw/ide/core.c')
-rw-r--r--hw/ide/core.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/hw/ide/core.c b/hw/ide/core.c
index aa561ae..24f24ce 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -594,11 +594,11 @@ static void ide_async_cmd_done(IDEState *s)
}
}
-void ide_set_inactive(IDEState *s)
+void ide_set_inactive(IDEState *s, bool more)
{
s->bus->dma->aiocb = NULL;
if (s->bus->dma->ops->set_inactive) {
- s->bus->dma->ops->set_inactive(s->bus->dma);
+ s->bus->dma->ops->set_inactive(s->bus->dma, more);
}
ide_async_cmd_done(s);
}
@@ -608,7 +608,7 @@ void ide_dma_error(IDEState *s)
ide_transfer_stop(s);
s->error = ABRT_ERR;
s->status = READY_STAT | ERR_STAT;
- ide_set_inactive(s);
+ ide_set_inactive(s, false);
ide_set_irq(s->bus);
}
@@ -719,10 +719,7 @@ eot:
if (s->dma_cmd == IDE_DMA_READ || s->dma_cmd == IDE_DMA_WRITE) {
bdrv_acct_done(s->bs, &s->acct);
}
- ide_set_inactive(s);
- if (stay_active) {
- s->bus->dma->ops->add_status(s->bus->dma, BM_STATUS_DMAING);
- }
+ ide_set_inactive(s, stay_active);
}
static void ide_sector_start_dma(IDEState *s, enum ide_dma_cmd dma_cmd)
@@ -2224,7 +2221,6 @@ static const IDEDMAOps ide_dma_nop_ops = {
.prepare_buf = ide_nop_int,
.rw_buf = ide_nop_int,
.set_unit = ide_nop_int,
- .add_status = ide_nop_int,
.restart_cb = ide_nop_restart,
};
OpenPOWER on IntegriCloud