[Intel-gfx] [PATCH 3/5] drm/i915: retrieve current fb config into new plane_config structure at init v4

Jesse Barnes jbarnes at virtuousgeek.org
Tue Nov 26 17:41:20 CET 2013


On Tue, 26 Nov 2013 13:57:10 +0000
Chris Wilson <chris at chris-wilson.co.uk> wrote:

> On Mon, Nov 25, 2013 at 03:51:17PM -0800, Jesse Barnes wrote:
> > Read out the current plane configuration at init time into a new
> > plane_config structure.  This allows us to track any existing
> > framebuffers attached to the plane and potentially re-use them in our
> > fbdev code for a smooth handoff.
> > 
> > v2: update for new pitch_for_width function (Jesse)
> >     comment how get_plane_config works with shared fbs (Jesse)
> > v3: s/ARGB/XRGB (Ville)
> >     use pipesrc width/height (Ville)
> >     fix fourcc comment (Bob)
> >     use drm_format_plane_cpp (Ville)
> > v4: use fb for tracking fb data object (Ville)
> > 
> > Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> > ---
> 
> > @@ -10879,6 +10992,18 @@ void intel_modeset_init(struct drm_device *dev)
> >  
> >  	/* Just in case the BIOS is doing something questionable. */
> >  	intel_disable_fbc(dev);
> > +
> > +	intel_modeset_setup_hw_state(dev, false);
> > +
> > +	list_for_each_entry(crtc, &dev->mode_config.crtc_list,
> > +			    base.head) {
> > +		if (!crtc->active)
> > +			continue;
> > +
> > +		if (dev_priv->display.get_plane_config)
> > +			dev_priv->display.get_plane_config(crtc,
> > +							   &crtc->plane_config);
> 
> The trick is that here if we do not retreive the current config,
> including the preallocated fb, we *must* disable the output. In this
> case, it would be a step in intel_sanitize_crtc() to disable the CRTC if
> it is enabled but we have no preserved fb.

Yeah, but I thought since that's been broken for awhile, it should come
in as a separate bug fix.  I can do a patch on top of this if the rest
looks ok.

-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list