[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