From: Lowry Li (Arm Technology China) Date: Wed, 15 May 2019 03:02:05 +0000 (+0100) Subject: drm/komeda: Clear enable bit in CU_INPUTx_CONTROL X-Git-Tag: platform-drivers-x86-v5.3-2~16^2~15^2~25 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0e52ab9ff0fc8a1cb9ea11c5fed4c2c4e47ae899;p=linux-platform-drivers-x86.git drm/komeda: Clear enable bit in CU_INPUTx_CONTROL Besides clearing the input ID to zero, D71 compiz also has input enable bit in CU_INPUTx_CONTROL which need to be cleared. Signed-off-by: Lowry Li (Arm Technology China) Reviewed-by: James Qian Wang (Arm Technology China) Signed-off-by: Liviu Dudau --- diff --git a/drivers/gpu/drm/arm/display/komeda/d71/d71_component.c b/drivers/gpu/drm/arm/display/komeda/d71/d71_component.c index 1f7a5d572b1a..7f4c23abc317 100644 --- a/drivers/gpu/drm/arm/display/komeda/d71/d71_component.c +++ b/drivers/gpu/drm/arm/display/komeda/d71/d71_component.c @@ -430,8 +430,18 @@ static void d71_component_disable(struct komeda_component *c) malidp_write32(reg, BLK_CONTROL, 0); - for (i = 0; i < c->max_active_inputs; i++) + for (i = 0; i < c->max_active_inputs; i++) { malidp_write32(reg, BLK_INPUT_ID0 + (i << 2), 0); + + /* Besides clearing the input ID to zero, D71 compiz also has + * input enable bit in CU_INPUTx_CONTROL which need to be + * cleared. + */ + if (has_bit(c->id, KOMEDA_PIPELINE_COMPIZS)) + malidp_write32(reg, CU_INPUT0_CONTROL + + i * CU_PER_INPUT_REGS * 4, + CU_INPUT_CTRL_ALPHA(0xFF)); + } } static void compiz_enable_input(u32 __iomem *id_reg,