[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 1/6] ide: refactor retry_unit set and clear into
From: |
Denis V. Lunev |
Subject: |
[Qemu-devel] [PATCH v6 1/6] ide: refactor retry_unit set and clear into separate function |
Date: |
Thu, 14 Jul 2016 15:29:38 +0300 |
From: Evgeny Yakovlev <address@hidden>
Code to set and clear state associated with retry in moved into
ide_set_retry and ide_clear_retry to make adding retry setups easier.
Signed-off-by: Evgeny Yakovlev <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
CC: Kevin Wolf <address@hidden>
CC: Max Reitz <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Fam Zheng <address@hidden>
CC: John Snow <address@hidden>
---
hw/ide/core.c | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 029f6b9..b72346e 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -466,6 +466,20 @@ void ide_abort_command(IDEState *s)
s->error = ABRT_ERR;
}
+static void ide_set_retry(IDEState *s)
+{
+ s->bus->retry_unit = s->unit;
+ s->bus->retry_sector_num = ide_get_sector(s);
+ s->bus->retry_nsector = s->nsector;
+}
+
+static void ide_clear_retry(IDEState *s)
+{
+ s->bus->retry_unit = -1;
+ s->bus->retry_sector_num = 0;
+ s->bus->retry_nsector = 0;
+}
+
/* prepare data transfer and tell what to do after */
void ide_transfer_start(IDEState *s, uint8_t *buf, int size,
EndTransferFunc *end_transfer_func)
@@ -756,9 +770,7 @@ void dma_buf_commit(IDEState *s, uint32_t tx_bytes)
void ide_set_inactive(IDEState *s, bool more)
{
s->bus->dma->aiocb = NULL;
- s->bus->retry_unit = -1;
- s->bus->retry_sector_num = 0;
- s->bus->retry_nsector = 0;
+ ide_clear_retry(s);
if (s->bus->dma->ops->set_inactive) {
s->bus->dma->ops->set_inactive(s->bus->dma, more);
}
@@ -914,9 +926,7 @@ static void ide_sector_start_dma(IDEState *s, enum
ide_dma_cmd dma_cmd)
void ide_start_dma(IDEState *s, BlockCompletionFunc *cb)
{
s->io_buffer_index = 0;
- s->bus->retry_unit = s->unit;
- s->bus->retry_sector_num = ide_get_sector(s);
- s->bus->retry_nsector = s->nsector;
+ ide_set_retry(s);
if (s->bus->dma->ops->start_dma) {
s->bus->dma->ops->start_dma(s->bus->dma, s, cb);
}
--
2.1.4
- [Qemu-devel] [PATCH v6 0/6] block: ignore flush requests when storage is clean, Denis V. Lunev, 2016/07/14
- [Qemu-devel] [PATCH v6 6/6] tests: changed block job ready event generation order, Denis V. Lunev, 2016/07/14
- [Qemu-devel] [PATCH v6 5/6] tests: removed skipped flushes from block test traces, Denis V. Lunev, 2016/07/14
- [Qemu-devel] [PATCH v6 1/6] ide: refactor retry_unit set and clear into separate function,
Denis V. Lunev <=
- [Qemu-devel] [PATCH v6 2/6] ide: set retry_unit for PIO and FLUSH requests, Denis V. Lunev, 2016/07/14
- [Qemu-devel] [PATCH v6 4/6] block: ignore flush requests when storage is clean, Denis V. Lunev, 2016/07/14
- [Qemu-devel] [PATCH v6 3/6] tests: in IDE and AHCI tests perform DMA write before flushing, Denis V. Lunev, 2016/07/14