mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
drm/rockchip: vop2: disable layer mix when it's unused
If the layer pass through layer mix is unused, we need to disable alpha, at this time, the layer mix only used to transfer alpha to next mix. Change-Id: Ibd469b4fb61b41480297bc20c346e9ceefa61fc7 Signed-off-by: Sandy Huang <hjc@rock-chips.com>
This commit is contained in:
@@ -4497,13 +4497,16 @@ static void vop2_setup_alpha(struct vop2_video_port *vp,
|
||||
/* Transfer pixel alpha value to next mix */
|
||||
alpha_config.src_premulti_en = true;
|
||||
alpha_config.dst_premulti_en = true;
|
||||
alpha_config.src_pixel_alpha_en = true;
|
||||
alpha_config.src_pixel_alpha_en = false;
|
||||
alpha_config.src_glb_alpha_value = 0xff;
|
||||
alpha_config.dst_glb_alpha_value = 0xff;
|
||||
vop2_parse_alpha(&alpha_config, &alpha);
|
||||
|
||||
for (; i < hweight32(vp->win_mask); i++) {
|
||||
offset = (mixer_id + i - 1) * 0x10;
|
||||
|
||||
vop2_writel(vop2, src_color_ctrl_offset + offset, alpha.src_alpha_ctrl.val);
|
||||
vop2_writel(vop2, dst_color_ctrl_offset + offset, alpha.dst_color_ctrl.val);
|
||||
vop2_writel(vop2, src_alpha_ctrl_offset + offset, alpha.src_alpha_ctrl.val);
|
||||
vop2_writel(vop2, dst_alpha_ctrl_offset + offset, alpha.dst_alpha_ctrl.val);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user