remoteproc: imx_dsp_rproc: Fix kernel test robot sparse warning
authorMathieu Poirier <mathieu.poirier@linaro.org>
Fri, 7 Apr 2023 16:14:29 +0000 (10:14 -0600)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Tue, 11 Apr 2023 17:15:59 +0000 (11:15 -0600)
This patch fixes the kernel test robot warning reported here:

https://lore.kernel.org/bpf/642f916b.pPIKZ%2Fl%2F%2Fbw8tvIH%25lkp@intel.com/T/

Fixes: 408ec1ff0caa ("remoteproc: imx_dsp_rproc: Add custom memory copy implementation for i.MX DSP Cores")
Link: https://lore.kernel.org/r/20230407161429.3973177-1-mathieu.poirier@linaro.org
Tested-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
drivers/remoteproc/imx_dsp_rproc.c

index a8ad15e..cab06db 100644 (file)
@@ -746,12 +746,12 @@ static void imx_dsp_rproc_kick(struct rproc *rproc, int vqid)
  * The IRAM is part of the HiFi DSP.
  * According to hw specs only 32-bits writes are allowed.
  */
-static int imx_dsp_rproc_memcpy(void *dest, const void *src, size_t size)
+static int imx_dsp_rproc_memcpy(void *dst, const void *src, size_t size)
 {
+       void __iomem *dest = (void __iomem *)dst;
        const u8 *src_byte = src;
        const u32 *source = src;
        u32 affected_mask;
-       u32 *dst = dest;
        int i, q, r;
        u32 tmp;
 
@@ -764,7 +764,7 @@ static int imx_dsp_rproc_memcpy(void *dest, const void *src, size_t size)
 
        /* copy data in units of 32 bits at a time */
        for (i = 0; i < q; i++)
-               writel(source[i], &dst[i]);
+               writel(source[i], dest + i * 4);
 
        if (r) {
                affected_mask = GENMASK(8 * r, 0);
@@ -795,8 +795,8 @@ static int imx_dsp_rproc_memcpy(void *dest, const void *src, size_t size)
  */
 static int imx_dsp_rproc_memset(void *addr, u8 value, size_t size)
 {
+       void __iomem *tmp_dst = (void __iomem *)addr;
        u32 tmp_val = value;
-       u32 *tmp_dst = addr;
        u32 affected_mask;
        int q, r;
        u32 tmp;