summaryrefslogtreecommitdiff
path: root/include/video
diff options
context:
space:
mode:
authorLiu Ying <victor.liu@nxp.com>2019-09-03 15:16:54 -0400
committerLiu Ying <victor.liu@nxp.com>2019-09-20 10:13:15 +0800
commitfa255179b61690e19958f8dff91e982e215c8a9e (patch)
treee8add94d50f0a6b09a977057592a9d1876df4f26 /include/video
parent21c5cd2f1b37f67682af5dc50230e986e83fcac2 (diff)
MLK-22600-1 drm/imx: dpu: kms: Support proper default blend mode
Without the new blend modes("None", "Pre-multiplied" and "Coverage") introduced in the below commit, the old userspace assumes alpha in pixel is per-premultiplied by default. So, let's support the default blend mode properly. commit 468dba6432ca ("drm: Add per-plane pixel blend mode property") Signed-off-by: Liu Ying <victor.liu@nxp.com> (cherry picked from commit ebb7b4874493a8fb42de636e9421877a54399177)
Diffstat (limited to 'include/video')
-rw-r--r--include/video/dpu.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/video/dpu.h b/include/video/dpu.h
index a5ad5000dd50..1fc5b2c200dd 100644
--- a/include/video/dpu.h
+++ b/include/video/dpu.h
@@ -477,6 +477,8 @@ 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 (*enable_src_buf)(struct dpu_fetchunit *fu);
void (*disable_src_buf)(struct dpu_fetchunit *fu);
bool (*is_enabled)(struct dpu_fetchunit *fu);
@@ -678,7 +680,7 @@ 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, bool sec_from_scaler);
+void layerblend_blendcontrol(struct dpu_layerblend *lb, unsigned int zpos);
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);
@@ -790,6 +792,7 @@ 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_enable_src_buf(struct dpu_fetchunit *fu);
void fetchunit_disable_src_buf(struct dpu_fetchunit *fu);
bool fetchunit_is_enabled(struct dpu_fetchunit *fu);