From 2a5db87f82cb6b2763d5e07cc4eef8cd94e56395 Mon Sep 17 00:00:00 2001 From: Rodrigo Vivi Date: Thu, 7 Sep 2017 16:00:39 -0700 Subject: [PATCH] drm/i915/psr: Add setup VSC vfunc. Git-commit: 2a5db87f82cb6b2763d5e07cc4eef8cd94e56395 Patch-mainline: v4.15-rc1 References: FATE#322643 bsc#1055900 Continue on VLV PSR split with vfunc, let's also create one for setting up VSC. V2: Rebased on top of commit d2419ffc10e4 ("drm/i915: Plumb crtc_state to PSR enable/disable") Cc: Daniel Vetter Cc: Dhinakaran Pandiyan Cc: Vathsala Nagaraju Signed-off-by: Rodrigo Vivi Reviewed-by: Dhinakaran Pandiyan Link: https://patchwork.freedesktop.org/patch/msgid/20170907230041.22978-10-rodrigo.vivi@intel.com Acked-by: Takashi Iwai --- drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/intel_psr.c | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1183,6 +1183,7 @@ struct i915_psr { void (*disable_source)(struct intel_dp *, const struct intel_crtc_state *); void (*activate)(struct intel_dp *); + void (*setup_vsc)(struct intel_dp *, const struct intel_crtc_state *); }; enum intel_pch { --- a/drivers/gpu/drm/i915/intel_psr.c +++ b/drivers/gpu/drm/i915/intel_psr.c @@ -540,18 +540,15 @@ void intel_psr_enable(struct intel_dp *i dev_priv->psr.busy_frontbuffer_bits = 0; - if (HAS_DDI(dev_priv)) { - - hsw_psr_setup_vsc(intel_dp, crtc_state); + dev_priv->psr.setup_vsc(intel_dp, crtc_state); + if (HAS_DDI(dev_priv)) { /* Enable PSR on the panel */ hsw_psr_enable_sink(intel_dp); hsw_psr_enable_source(intel_dp, crtc_state); } else { - vlv_psr_setup_vsc(intel_dp, crtc_state); - /* Enable PSR on the panel */ vlv_psr_enable_sink(intel_dp); @@ -983,8 +980,10 @@ void intel_psr_init(struct drm_i915_priv if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) { dev_priv->psr.disable_source = vlv_psr_disable; dev_priv->psr.activate = vlv_psr_activate; + dev_priv->psr.setup_vsc = vlv_psr_setup_vsc; } else { dev_priv->psr.disable_source = hsw_psr_disable; dev_priv->psr.activate = hsw_psr_activate; + dev_priv->psr.setup_vsc = hsw_psr_setup_vsc; } }