[Intel-gfx] [RFC] drm/i915: read current config at init time to avoid flicker
Jesse Barnes
jbarnes at virtuousgeek.org
Thu Mar 1 23:51:40 CET 2012
On Thu, 01 Mar 2012 22:41:45 +0000
Chris Wilson <chris at chris-wilson.co.uk> wrote:
> On Thu, 1 Mar 2012 14:18:58 -0800, Jesse Barnes
> <jbarnes at virtuousgeek.org> wrote:
> > @@ -2427,6 +2448,8 @@ intel_dp_init(struct drm_device *dev, int
> > output_reg) intel_connector_attach_encoder(intel_connector,
> > intel_encoder); drm_sysfs_connector_add(connector);
> >
> > + intel_encoder->base.crtc =
> > intel_dp_get_crtc(&intel_encoder->base);
> intel_encoder->base.crtc =
> dev_priv->pipe_to_crtc_mapping[intel_dp_get_pipe(intel_dp)]
>
> As the pipe-to-crtc mapping is already established by this point, and
> indeed used in the LVDS chunk, you may as well use it here.
Ah yeah good point, that saves a bit of code.
Unfortunately, the dp code will still shut off the panel in ->prepare.
To avoid that at boot time, we need a valid fb...
An easy approach might be to allocate a bo of the appropriate size at
CRTC init time, and create an fb for it like we do in the intel_fb.c
code. We can simply memcpy from the current base into the new bo, flip
to it, and have a valid crtc->fb from very early on...
Jesse
More information about the Intel-gfx
mailing list