[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH 09/13] dma/xlnx-zdma: Remove redundant statement in zdma_writ
From: |
Chenqun (kuhn) |
Subject: |
RE: [PATCH 09/13] dma/xlnx-zdma: Remove redundant statement in zdma_write_dst() |
Date: |
Tue, 25 Feb 2020 10:01:35 +0000 |
>-----Original Message-----
>From: Philippe Mathieu-Daudé [mailto:address@hidden]
>Sent: Tuesday, February 25, 2020 5:36 PM
>To: Chenqun (kuhn) <address@hidden>; qemu-
>address@hidden; address@hidden
>Cc: address@hidden; Zhanghailiang
><address@hidden>; Alistair Francis <address@hidden>;
>address@hidden
>Subject: Re: [PATCH 09/13] dma/xlnx-zdma: Remove redundant statement in
>zdma_write_dst()
>
>On 2/25/20 3:09 AM, address@hidden wrote:
>> From: Chen Qun <address@hidden>
>>
>> Clang static code analyzer show warning:
>> hw/dma/xlnx-zdma.c:399:13: warning: Value stored to 'dst_type' is never
>read
>> dst_type = FIELD_EX32(s->dsc_dst.words[3],
>ZDMA_CH_DST_DSCR_WORD3,
>> ^
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> Reported-by: Euler Robot <address@hidden>
>> Signed-off-by: Chen Qun <address@hidden>
>> ---
>> Cc: Alistair Francis <address@hidden>
>> Cc: "Edgar E. Iglesias" <address@hidden>
>> Cc: Peter Maydell <address@hidden>
>> Cc: address@hidden
>> ---
>> hw/dma/xlnx-zdma.c | 2 --
>> 1 file changed, 2 deletions(-)
>>
>> diff --git a/hw/dma/xlnx-zdma.c b/hw/dma/xlnx-zdma.c index
>> 8fb83f5b07..45355c5d59 100644
>> --- a/hw/dma/xlnx-zdma.c
>> +++ b/hw/dma/xlnx-zdma.c
>> @@ -396,8 +396,6 @@ static void zdma_write_dst(XlnxZDMA *s, uint8_t
>*buf, uint32_t len)
>> zdma_load_descriptor(s, next, &s->dsc_dst);
>> dst_size = FIELD_EX32(s->dsc_dst.words[2],
>ZDMA_CH_DST_DSCR_WORD2,
>> SIZE);
>> - dst_type = FIELD_EX32(s->dsc_dst.words[3],
>ZDMA_CH_DST_DSCR_WORD3,
>> - TYPE);
>
>Maybe move dst_type to this if() statement now?
>
Sorry, I don't follow you. I didn't find where I could move dst_type.
Do you mean to move the first dst_type to the if().
Modify it like this:
while (len) {
dst_size = FIELD_EX32(s->dsc_dst.words[2], ZDMA_CH_DST_DSCR_WORD2,
SIZE);
if (dst_size == 0 && ptype == PT_MEM) {
uint64_t next;
dst_type = FIELD_EX32(s->dsc_dst.words[3], ZDMA_CH_DST_DSCR_WORD3,
TYPE);
next = zdma_update_descr_addr(s, dst_type,
R_ZDMA_CH_DST_CUR_DSCR_LSB);
zdma_load_descriptor(s, next, &s->dsc_dst);
dst_size = FIELD_EX32(s->dsc_dst.words[2], ZDMA_CH_DST_DSCR_WORD2,
SIZE);
}
...
}
Thanks.
>> }
>>
>> /* Match what hardware does by ignoring the dst_size and
>> only using
>>