]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/i915: move psr_setup_done to psr struct
authorRodrigo Vivi <rodrigo.vivi@gmail.com>
Fri, 23 May 2014 20:45:51 +0000 (13:45 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 26 May 2014 07:44:11 +0000 (09:44 +0200)
"Because our driver assumes only one panel is PSR capable, and we
already have other PSR information on dev_priv instead of intel_dp. If
we ever support multiple PSR panels, we'll have to move struct
i915_psr to intel_dp anyway." (by Paulo)

v2: Avoid more than one setup. Removing initialization
    and trusting allocation. (By Paulo Zanoni).
v3: rebase.
v4: Adding comment.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h

index 8f68678f361fb4797a9e3a7772917a66a1e0a413..0e1a496df1d1c76f5a88e1acb8fc1a2e8d1f891f 100644 (file)
@@ -650,6 +650,7 @@ struct i915_drrs {
 struct i915_psr {
        bool sink_support;
        bool source_ok;
+       bool setup_done;
 };
 
 enum intel_pch {
index 7f7df2c8eed3f88cd0fcab4ddc448cf39ca77a6a..3681088bb93e096a315db08ed8a704d81160d941 100644 (file)
@@ -1627,7 +1627,7 @@ static void intel_edp_psr_setup(struct intel_dp *intel_dp)
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct edp_vsc_psr psr_vsc;
 
-       if (intel_dp->psr_setup_done)
+       if (dev_priv->psr.setup_done)
                return;
 
        /* Prepare VSC packet as per EDP 1.3 spec, Table 3.10 */
@@ -1642,7 +1642,7 @@ static void intel_edp_psr_setup(struct intel_dp *intel_dp)
        I915_WRITE(EDP_PSR_DEBUG_CTL(dev), EDP_PSR_DEBUG_MASK_MEMUP |
                   EDP_PSR_DEBUG_MASK_HPD | EDP_PSR_DEBUG_MASK_LPSP);
 
-       intel_dp->psr_setup_done = true;
+       dev_priv->psr.setup_done = true;
 }
 
 static void intel_edp_psr_enable_sink(struct intel_dp *intel_dp)
@@ -4240,8 +4240,6 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
 
        intel_dp_aux_init(intel_dp, intel_connector);
 
-       intel_dp->psr_setup_done = false;
-
        if (!intel_edp_init_connector(intel_dp, intel_connector, &power_seq)) {
                drm_dp_aux_unregister_i2c_bus(&intel_dp->aux);
                if (is_edp(intel_dp)) {
index f1d5897c96cd0b2003195462a78e62fd936a624e..edecf89b7dba2f9226171c5aefec4024adf81ba7 100644 (file)
@@ -536,7 +536,6 @@ struct intel_dp {
        unsigned long last_power_cycle;
        unsigned long last_power_on;
        unsigned long last_backlight_off;
-       bool psr_setup_done;
        bool use_tps3;
        struct intel_connector *attached_connector;