Loading drivers/gpu/drm/msm/sde/sde_encoder.c +4 −0 Original line number Diff line number Diff line Loading @@ -908,6 +908,10 @@ void sde_encoder_helper_split_config( else cfg->pp_split_slave = INTF_MAX; if (topology == SDE_RM_TOPOLOGY_PPSPLIT && phys_enc->split_role == ENC_ROLE_SLAVE) cfg->pp_slave_intf = true; if (phys_enc->split_role == ENC_ROLE_MASTER) { SDE_DEBUG_ENC(sde_enc, "enable %d\n", cfg->en); Loading drivers/gpu/drm/msm/sde/sde_encoder_phys_cmd.c +2 −12 Original line number Diff line number Diff line Loading @@ -1127,8 +1127,8 @@ static void _sde_encoder_phys_cmd_pingpong_config( phys_enc->hw_pp->idx - PINGPONG_0); drm_mode_debug_printmodeline(&phys_enc->cached_mode); if (!_sde_encoder_phys_is_ppsplit_slave(phys_enc)) _sde_encoder_phys_cmd_update_intf_cfg(phys_enc); sde_encoder_phys_cmd_tearcheck_config(phys_enc); } Loading @@ -1144,18 +1144,8 @@ static void sde_encoder_phys_cmd_enable_helper( _sde_encoder_phys_cmd_pingpong_config(phys_enc); /* * For pp-split, skip setting the flush bit for the slave intf, since * both intfs use same ctl and HW will only flush the master. */ if (_sde_encoder_phys_is_ppsplit(phys_enc) && !sde_encoder_phys_cmd_is_master(phys_enc)) goto skip_flush; _sde_encoder_phys_cmd_update_flush_mask(phys_enc); skip_flush: return; } static void sde_encoder_phys_cmd_enable(struct sde_encoder_phys *phys_enc) Loading drivers/gpu/drm/msm/sde/sde_hw_intf.c +4 −1 Original line number Diff line number Diff line /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -402,6 +402,9 @@ static void sde_hw_intf_bind_pingpong_blk( if (intf->cfg.split_link_en) mux_cfg = 0x60000; if (intf->cfg.pp_slave_intf) mux_cfg = 0x6; SDE_REG_WRITE(c, INTF_MUX, mux_cfg); } Loading drivers/gpu/drm/msm/sde/sde_hw_top.h +2 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ struct traffic_shaper_cfg { * @split_flush_en: Allows both the paths to be flushed when master path is * flushed * @split_link_en: Check if split link is enabled * @pp_slave_intf: Check if this is pp slave interface */ struct split_pipe_cfg { bool en; Loading @@ -55,6 +56,7 @@ struct split_pipe_cfg { u32 pp_split_index; bool split_flush_en; bool split_link_en; bool pp_slave_intf; }; /** Loading Loading
drivers/gpu/drm/msm/sde/sde_encoder.c +4 −0 Original line number Diff line number Diff line Loading @@ -908,6 +908,10 @@ void sde_encoder_helper_split_config( else cfg->pp_split_slave = INTF_MAX; if (topology == SDE_RM_TOPOLOGY_PPSPLIT && phys_enc->split_role == ENC_ROLE_SLAVE) cfg->pp_slave_intf = true; if (phys_enc->split_role == ENC_ROLE_MASTER) { SDE_DEBUG_ENC(sde_enc, "enable %d\n", cfg->en); Loading
drivers/gpu/drm/msm/sde/sde_encoder_phys_cmd.c +2 −12 Original line number Diff line number Diff line Loading @@ -1127,8 +1127,8 @@ static void _sde_encoder_phys_cmd_pingpong_config( phys_enc->hw_pp->idx - PINGPONG_0); drm_mode_debug_printmodeline(&phys_enc->cached_mode); if (!_sde_encoder_phys_is_ppsplit_slave(phys_enc)) _sde_encoder_phys_cmd_update_intf_cfg(phys_enc); sde_encoder_phys_cmd_tearcheck_config(phys_enc); } Loading @@ -1144,18 +1144,8 @@ static void sde_encoder_phys_cmd_enable_helper( _sde_encoder_phys_cmd_pingpong_config(phys_enc); /* * For pp-split, skip setting the flush bit for the slave intf, since * both intfs use same ctl and HW will only flush the master. */ if (_sde_encoder_phys_is_ppsplit(phys_enc) && !sde_encoder_phys_cmd_is_master(phys_enc)) goto skip_flush; _sde_encoder_phys_cmd_update_flush_mask(phys_enc); skip_flush: return; } static void sde_encoder_phys_cmd_enable(struct sde_encoder_phys *phys_enc) Loading
drivers/gpu/drm/msm/sde/sde_hw_intf.c +4 −1 Original line number Diff line number Diff line /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -402,6 +402,9 @@ static void sde_hw_intf_bind_pingpong_blk( if (intf->cfg.split_link_en) mux_cfg = 0x60000; if (intf->cfg.pp_slave_intf) mux_cfg = 0x6; SDE_REG_WRITE(c, INTF_MUX, mux_cfg); } Loading
drivers/gpu/drm/msm/sde/sde_hw_top.h +2 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ struct traffic_shaper_cfg { * @split_flush_en: Allows both the paths to be flushed when master path is * flushed * @split_link_en: Check if split link is enabled * @pp_slave_intf: Check if this is pp slave interface */ struct split_pipe_cfg { bool en; Loading @@ -55,6 +56,7 @@ struct split_pipe_cfg { u32 pp_split_index; bool split_flush_en; bool split_link_en; bool pp_slave_intf; }; /** Loading