diff options
| author | Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> | 2018-03-12 23:46:45 -0400 |
|---|---|---|
| committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2018-03-21 16:23:11 -0400 |
| commit | b90eed08d8d0f07f9f08074645d4470e121ff6f5 (patch) | |
| tree | c92264e6f8477f5e66047d5befd4f4baa61482a3 /drivers/gpu/drm/i915/intel_psr.c | |
| parent | 9153e6b7c85edbc89e874e5c83f86217c53dcfaf (diff) | |
drm/i915/psr: Move PSR aux setup to it's own function.
Non-functional change useful for the following patch.
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180313034646.3721-1-dhinakaran.pandiyan@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_psr.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_psr.c | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c index 317cb4a12693..2c001f4fba3e 100644 --- a/drivers/gpu/drm/i915/intel_psr.c +++ b/drivers/gpu/drm/i915/intel_psr.c | |||
| @@ -246,7 +246,7 @@ static i915_reg_t psr_aux_data_reg(struct drm_i915_private *dev_priv, | |||
| 246 | return EDP_PSR_AUX_DATA(index); | 246 | return EDP_PSR_AUX_DATA(index); |
| 247 | } | 247 | } |
| 248 | 248 | ||
| 249 | static void hsw_psr_enable_sink(struct intel_dp *intel_dp) | 249 | static void hsw_psr_setup_aux(struct intel_dp *intel_dp) |
| 250 | { | 250 | { |
| 251 | struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); | 251 | struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); |
| 252 | struct drm_device *dev = dig_port->base.base.dev; | 252 | struct drm_device *dev = dig_port->base.base.dev; |
| @@ -267,6 +267,24 @@ static void hsw_psr_enable_sink(struct intel_dp *intel_dp) | |||
| 267 | BUILD_BUG_ON(sizeof(aux_msg) > 20); | 267 | BUILD_BUG_ON(sizeof(aux_msg) > 20); |
| 268 | 268 | ||
| 269 | aux_clock_divider = intel_dp->get_aux_clock_divider(intel_dp, 0); | 269 | aux_clock_divider = intel_dp->get_aux_clock_divider(intel_dp, 0); |
| 270 | aux_ctl_reg = psr_aux_ctl_reg(dev_priv, port); | ||
| 271 | |||
| 272 | /* Setup AUX registers */ | ||
| 273 | for (i = 0; i < sizeof(aux_msg); i += 4) | ||
| 274 | I915_WRITE(psr_aux_data_reg(dev_priv, port, i >> 2), | ||
| 275 | intel_dp_pack_aux(&aux_msg[i], sizeof(aux_msg) - i)); | ||
| 276 | |||
| 277 | aux_ctl = intel_dp->get_aux_send_ctl(intel_dp, 0, sizeof(aux_msg), | ||
| 278 | aux_clock_divider); | ||
| 279 | I915_WRITE(aux_ctl_reg, aux_ctl); | ||
| 280 | } | ||
| 281 | |||
| 282 | static void hsw_psr_enable_sink(struct intel_dp *intel_dp) | ||
| 283 | { | ||
| 284 | struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); | ||
| 285 | struct drm_device *dev = dig_port->base.base.dev; | ||
| 286 | struct drm_i915_private *dev_priv = to_i915(dev); | ||
| 287 | |||
| 270 | 288 | ||
| 271 | /* Enable AUX frame sync at sink */ | 289 | /* Enable AUX frame sync at sink */ |
| 272 | if (dev_priv->psr.aux_frame_sync) | 290 | if (dev_priv->psr.aux_frame_sync) |
| @@ -285,16 +303,7 @@ static void hsw_psr_enable_sink(struct intel_dp *intel_dp) | |||
| 285 | drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, | 303 | drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, |
| 286 | DP_PSR_ENABLE); | 304 | DP_PSR_ENABLE); |
| 287 | 305 | ||
| 288 | aux_ctl_reg = psr_aux_ctl_reg(dev_priv, port); | 306 | hsw_psr_setup_aux(intel_dp); |
| 289 | |||
| 290 | /* Setup AUX registers */ | ||
| 291 | for (i = 0; i < sizeof(aux_msg); i += 4) | ||
| 292 | I915_WRITE(psr_aux_data_reg(dev_priv, port, i >> 2), | ||
| 293 | intel_dp_pack_aux(&aux_msg[i], sizeof(aux_msg) - i)); | ||
| 294 | |||
| 295 | aux_ctl = intel_dp->get_aux_send_ctl(intel_dp, 0, sizeof(aux_msg), | ||
| 296 | aux_clock_divider); | ||
| 297 | I915_WRITE(aux_ctl_reg, aux_ctl); | ||
| 298 | } | 307 | } |
| 299 | 308 | ||
| 300 | static void vlv_psr_enable_source(struct intel_dp *intel_dp, | 309 | static void vlv_psr_enable_source(struct intel_dp *intel_dp, |
