diff options
author | Liu Ying <victor.liu@nxp.com> | 2017-06-19 11:39:56 +0800 |
---|---|---|
committer | Jason Liu <jason.hui.liu@nxp.com> | 2019-02-12 10:29:48 +0800 |
commit | fd07deb37b4f06f763052ae8534ad0853a7057aa (patch) | |
tree | 1a8af23c052d7d243a4698656e22ef3348c00546 /include | |
parent | d96df95e798be5e3fd7496af8dfe737506e4c5a7 (diff) |
MLK-15110-15 gpu: imx: dpu: fetchdecode: Add DPR support
This patch adds DPR support for fetchdecode in the DPU base driver.
Signed-off-by: Liu Ying <victor.liu@nxp.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/video/dpu.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/video/dpu.h b/include/video/dpu.h index 71bb34632783..45d253e210dc 100644 --- a/include/video/dpu.h +++ b/include/video/dpu.h @@ -500,6 +500,39 @@ u32 fetchdecode_get_vproc_mask(struct dpu_fetchdecode *fd); bool fetchdecode_need_fetcheco(struct dpu_fetchdecode *fd, u32 fmt); unsigned int fetchdecode_get_stream_id(struct dpu_fetchdecode *fd); void fetchdecode_set_stream_id(struct dpu_fetchdecode *fd, unsigned int id); +void +fetchdecode_configure_prefetch(struct dpu_fetchdecode *fd, + 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 fetchdecode_enable_prefetch(struct dpu_fetchdecode *fd); +void fetchdecode_disable_prefetch(struct dpu_fetchdecode *fd); +void fetchdecode_reg_update_prefetch(struct dpu_fetchdecode *fd); +void fetchdecode_prefetch_irq_handle(struct dpu_fetchdecode *fd); +void fetchdecode_prefetch_enable_first_frame_irq(struct dpu_fetchdecode *fd); +bool fetchdecode_has_prefetch(struct dpu_fetchdecode *fd); +bool fetchdecode_prefetch_format_supported(struct dpu_fetchdecode *fd, + u32 format, u64 modifier); +bool fetchdecode_prefetch_stride_supported(struct dpu_fetchdecode *fd, + unsigned int stride, + unsigned int uv_stride, + unsigned int width, + u32 format); +bool fetchdecode_prefetch_crop_supported(struct dpu_fetchdecode *fd, + u64 modifier, u32 y_offset); +bool fetchdecode_prefetch_stride_double_check(struct dpu_fetchdecode *fd, + unsigned int stride, + unsigned int uv_stride, + unsigned int width, + u32 format, + dma_addr_t baseaddr, + dma_addr_t uv_baseaddr); +void fetchdecode_pin_off(struct dpu_fetchdecode *fd); +void fetchdecode_unpin_off(struct dpu_fetchdecode *fd); +bool fetchdecode_is_pinned_off(struct dpu_fetchdecode *fd); struct dpu_fetchdecode *dpu_fd_get(struct dpu_soc *dpu, int id); void dpu_fd_put(struct dpu_fetchdecode *fd); |