[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 01/13] m25p80: Add support for continuous rea
From: |
francisco iglesias |
Subject: |
Re: [Qemu-devel] [PATCH v5 01/13] m25p80: Add support for continuous read out of RDSR and READ_FSR |
Date: |
Tue, 31 Oct 2017 12:26:55 +0100 |
Hi Marcin,
Huge thank you once again for reviewing and your time! I'll update above i
next version of the patch series. I'll remove the Acks so the patch can be
revisited (if it is ok for you that keep it just let me know and I'll do
so!).
Best regards,
Francisco Iglesias
On 29 Oct 2017 16:08, "mar.krzeminski" <address@hidden> wrote:
>
>
> W dniu 29.10.2017 o 11:13, Francisco Iglesias pisze:
>
>> Add support for continuous read out of the RDSR and READ_FSR status
>> registers until the chip select is deasserted. This feature is supported
>> by amongst others 1 or more flashtypes manufactured by Numonyx (Micron),
>> Windbond, SST, Gigadevice, Eon and Macronix.
>>
>> Signed-off-by: Francisco Iglesias <address@hidden>
>> Acked-by: Marcin KrzemiĆski <address@hidden>
>> Acked-by: Alistair Francis <address@hidden>
>> ---
>> hw/block/m25p80.c | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
>> index a2438b9..2971519 100644
>> --- a/hw/block/m25p80.c
>> +++ b/hw/block/m25p80.c
>> @@ -423,6 +423,7 @@ typedef struct Flash {
>> uint8_t data[M25P80_INTERNAL_DATA_BUFFER_SZ];
>> uint32_t len;
>> uint32_t pos;
>> + bool data_read_loop;
>>
> I am sorry I have not seen this first time - data_read_loop should goes to
> vmstate_m25p80.
>
> uint8_t needed_bytes;
>> uint8_t cmd_in_progress;
>> uint32_t cur_addr;
>> @@ -983,6 +984,7 @@ static void decode_new_cmd(Flash *s, uint32_t value)
>> }
>> s->pos = 0;
>> s->len = 1;
>> + s->data_read_loop = true;
>> s->state = STATE_READING_DATA;
>> break;
>> @@ -993,6 +995,7 @@ static void decode_new_cmd(Flash *s, uint32_t value)
>> }
>> s->pos = 0;
>> s->len = 1;
>> + s->data_read_loop = true;
>> s->state = STATE_READING_DATA;
>> break;
>> @@ -1133,6 +1136,7 @@ static int m25p80_cs(SSISlave *ss, bool select)
>> s->pos = 0;
>> s->state = STATE_IDLE;
>> flash_sync_dirty(s, -1);
>> + s->data_read_loop = false;
>> }
>> DB_PRINT_L(0, "%sselect\n", select ? "de" : "");
>> @@ -1198,7 +1202,9 @@ static uint32_t m25p80_transfer8(SSISlave *ss,
>> uint32_t tx)
>> s->pos++;
>> if (s->pos == s->len) {
>> s->pos = 0;
>> - s->state = STATE_IDLE;
>> + if (!s->data_read_loop) {
>> + s->state = STATE_IDLE;
>> + }
>> }
>> break;
>>
>>
>
>
[Qemu-devel] [PATCH v5 03/13] m25p80: Add support for BRRD/BRWR and BULK_ERASE (0x60), Francisco Iglesias, 2017/10/29
[Qemu-devel] [PATCH v5 04/13] m25p80: Add support for n25q512a11 and n25q512a13, Francisco Iglesias, 2017/10/29
[Qemu-devel] [PATCH v5 05/13] xilinx_spips: Move FlashCMD, XilinxQSPIPS and XilinxSPIPSClass, Francisco Iglesias, 2017/10/29
[Qemu-devel] [PATCH v5 06/13] xilinx_spips: Update striping to be big-endian bit order, Francisco Iglesias, 2017/10/29