#include <drm/drm_framebuffer.h>
#include <drm/drm_vblank.h>
+#ifdef CONFIG_SIFIVE_FLUSH
+#include <soc/sifive/sifive_ccache.h>
+#endif
+
#include "vs_dc_hw.h"
#include "vs_dc.h"
#include "vs_drv.h"
fb->enable = state->visible;
update_format(drm_fb->format->format, drm_fb->modifier, fb);
update_swizzle(drm_fb->format->format, fb);
+
+#ifdef CONFIG_SIFIVE_FLUSH
+ starfive_flush_dcache(fb->y_address, fb->height * fb->y_stride);
+ if (fb->u_address)
+ starfive_flush_dcache(fb->u_address, fb->height * fb->u_stride);
+ if (fb->v_address)
+ starfive_flush_dcache(fb->v_address, fb->height * fb->v_stride);
+#endif
}
static void update_plane(struct vs_dc *dc, struct vs_plane *plane,