From 4f990cdc9179309c2e03d6a978a179b791c284fb Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Tue, 9 Feb 2016 16:03:42 -0500 Subject: [PATCH 0785/1110] drm/amd/dal: Use reg offset to handle blndv programming Using offsets to handle blndv programming, leaving the code path generic Signed-off-by: Eric Yang Acked-by: Jordan Lazare --- .../drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 48 ++++++++-------------- 1 file changed, 17 insertions(+), 31 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c index 946e42f..43840c1 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c @@ -84,6 +84,11 @@ static const struct dce110_hw_seq_reg_offsets reg_offsets[] = { .dcfe = (mmDCFE2_DCFE_MEM_PWR_CTRL - mmDCFE_MEM_PWR_CTRL), .blnd = (mmBLND2_BLND_CONTROL - mmBLND_CONTROL), .crtc = (mmCRTC2_CRTC_GSL_CONTROL - mmCRTC_GSL_CONTROL), +}, +{ + .dcfe = (mmDCFEV_MEM_PWR_CTRL - mmDCFE_MEM_PWR_CTRL), + .blnd = (mmBLNDV_CONTROL - mmBLND_CONTROL), + .crtc = (mmCRTCV_GSL_CONTROL - mmCRTC_GSL_CONTROL), } }; @@ -352,7 +357,7 @@ static void dce110_set_blender_mode( uint32_t mode) { uint32_t value; - uint32_t addr = 0; + uint32_t addr = HW_REG_BLND(mmBLND_CONTROL, controller_id); uint32_t blnd_mode; uint32_t feedthrough = 0; @@ -372,39 +377,20 @@ static void dce110_set_blender_mode( break; } - if (controller_id == CONTROLLER_ID_UNDERLAY0) { - addr = mmBLNDV_CONTROL; - value = dm_read_reg(ctx, addr); - - set_reg_field_value( - value, - feedthrough, - BLNDV_CONTROL, - BLND_FEEDTHROUGH_EN); - - set_reg_field_value( - value, - blnd_mode, - BLNDV_CONTROL, - BLND_MODE); - + value = dm_read_reg(ctx, addr); - } else { - addr = HW_REG_BLND(mmBLND_CONTROL, controller_id); - value = dm_read_reg(ctx, addr); + set_reg_field_value( + value, + feedthrough, + BLND_CONTROL, + BLND_FEEDTHROUGH_EN); - set_reg_field_value( - value, - feedthrough, - BLND_CONTROL, - BLND_FEEDTHROUGH_EN); + set_reg_field_value( + value, + blnd_mode, + BLND_CONTROL, + BLND_MODE); - set_reg_field_value( - value, - blnd_mode, - BLND_CONTROL, - BLND_MODE); - } dm_write_reg(ctx, addr, value); } -- 2.7.4