[Intel-gfx] [PATCH] Don't add panel_fixed_mode to the probed modes list at LVDS init time.

Stefano Avallone stavallo at unina.it
Fri Feb 13 14:50:45 CET 2009


On Thursday 12 February 2009 22:17:58 Jesse Barnes wrote:
> On Thursday, February 12, 2009 11:34 am Steve Aarnio wrote:
> > In the case where no EDID data is read from the device adding the
> > panel_fixed_mode pointer to the probed modes list causes data corruption.
> >
> > If the panel_fixed_mode pointer is added to the probed modes list at
> > init time, a copy of the mode is added again at drm_get_modes() request
> > time.  Then, the panel_fixed_mode pointer is freed because it is seen as
> > a duplicate mode.  Unfortunately, this pointer is still stored and used
> > in mode_fixup().
> >
> > Because the panel_fixed_mode data is copied and returned at
> > drm_get_modes() time, it is unnecessary to add this information at init
> > time.
> >
> > ---
> >   drivers/gpu/drm/i915/intel_lvds.c |    2 --
> >   1 files changed, 0 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_lvds.c
> > b/drivers/gpu/drm/i915/intel_lvds.c
> > index 6d4f912..0d211af 100644
> > --- a/drivers/gpu/drm/i915/intel_lvds.c
> > +++ b/drivers/gpu/drm/i915/intel_lvds.c
> > @@ -481,8 +481,6 @@ void intel_lvds_init(struct drm_device *dev)
> >   		if (dev_priv->panel_fixed_mode) {
> >   			dev_priv->panel_fixed_mode->type |=
> >   				DRM_MODE_TYPE_PREFERRED;
> > -			drm_mode_probed_add(connector,
> > -				dev_priv->panel_fixed_mode);
> >   			goto out;
> >   		}
> >   	}
>
> Looks good, we should get this upstream asap.  Something we could do in the
> future to clean things up a bit more would be to make the VBT mode
> detection dynamic (no more "panel_fixed_mode" field in dev_priv), but until
> then we'll need to handle it specially.
>
> Acked-by: Jesse Barnes <jbarnes at virtuousgeek.org>
>
> Thanks,

My laptop with GM965 fell in the "no EDID data" case and I was unable to start 
the X server under KMS. Applying this patch, the X server starts and works 
(with UXA) !

I know that KMS is still experimental, but I wanted to note that:

- the X server does not start at the maximum resolution (1024x768 instead of 
1280x800) despite the maximum resolution is shown in the modeline reported by 
modetest (see also attached syslog)

- under KMS, there seems to be some loss in performance (compositing effects 
are less smooth)

thanks,
Stefano





-------------- next part --------------
A non-text attachment was scrubbed...
Name: kms.log
Type: text/x-log
Size: 7410 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20090213/30cdef64/attachment.bin>


More information about the Intel-gfx mailing list