All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915: Fix scaler init during CRTC HW state readout
@ 2017-07-19 22:50 Imre Deak
  2017-07-19 22:50 ` [PATCH 2/2] drm/i915: Simplify scaler init during CRTC HW readout Imre Deak
                   ` (6 more replies)
  0 siblings, 7 replies; 26+ messages in thread
From: Imre Deak @ 2017-07-19 22:50 UTC (permalink / raw)
  To: intel-gfx
  Cc: Shashank Sharma, Ville Syrjälä, Chandra Konduru,
	Matt Roper, stable

The scaler allocation code depends on a non-zero default value for the
crtc scaler_id, so make sure we initialize the scaler state accordingly
even if the crtc is off. This fixes at least an initial YUV420 modeset
(added in a follow-up patchset by Shashank) when booting with the screen
off: after the initial HW readout and modeset which enables the scaler a
subsequent modeset will disable the scaler which isn't properly
allocated. This results in a funky HW state where the pipe scaler HW
registers can't be modified and the normally black screen is grey and
shifted to the right or jitters.

The problem was revealed by Shashank's YUV420 patchset and first
reported by Ville.

Cc: Shashank Sharma <shashank.sharma@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Chandra Konduru <chandra.konduru@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: <stable@vger.kernel.org> # 4.11.x
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Fixes: a1b2278e4dfc ("drm/i915: skylake panel fitting using shared scalers")
Signed-off-by: Imre Deak <imre.deak@intel.com>

---

[ Older stable versions need backporting, so that's for a follow-up ]
---
 drivers/gpu/drm/i915/intel_display.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 7774f3465fbc..8a38e64b1931 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -9132,6 +9132,13 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
 	u64 power_domain_mask;
 	bool active;
 
+	if (INTEL_GEN(dev_priv) >= 9) {
+		intel_crtc_init_scalers(crtc, pipe_config);
+
+		pipe_config->scaler_state.scaler_id = -1;
+		pipe_config->scaler_state.scaler_users &= ~(1 << SKL_CRTC_INDEX);
+	}
+
 	power_domain = POWER_DOMAIN_PIPE(crtc->pipe);
 	if (!intel_display_power_get_if_enabled(dev_priv, power_domain))
 		return false;
@@ -9160,13 +9167,6 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
 	pipe_config->gamma_mode =
 		I915_READ(GAMMA_MODE(crtc->pipe)) & GAMMA_MODE_MODE_MASK;
 
-	if (INTEL_GEN(dev_priv) >= 9) {
-		intel_crtc_init_scalers(crtc, pipe_config);
-
-		pipe_config->scaler_state.scaler_id = -1;
-		pipe_config->scaler_state.scaler_users &= ~(1 << SKL_CRTC_INDEX);
-	}
-
 	power_domain = POWER_DOMAIN_PIPE_PANEL_FITTER(crtc->pipe);
 	if (intel_display_power_get_if_enabled(dev_priv, power_domain)) {
 		power_domain_mask |= BIT_ULL(power_domain);
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2017-07-21 15:03 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-19 22:50 [PATCH 1/2] drm/i915: Fix scaler init during CRTC HW state readout Imre Deak
2017-07-19 22:50 ` [PATCH 2/2] drm/i915: Simplify scaler init during CRTC HW readout Imre Deak
2017-07-21 13:14   ` Mahesh Kumar
2017-07-21 13:26     ` Imre Deak
2017-07-21 14:06       ` Mahesh Kumar
2017-07-21 14:33         ` Imre Deak
2017-07-19 23:09 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix scaler init during CRTC HW state readout Patchwork
2017-07-20  8:58 ` [PATCH 1/2] " Jani Nikula
2017-07-20  8:58   ` [Intel-gfx] " Jani Nikula
2017-07-20  9:25   ` Imre Deak
2017-07-20  9:25     ` [Intel-gfx] " Imre Deak
2017-07-20  9:41     ` Greg Kroah-Hartman
2017-07-20  9:41       ` Greg Kroah-Hartman
2017-07-20 11:26       ` Imre Deak
2017-07-20 11:26         ` [Intel-gfx] " Imre Deak
2017-07-20  9:33 ` ✓ Fi.CI.BAT: success for series starting with [1/2] " Patchwork
2017-07-20 11:28 ` [PATCH v2 1/2] " Imre Deak
2017-07-20 11:28   ` Imre Deak
2017-07-20 12:35 ` ✓ Fi.CI.BAT: success for series starting with [v2,1/2] drm/i915: Fix scaler init during CRTC HW state readout (rev2) Patchwork
2017-07-21 15:03   ` Imre Deak
2017-07-20 14:49 ` [PATCH 1/2] drm/i915: Fix scaler init during CRTC HW state readout Sharma, Shashank
2017-07-21 12:11   ` [Intel-gfx] " Mahesh Kumar
2017-07-21 12:50     ` Imre Deak
2017-07-21 12:50       ` [Intel-gfx] " Imre Deak
2017-07-21 13:06       ` Mahesh Kumar
2017-07-21 13:06         ` [Intel-gfx] " Mahesh Kumar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.