From 68e0ff911ab63494bb2cb1a0365c20309c951f8e Mon Sep 17 00:00:00 2001 From: Liu Ying Date: Tue, 17 Sep 2019 09:44:58 +0800 Subject: drm/imx: dpu: plane: Support multiple pixel blend modes This patch adds mulitple pixel blend modes for DPU plane. The modes are "None", "Pre-multiplied" and "Coverage". Signed-off-by: Liu Ying --- include/video/dpu.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'include/video') diff --git a/include/video/dpu.h b/include/video/dpu.h index 45eac1bab0ff..745676efe21a 100644 --- a/include/video/dpu.h +++ b/include/video/dpu.h @@ -350,7 +350,9 @@ struct dpu_fetchunit_ops { void (*set_fmt)(struct dpu_fetchunit *fu, u32 fmt, bool deinterlace); - void (*set_pixel_blend_mode)(struct dpu_fetchunit *fu, u32 fb_format); + void (*set_pixel_blend_mode)(struct dpu_fetchunit *fu, + unsigned int pixel_blend_mode, u16 alpha, + u32 fb_format); void (*enable_src_buf)(struct dpu_fetchunit *fu); void (*disable_src_buf)(struct dpu_fetchunit *fu); @@ -548,7 +550,8 @@ void layerblend_shden(struct dpu_layerblend *lb, bool enable); void layerblend_shdtoksel(struct dpu_layerblend *lb, lb_shadow_sel_t sel); void layerblend_shdldsel(struct dpu_layerblend *lb, lb_shadow_sel_t sel); void layerblend_control(struct dpu_layerblend *lb, lb_mode_t mode); -void layerblend_blendcontrol(struct dpu_layerblend *lb, unsigned int zpos); +void layerblend_blendcontrol(struct dpu_layerblend *lb, unsigned int zpos, + unsigned int pixel_blend_mode, u16 alpha); void layerblend_position(struct dpu_layerblend *lb, int x, int y); struct dpu_layerblend *dpu_lb_get(struct dpu_soc *dpu, int id); void dpu_lb_put(struct dpu_layerblend *lb); @@ -633,7 +636,9 @@ void fetchunit_set_src_stride(struct dpu_fetchunit *fu, unsigned int width, unsigned int x_offset, unsigned int mt_w, int bpp, unsigned int stride, dma_addr_t baddr, bool use_prefetch); -void fetchunit_set_pixel_blend_mode(struct dpu_fetchunit *fu, u32 fb_format); +void fetchunit_set_pixel_blend_mode(struct dpu_fetchunit *fu, + unsigned int pixel_blend_mode, u16 alpha, + u32 fb_format); void fetchunit_enable_src_buf(struct dpu_fetchunit *fu); void fetchunit_disable_src_buf(struct dpu_fetchunit *fu); bool fetchunit_is_enabled(struct dpu_fetchunit *fu); -- cgit v1.2.3