diff options
author | shengyang.chen <shengyang.chen@starfivetech.com> | 2023-06-21 05:15:12 +0300 |
---|---|---|
committer | shengyang.chen <shengyang.chen@starfivetech.com> | 2023-06-21 05:18:11 +0300 |
commit | d836d4b2e113e58f0c6707cd0a3dd35906e57b09 (patch) | |
tree | d1285bdf66dab68e0495b3a3597a836d54d68860 /drivers/gpu | |
parent | 4b6aab9092e8f9a4d66dba07cb9a1e440414e7be (diff) | |
download | linux-d836d4b2e113e58f0c6707cd0a3dd35906e57b09.tar.xz |
vout: starfive: cache interface
replace flush cache interface from
starfive_flush_dcache to sifive_l2_flush64_range
Signed-off-by: Shengyang Chen <shengyang.chen@starfivetech.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/verisilicon/vs_dc.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/verisilicon/vs_dc.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/verisilicon/vs_plane.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/verisilicon/vs_plane.h | 3 |
4 files changed, 10 insertions, 7 deletions
diff --git a/drivers/gpu/drm/verisilicon/vs_dc.c b/drivers/gpu/drm/verisilicon/vs_dc.c index b57ad1265b34..148c13387131 100644 --- a/drivers/gpu/drm/verisilicon/vs_dc.c +++ b/drivers/gpu/drm/verisilicon/vs_dc.c @@ -1003,13 +1003,13 @@ static void update_fb(struct vs_plane *plane, u8 display_id, update_format(drm_fb->format->format, drm_fb->modifier, fb); update_swizzle(drm_fb->format->format, fb); update_watermark(plane_state->watermark, fb); -/* - starfive_flush_dcache(fb->y_address, fb->height * fb->y_stride); + + sifive_l2_flush64_range(fb->y_address, fb->height * fb->y_stride); if (fb->u_address) - starfive_flush_dcache(fb->u_address, fb->height * fb->u_stride); + sifive_l2_flush64_range(fb->u_address, fb->height * fb->u_stride); if (fb->v_address) - starfive_flush_dcache(fb->v_address, fb->height * fb->v_stride); -*/ + sifive_l2_flush64_range(fb->v_address, fb->height * fb->v_stride); + plane_state->status.tile_mode = fb->tile_mode; } diff --git a/drivers/gpu/drm/verisilicon/vs_dc.h b/drivers/gpu/drm/verisilicon/vs_dc.h index 061a49cc8dcc..92ee461d7f7d 100644 --- a/drivers/gpu/drm/verisilicon/vs_dc.h +++ b/drivers/gpu/drm/verisilicon/vs_dc.h @@ -79,6 +79,6 @@ struct vs_dc { }; extern struct platform_driver dc_platform_driver; - +extern void sifive_l2_flush64_range(unsigned long start, unsigned long len); #endif /* __VS_DC_H__ */ diff --git a/drivers/gpu/drm/verisilicon/vs_plane.c b/drivers/gpu/drm/verisilicon/vs_plane.c index 6fa4d3b5359a..46a513cf3e1c 100644 --- a/drivers/gpu/drm/verisilicon/vs_plane.c +++ b/drivers/gpu/drm/verisilicon/vs_plane.c @@ -294,7 +294,7 @@ static void vs_plane_atomic_update(struct drm_plane *plane, vs_obj = vs_fb_get_gem_obj(fb, i); vs_plane->dma_addr[i] = vs_obj->iova + fb->offsets[i]; - //starfive_flush_dcache(vs_plane->dma_addr[i], vs_obj->size); + sifive_l2_flush64_range(vs_plane->dma_addr[i], vs_obj->size); } plane_state->status.src = drm_plane_state_src(new_state); diff --git a/drivers/gpu/drm/verisilicon/vs_plane.h b/drivers/gpu/drm/verisilicon/vs_plane.h index ab4591d54614..fc46fd7f5c8e 100644 --- a/drivers/gpu/drm/verisilicon/vs_plane.h +++ b/drivers/gpu/drm/verisilicon/vs_plane.h @@ -74,4 +74,7 @@ to_vs_plane_state(struct drm_plane_state *state) { return container_of(state, struct vs_plane_state, base); } + +extern void sifive_l2_flush64_range(unsigned long start, unsigned long len); + #endif /* __VS_PLANE_H__ */ |