[Intel-gfx] [PATCH 1/3] drm/i915: Added a return type for panel fitter config functions
Akash Goel
akash.goel at intel.com
Mon Jun 23 10:27:04 CEST 2014
On Fri, 2014-06-20 at 15:03 +0100, Chris Wilson wrote:
> On Fri, Jun 20, 2014 at 07:25:52PM +0530, akash.goel at intel.com wrote:
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> > index 912e9c4..6117639 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -824,12 +824,15 @@ intel_dp_compute_config(struct intel_encoder *encoder,
> > if (is_edp(intel_dp) && intel_connector->panel.fixed_mode) {
> > intel_fixed_panel_mode(intel_connector->panel.fixed_mode,
> > adjusted_mode);
> > - if (!HAS_PCH_SPLIT(dev))
> > - intel_gmch_panel_fitting(intel_crtc, pipe_config,
> > - intel_connector->panel.fitting_mode);
> > - else
> > - intel_pch_panel_fitting(intel_crtc, pipe_config,
> > - intel_connector->panel.fitting_mode);
> > + if (!HAS_PCH_SPLIT(dev)) {
> > + if (!intel_gmch_panel_fitting(intel_crtc, pipe_config,
> > + intel_connector->panel.fitting_mode))
> > + return false;
> > + } else {
> > + if (!intel_pch_panel_fitting(intel_crtc, pipe_config,
> > + intel_connector->panel.fitting_mode))
> > + return false;
> > + }
> > }
> >
> > if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK)
> > @@ -3782,7 +3785,7 @@ intel_dp_set_property(struct drm_connector *connector,
> >
> > done:
> > if (intel_encoder->base.crtc)
> > - intel_crtc_restore_mode(intel_encoder->base.crtc);
> > + return intel_crtc_restore_mode(intel_encoder->base.crtc);
>
> But you don't unwind the property change after failure.
Sorry, will handle this in next version of the patch.
>
> >
> > return 0;
> > }
> > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> > index ab5962b..860d531 100644
> > --- a/drivers/gpu/drm/i915/intel_drv.h
> > +++ b/drivers/gpu/drm/i915/intel_drv.h
> > @@ -727,7 +727,7 @@ void intel_mark_busy(struct drm_device *dev);
> > void intel_mark_fb_busy(struct drm_i915_gem_object *obj,
> > struct intel_engine_cs *ring);
> > void intel_mark_idle(struct drm_device *dev);
> > -void intel_crtc_restore_mode(struct drm_crtc *crtc);
> > +int intel_crtc_restore_mode(struct drm_crtc *crtc);
> > void intel_crtc_update_dpms(struct drm_crtc *crtc);
> > void intel_encoder_destroy(struct drm_encoder *encoder);
> > void intel_connector_dpms(struct drm_connector *, int mode);
> > @@ -918,10 +918,10 @@ int intel_panel_init(struct intel_panel *panel,
> > void intel_panel_fini(struct intel_panel *panel);
> > void intel_fixed_panel_mode(const struct drm_display_mode *fixed_mode,
> > struct drm_display_mode *adjusted_mode);
> > -void intel_pch_panel_fitting(struct intel_crtc *crtc,
> > +bool intel_pch_panel_fitting(struct intel_crtc *crtc,
> > struct intel_crtc_config *pipe_config,
> > int fitting_mode);
> > -void intel_gmch_panel_fitting(struct intel_crtc *crtc,
> > +bool intel_gmch_panel_fitting(struct intel_crtc *crtc,
> > struct intel_crtc_config *pipe_config,
> > int fitting_mode);
>
> Only make significnt changes like this to one interface at a time.
Fine will split this patch in 2 parts.
> -Chris
>
More information about the Intel-gfx
mailing list