Only 640x480 is set as the preferred mode when the TV format is NTSC,PAL, 480p --- drivers/gpu/drm/i915/intel_tv.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) Index: linux-2.6/drivers/gpu/drm/i915/intel_tv.c =================================================================== --- linux-2.6.orig/drivers/gpu/drm/i915/intel_tv.c 2009-11-24 10:19:48.000000000 +0800 +++ linux-2.6/drivers/gpu/drm/i915/intel_tv.c 2009-11-24 14:51:13.000000000 +0800 @@ -1531,9 +1531,11 @@ struct intel_output *intel_output = to_intel_output(connector); const struct tv_mode *tv_mode = intel_tv_mode_find(intel_output); - if (tv_mode->nbr_end < 480 && mode_ptr->vdisplay == 480) - mode_ptr->type |= DRM_MODE_TYPE_PREFERRED; - else if (tv_mode->nbr_end > 480) { + if (tv_mode->nbr_end < 480) { + /* Only the 640x480 is set as the preferred mode */ + if (mode_ptr->vdisplay == 480 && mode_ptr->hdisplay == 640) + mode_ptr->type |= DRM_MODE_TYPE_PREFERRED; + } else if (tv_mode->nbr_end > 480) { if (tv_mode->progressive == true && tv_mode->nbr_end < 720) { if (mode_ptr->vdisplay == 720) mode_ptr->type |= DRM_MODE_TYPE_PREFERRED;