qemu-devel
[Top][All Lists]
Advanced

[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;
>>
>>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]