From mboxrd@z Thu Jan 1 00:00:00 1970 From: Damien Lespiau Subject: Re: [PATCH 04/14] drm/i915: Use adjusted_mode in intel_update_fbc() Date: Tue, 10 Sep 2013 15:45:40 +0100 Message-ID: <20130910144540.GD16273@strange.amr.corp.intel.com> References: <1378308331-21388-1-git-send-email-ville.syrjala@linux.intel.com> <1378308331-21388-5-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 2D656E71F4 for ; Tue, 10 Sep 2013 07:45:43 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1378308331-21388-5-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Wed, Sep 04, 2013 at 06:25:21PM +0300, ville.syrjala@linux.intel.com wro= te: > From: Ville Syrj=E4l=E4 > = > Check the mode flags from the adjusted_mode, not user requested mode. > The hdisplay/vdisplay check actually checkes the primary plane size, > so those still need to come from the user requested mode. > = > Extract both modes from pipe config instead of the drm_crtc. > = > Signed-off-by: Ville Syrj=E4l=E4 Reviewed-by: Damien Lespiau -- = Damien > --- > drivers/gpu/drm/i915/intel_pm.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > = > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel= _pm.c > index 0c115cc..af1f4de 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -458,6 +458,8 @@ void intel_update_fbc(struct drm_device *dev) > struct drm_framebuffer *fb; > struct intel_framebuffer *intel_fb; > struct drm_i915_gem_object *obj; > + const struct drm_display_mode *mode; > + const struct drm_display_mode *adjusted_mode; > unsigned int max_hdisplay, max_vdisplay; > = > if (!I915_HAS_FBC(dev)) { > @@ -502,6 +504,8 @@ void intel_update_fbc(struct drm_device *dev) > fb =3D crtc->fb; > intel_fb =3D to_intel_framebuffer(fb); > obj =3D intel_fb->obj; > + mode =3D &intel_crtc->config.requested_mode; > + adjusted_mode =3D &intel_crtc->config.adjusted_mode; > = > if (i915_enable_fbc < 0 && > INTEL_INFO(dev)->gen <=3D 7 && !IS_HASWELL(dev)) { > @@ -514,8 +518,8 @@ void intel_update_fbc(struct drm_device *dev) > DRM_DEBUG_KMS("fbc disabled per module param\n"); > goto out_disable; > } > - if ((crtc->mode.flags & DRM_MODE_FLAG_INTERLACE) || > - (crtc->mode.flags & DRM_MODE_FLAG_DBLSCAN)) { > + if ((adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) || > + (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN)) { > if (set_no_fbc_reason(dev_priv, FBC_UNSUPPORTED_MODE)) > DRM_DEBUG_KMS("mode incompatible with compression, " > "disabling\n"); > @@ -529,8 +533,8 @@ void intel_update_fbc(struct drm_device *dev) > max_hdisplay =3D 2048; > max_vdisplay =3D 1536; > } > - if ((crtc->mode.hdisplay > max_hdisplay) || > - (crtc->mode.vdisplay > max_vdisplay)) { > + if ((mode->hdisplay > max_hdisplay) || > + (mode->vdisplay > max_vdisplay)) { > if (set_no_fbc_reason(dev_priv, FBC_MODE_TOO_LARGE)) > DRM_DEBUG_KMS("mode too large for compression, disabling\n"); > goto out_disable; > -- = > 1.8.1.5 > = > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx