[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 25/27] hw/block/pflash_cfi02: Use chip erase time spe
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PULL 25/27] hw/block/pflash_cfi02: Use chip erase time specified in the CFI table |
Date: |
Mon, 1 Jul 2019 21:59:10 -0300 |
From: Stephen Checkoway <address@hidden>
When erasing the chip, use the typical time specified in the CFI table
rather than arbitrarily selecting 5 seconds.
Since the currently unconfigurable value set in the table is 12, this
means a chip erase takes 4096 ms so this isn't a big change in behavior.
Signed-off-by: Stephen Checkoway <address@hidden>
Message-Id: <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/block/pflash_cfi02.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/block/pflash_cfi02.c b/hw/block/pflash_cfi02.c
index a3665da3b8..b2d37c33bb 100644
--- a/hw/block/pflash_cfi02.c
+++ b/hw/block/pflash_cfi02.c
@@ -617,9 +617,9 @@ static void pflash_write(void *opaque, hwaddr offset,
uint64_t value,
pflash_update(pfl, 0, pfl->chip_len);
}
set_dq7(pfl, 0x00);
- /* Let's wait 5 seconds before chip erase is done */
+ /* Wait the time specified at CFI address 0x22. */
timer_mod(&pfl->timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) +
- (NANOSECONDS_PER_SECOND * 5));
+ (1ULL << pfl->cfi_table[0x22]) * SCALE_MS);
break;
case 0x30:
/* Sector erase */
--
2.20.1
- [Qemu-devel] [PULL 01/27] tests/pflash-cfi02: Add test for supported CFI commands, (continued)
- [Qemu-devel] [PULL 01/27] tests/pflash-cfi02: Add test for supported CFI commands, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 02/27] hw/block/pflash: Simplify trace_pflash_io_read/write(), Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 03/27] hw/block/pflash: Simplify trace_pflash_data_read/write(), Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 04/27] hw/block/pflash_cfi02: Fix debug format string, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 05/27] hw/block/pflash_cfi02: Add an enum to define the write cycles, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 08/27] hw/block/pflash_cfi02: Use the ldst API in pflash_write(), Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 06/27] hw/block/pflash_cfi02: Add helpers to manipulate the status bits, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 07/27] hw/block/pflash_cfi02: Simplify a statement using fall through, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 15/27] hw/block/pflash_cfi02: Document the current CFI values, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 20/27] hw/block/pflash_cfi02: Split if() condition, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 25/27] hw/block/pflash_cfi02: Use chip erase time specified in the CFI table,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PULL 23/27] hw/block/pflash_cfi02: Implement multi-sector erase, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 18/27] hw/block/pflash_cfi02: Implement nonuniform sector sizes, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 14/27] hw/block/pflash_cfi02: Remove pointless local variable, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 22/27] hw/block/pflash_cfi02: Fix reset command not ignored during erase, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 11/27] hw/block/pflash_cfi02: Unify the MemoryRegionOps, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 24/27] hw/block/pflash_cfi02: Implement erase suspend/resume, Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 19/27] hw/block/pflash_cfi02: Extract pflash_regions_count(), Philippe Mathieu-Daudé, 2019/07/01
- [Qemu-devel] [PULL 13/27] tests/pflash-cfi02: Refactor to support testing multiple configurations, Philippe Mathieu-Daudé, 2019/07/01