lkml.org 
[lkml]   [2017]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH for 4.9 32/59] drm/i915/psr: disable psr2 for resolution greater than 32X20
    Date
    From: "Nagaraju, Vathsala" <vathsala.nagaraju@intel.com>

    [ Upstream commit acf45d11050abd751dcec986ab121cb2367dcbba ]

    PSR2 is restricted to work with panel resolutions upto 3200x2000,
    move the check to intel_psr_match_conditions and fully block psr.

    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Cc: Jim Bride <jim.bride@linux.intel.com>
    Suggested-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju@intel.com>
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/1484031746-20874-1-git-send-email-vathsala.nagaraju@intel.com
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    ---
    drivers/gpu/drm/i915/intel_psr.c | 15 ++++++++-------
    1 file changed, 8 insertions(+), 7 deletions(-)

    diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
    index 9b307cee3008..dff478498f05 100644
    --- a/drivers/gpu/drm/i915/intel_psr.c
    +++ b/drivers/gpu/drm/i915/intel_psr.c
    @@ -387,6 +387,13 @@ static bool intel_psr_match_conditions(struct intel_dp *intel_dp)
    return false;
    }

    + /* PSR2 is restricted to work with panel resolutions upto 3200x2000 */
    + if (intel_crtc->config->pipe_src_w > 3200 ||
    + intel_crtc->config->pipe_src_h > 2000) {
    + dev_priv->psr.psr2_support = false;
    + return false;
    + }
    +
    dev_priv->psr.source_ok = true;
    return true;
    }
    @@ -425,7 +432,6 @@ void intel_psr_enable(struct intel_dp *intel_dp)
    struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
    struct drm_device *dev = intel_dig_port->base.base.dev;
    struct drm_i915_private *dev_priv = to_i915(dev);
    - struct intel_crtc *crtc = to_intel_crtc(intel_dig_port->base.base.crtc);

    if (!HAS_PSR(dev)) {
    DRM_DEBUG_KMS("PSR not supported on this platform\n");
    @@ -452,12 +458,7 @@ void intel_psr_enable(struct intel_dp *intel_dp)
    hsw_psr_setup_vsc(intel_dp);

    if (dev_priv->psr.psr2_support) {
    - /* PSR2 is restricted to work with panel resolutions upto 3200x2000 */
    - if (crtc->config->pipe_src_w > 3200 ||
    - crtc->config->pipe_src_h > 2000)
    - dev_priv->psr.psr2_support = false;
    - else
    - skl_psr_setup_su_vsc(intel_dp);
    + skl_psr_setup_su_vsc(intel_dp);
    }

    /*
    --
    2.11.0
    \
     
     \ /
      Last update: 2017-09-14 19:29    [W:4.067 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site