[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v5 25/28] hw/block/pflash_cfi02: Use chip erase time s
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-ppc] [PATCH v5 25/28] hw/block/pflash_cfi02: Use chip erase time specified in the CFI table |
Date: |
Thu, 27 Jun 2019 22:27:16 +0200 |
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>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
TODO check not zero
---
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-ppc] [PATCH v5 20/28] hw/block/pflash_cfi02: Split if() condition, (continued)
- [Qemu-ppc] [PATCH v5 20/28] hw/block/pflash_cfi02: Split if() condition, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 19/28] hw/block/pflash_cfi02: Extract pflash_regions_count(), Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 18/28] hw/block/pflash_cfi02: Implement nonuniform sector sizes, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 22/28] hw/block/pflash_cfi02: Fix reset command not ignored during erase, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 21/28] hw/block/pflash_cfi02: Fix CFI in autoselect mode, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 25/28] hw/block/pflash_cfi02: Use chip erase time specified in the CFI table,
Philippe Mathieu-Daudé <=
- [Qemu-ppc] [PATCH v5 23/28] hw/block/pflash_cfi02: Implement multi-sector erase, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 26/28] hw/block/pflash_cfi02: Reduce single byte/word write delay, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 24/28] hw/block/pflash_cfi02: Implement erase suspend/resume, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 28/28] hw/block/pflash_cfi02: Reduce I/O accesses to 16-bit, Philippe Mathieu-Daudé, 2019/06/27
- [Qemu-ppc] [PATCH v5 27/28] hw/block/pflash_cfi02: Document commands, Philippe Mathieu-Daudé, 2019/06/27