summaryrefslogtreecommitdiff
path: root/include/video
diff options
context:
space:
mode:
authorLiu Ying <victor.liu@nxp.com>2018-04-09 17:15:54 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:31:12 +0800
commit0098f265d5f9d3a3afabf2245b1c7e87284d0d1e (patch)
tree8424758a34fa8fae20409d3dff3a6fee9a3b4ff5 /include/video
parent93d7400ab1366cc2751078b01224bba5e116da37 (diff)
MLK-17991-2 gpu: imx: dpu: common: Add some prefetch engine helpers support
This patch adds some prefetch engine helpers support in the dpu common driver so that callers may deal with the prefetch engines of the fetch units the callers are interested in. Signed-off-by: Liu Ying <victor.liu@nxp.com>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/dpu.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/include/video/dpu.h b/include/video/dpu.h
index 518f6bb56d21..ef010d67fcbd 100644
--- a/include/video/dpu.h
+++ b/include/video/dpu.h
@@ -739,6 +739,42 @@ u32 dpu_vproc_get_fetcheco_cap(u32 cap_mask);
u32 dpu_vproc_get_hscale_cap(u32 cap_mask);
u32 dpu_vproc_get_vscale_cap(u32 cap_mask);
+bool fetchunit_has_prefetch(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl);
+bool fetchunit_prefetch_format_supported(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl,
+ u32 format, u64 modifier);
+bool fetchunit_prefetch_stride_supported(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl,
+ unsigned int stride,
+ unsigned int uv_stride,
+ unsigned int width,
+ u32 format);
+bool fetchunit_prefetch_stride_double_check(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl,
+ unsigned int stride,
+ unsigned int uv_stride,
+ unsigned int width,
+ u32 format,
+ dma_addr_t baseaddr,
+ dma_addr_t uv_baseaddr);
+void fetchunit_configure_prefetch(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl,
+ unsigned int stream_id,
+ unsigned int width, unsigned int height,
+ unsigned int x_offset, unsigned int y_offset,
+ unsigned int stride, u32 format, u64 modifier,
+ unsigned long baddr, unsigned long uv_baddr,
+ bool start, bool aux_start);
+void fetchunit_enable_prefetch(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl);
+void fetchunit_reg_update_prefetch(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl);
+void fetchunit_prefetch_first_frame_handle(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl);
+void fetchunit_disable_prefetch(struct dpu_fetchdecode *fd,
+ struct dpu_fetchlayer *fl);
+
/* dpu blit engine */
struct dpu_bliteng;
int dpu_bliteng_init(struct dpu_bliteng *dpu_bliteng);