2009/12/22 Michel Dänzer <mic...@daenzer.net>: > On Tue, 2009-12-22 at 09:30 -0500, Alex Deucher wrote: >> >From 7c30bc1d04bd87dff00ff80c3cf7d8a0b8cf3e34 Mon Sep 17 00:00:00 2001 >> From: Alex Deucher <alexdeuc...@gmail.com> >> Date: Tue, 22 Dec 2009 09:25:22 -0500 >> Subject: [PATCH] drm/radeon/kms: add cvt mode if we only have lvds w/h >> and no edid >> >> This fixes LVDS on some mac laptops without a panel edid. >> >> Signed-off-by: Alex Deucher <alexdeuc...@gmail.com> >> --- >> drivers/gpu/drm/radeon/radeon_connectors.c | 5 +++++ >> 1 files changed, 5 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c >> b/drivers/gpu/drm/radeon/radeon_connectors.c >> index 8da06e1..0cbd3ef 100644 >> --- a/drivers/gpu/drm/radeon/radeon_connectors.c >> +++ b/drivers/gpu/drm/radeon/radeon_connectors.c >> @@ -208,6 +208,11 @@ static struct drm_display_mode >> *radeon_fp_native_mode(struct drm_encoder *encode >> drm_mode_set_name(mode); >> >> DRM_DEBUG("Adding native panel mode %s\n", mode->name); >> + } else if (native_mode->hdisplay != 0 && >> + native_mode->vdisplay != 0) { >> + /* mac laptops without an edid */ >> + mode = drm_cvt_mode(dev, native_mode->hdisplay, >> native_mode->vdisplay, 60, true, false, false); >> + DRM_DEBUG("Adding native panel mode %s\n", mode->name); > > Might be worth reflecting in the message that it's not really the native > mode but a generated approximation of it.
Updated patch (v3) attached. Alex
From c71e0d7cc0af8958168b0a934caffde310c77b0b Mon Sep 17 00:00:00 2001 From: Alex Deucher <alexdeuc...@gmail.com> Date: Tue, 22 Dec 2009 09:36:20 -0500 Subject: [PATCH] drm/radeon/kms: add cvt mode if we only have lvds w/h and no edid (v3) This fixes LVDS on some mac laptops without a panel edid. v2 - Set proper mode type flags v3 - Note that this is not neceesarily the exact panel mode, but an approximation based on the cvt formula. For these systems we should ideally read the mode info out of the registers or add a mode table, but this works and is much simpler. Signed-off-by: Alex Deucher <alexdeuc...@gmail.com> --- drivers/gpu/drm/radeon/radeon_connectors.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 8da06e1..b05ed89 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -208,6 +208,12 @@ static struct drm_display_mode *radeon_fp_native_mode(struct drm_encoder *encode drm_mode_set_name(mode); DRM_DEBUG("Adding native panel mode %s\n", mode->name); + } else if (native_mode->hdisplay != 0 && + native_mode->vdisplay != 0) { + /* mac laptops without an edid */ + mode = drm_cvt_mode(dev, native_mode->hdisplay, native_mode->vdisplay, 60, true, false, false); + mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER; + DRM_DEBUG("Adding native panel mode %s\n", mode->name); } return mode; } -- 1.5.6.3
------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev
-- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel