>-----Original Message----- >From: Philippe Mathieu-Daudé [mailto:phi...@redhat.com] >Sent: Tuesday, February 25, 2020 5:36 PM >To: Chenqun (kuhn) <kuhn.chen...@huawei.com>; qemu- >de...@nongnu.org; qemu-triv...@nongnu.org >Cc: peter.mayd...@linaro.org; Zhanghailiang ><zhang.zhanghaili...@huawei.com>; Alistair Francis <alist...@alistair23.me>; >qemu-...@nongnu.org >Subject: Re: [PATCH 09/13] dma/xlnx-zdma: Remove redundant statement in >zdma_write_dst() > >On 2/25/20 3:09 AM, kuhn.chen...@huawei.com wrote: >> From: Chen Qun <kuhn.chen...@huawei.com> >> >> 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 <euler.ro...@huawei.com> >> Signed-off-by: Chen Qun <kuhn.chen...@huawei.com> >> --- >> Cc: Alistair Francis <alist...@alistair23.me> >> Cc: "Edgar E. Iglesias" <edgar.igles...@gmail.com> >> Cc: Peter Maydell <peter.mayd...@linaro.org> >> Cc: qemu-...@nongnu.org >> --- >> 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 >>