Loading drivers/gpu/drm/msm/sde/sde_hw_top.c +14 −0 Original line number Diff line number Diff line Loading @@ -394,6 +394,19 @@ void sde_hw_reset_ubwc(struct sde_hw_mdp *mdp, struct sde_mdss_cfg *m) } } static void sde_hw_intf_dp_select(struct sde_hw_mdp *mdp, struct sde_mdss_cfg *m) { struct sde_hw_blk_reg_map *c; if (!mdp) return; c = &mdp->hw; SDE_REG_WRITE(c, DP_PHY_INTF_SEL, 0x41); } static void sde_hw_intf_audio_select(struct sde_hw_mdp *mdp) { struct sde_hw_blk_reg_map *c; Loading Loading @@ -472,6 +485,7 @@ static void _setup_mdp_ops(struct sde_hw_mdp_ops *ops, ops->get_split_flush_status = sde_hw_get_split_flush; ops->setup_dce = sde_hw_setup_dce; ops->reset_ubwc = sde_hw_reset_ubwc; ops->intf_dp_select = sde_hw_intf_dp_select; ops->intf_audio_select = sde_hw_intf_audio_select; ops->set_mdp_hw_events = sde_hw_mdp_events; if (cap & BIT(SDE_MDP_VSYNC_SEL)) Loading drivers/gpu/drm/msm/sde/sde_hw_top.h +7 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,13 @@ struct sde_hw_mdp_ops { */ void (*reset_ubwc)(struct sde_hw_mdp *mdp, struct sde_mdss_cfg *m); /** * intf_dp_select - select phy for DP controller * @mdp: mdp top context driver * @m: pointer to mdss catalog data */ void (*intf_dp_select)(struct sde_hw_mdp *mdp, struct sde_mdss_cfg *m); /** * intf_audio_select - select the external interface for audio * @mdp: mdp top context driver Loading drivers/gpu/drm/msm/sde/sde_hwio.h +2 −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 @@ -58,6 +58,7 @@ #define MDP_OUT_CTL_0 0x410 #define MDP_VSYNC_SEL 0x414 #define DCE_SEL 0x450 #define DP_PHY_INTF_SEL 0x460 /* SDE_SCALER_QSEED3 */ #define QSEED3_COEF_LUT_OFF 0x100 Loading drivers/gpu/drm/msm/sde/sde_kms.c +4 −0 Original line number Diff line number Diff line Loading @@ -3058,6 +3058,10 @@ static void sde_kms_init_shared_hw(struct sde_kms *sde_kms) if (!sde_kms || !sde_kms->hw_mdp || !sde_kms->catalog) return; if (sde_kms->hw_mdp->ops.intf_dp_select) sde_kms->hw_mdp->ops.intf_dp_select(sde_kms->hw_mdp, sde_kms->catalog); if (sde_kms->hw_mdp->ops.reset_ubwc) sde_kms->hw_mdp->ops.reset_ubwc(sde_kms->hw_mdp, sde_kms->catalog); Loading Loading
drivers/gpu/drm/msm/sde/sde_hw_top.c +14 −0 Original line number Diff line number Diff line Loading @@ -394,6 +394,19 @@ void sde_hw_reset_ubwc(struct sde_hw_mdp *mdp, struct sde_mdss_cfg *m) } } static void sde_hw_intf_dp_select(struct sde_hw_mdp *mdp, struct sde_mdss_cfg *m) { struct sde_hw_blk_reg_map *c; if (!mdp) return; c = &mdp->hw; SDE_REG_WRITE(c, DP_PHY_INTF_SEL, 0x41); } static void sde_hw_intf_audio_select(struct sde_hw_mdp *mdp) { struct sde_hw_blk_reg_map *c; Loading Loading @@ -472,6 +485,7 @@ static void _setup_mdp_ops(struct sde_hw_mdp_ops *ops, ops->get_split_flush_status = sde_hw_get_split_flush; ops->setup_dce = sde_hw_setup_dce; ops->reset_ubwc = sde_hw_reset_ubwc; ops->intf_dp_select = sde_hw_intf_dp_select; ops->intf_audio_select = sde_hw_intf_audio_select; ops->set_mdp_hw_events = sde_hw_mdp_events; if (cap & BIT(SDE_MDP_VSYNC_SEL)) Loading
drivers/gpu/drm/msm/sde/sde_hw_top.h +7 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,13 @@ struct sde_hw_mdp_ops { */ void (*reset_ubwc)(struct sde_hw_mdp *mdp, struct sde_mdss_cfg *m); /** * intf_dp_select - select phy for DP controller * @mdp: mdp top context driver * @m: pointer to mdss catalog data */ void (*intf_dp_select)(struct sde_hw_mdp *mdp, struct sde_mdss_cfg *m); /** * intf_audio_select - select the external interface for audio * @mdp: mdp top context driver Loading
drivers/gpu/drm/msm/sde/sde_hwio.h +2 −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 @@ -58,6 +58,7 @@ #define MDP_OUT_CTL_0 0x410 #define MDP_VSYNC_SEL 0x414 #define DCE_SEL 0x450 #define DP_PHY_INTF_SEL 0x460 /* SDE_SCALER_QSEED3 */ #define QSEED3_COEF_LUT_OFF 0x100 Loading
drivers/gpu/drm/msm/sde/sde_kms.c +4 −0 Original line number Diff line number Diff line Loading @@ -3058,6 +3058,10 @@ static void sde_kms_init_shared_hw(struct sde_kms *sde_kms) if (!sde_kms || !sde_kms->hw_mdp || !sde_kms->catalog) return; if (sde_kms->hw_mdp->ops.intf_dp_select) sde_kms->hw_mdp->ops.intf_dp_select(sde_kms->hw_mdp, sde_kms->catalog); if (sde_kms->hw_mdp->ops.reset_ubwc) sde_kms->hw_mdp->ops.reset_ubwc(sde_kms->hw_mdp, sde_kms->catalog); Loading