Media:wave5: wave5 v4l2 driver support gst/ffmpeg
[platform/kernel/linux-starfive.git] / drivers / media / platform / chips-media / wave5 / wave5-vdi.c
index ec8b6cb..e2b7dab 100644 (file)
@@ -10,7 +10,9 @@
 #include "wave5-vpu.h"
 #include "wave5-regdefine.h"
 #include <linux/delay.h>
+#ifdef CONFIG_SIFIVE_FLUSH
 #include <soc/sifive/sifive_l2_cache.h>
+#endif
 
 #define VDI_SRAM_BASE_ADDR             0x00
 
@@ -95,7 +97,9 @@ int wave5_vdi_clear_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb)
        }
 
        memset(vb->vaddr, 0, vb->size);
-       sifive_l2_flush64_range(vb->daddr, vb->size);
+#ifdef CONFIG_SIFIVE_FLUSH
+       sifive_flush64_range(vb->daddr, vb->size);
+#endif
        return vb->size;
 }
 
@@ -117,7 +121,9 @@ int wave5_vdi_write_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb, size_
 
        wave5_swap_endian(vpu_dev, data, len, endian);
        memcpy(vb->vaddr + offset, data, len);
-       sifive_l2_flush64_range(vb->daddr + offset, len);
+#ifdef CONFIG_SIFIVE_FLUSH
+       sifive_flush64_range(vb->daddr + offset, len);
+#endif
 
        return len;
 }
@@ -138,7 +144,9 @@ int wave5_vdi_allocate_dma_memory(struct vpu_device *vpu_dev, struct vpu_buf *vb
        vb->vaddr = vaddr;
        vb->daddr = daddr;
 
-       sifive_l2_flush64_range(daddr, vb->size);
+#ifdef CONFIG_SIFIVE_FLUSH
+       sifive_flush64_range(daddr, vb->size);
+#endif
 
        return 0;
 }