diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_sdvo.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index a949b73880c..b6a9d45fc3c 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -783,10 +783,12 @@ static void intel_sdvo_get_dtd_from_mode(struct intel_sdvo_dtd *dtd,  		((v_sync_len & 0x30) >> 4);  	dtd->part2.dtd_flags = 0x18; +	if (mode->flags & DRM_MODE_FLAG_INTERLACE) +		dtd->part2.dtd_flags |= DTD_FLAG_INTERLACE;  	if (mode->flags & DRM_MODE_FLAG_PHSYNC) -		dtd->part2.dtd_flags |= 0x2; +		dtd->part2.dtd_flags |= DTD_FLAG_HSYNC_POSITIVE;  	if (mode->flags & DRM_MODE_FLAG_PVSYNC) -		dtd->part2.dtd_flags |= 0x4; +		dtd->part2.dtd_flags |= DTD_FLAG_VSYNC_POSITIVE;  	dtd->part2.sdvo_flags = 0;  	dtd->part2.v_sync_off_high = v_sync_offset & 0xc0; @@ -820,9 +822,11 @@ static void intel_sdvo_get_mode_from_dtd(struct drm_display_mode * mode,  	mode->clock = dtd->part1.clock * 10;  	mode->flags &= ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); -	if (dtd->part2.dtd_flags & 0x2) +	if (dtd->part2.dtd_flags & DTD_FLAG_INTERLACE) +		mode->flags |= DRM_MODE_FLAG_INTERLACE; +	if (dtd->part2.dtd_flags & DTD_FLAG_HSYNC_POSITIVE)  		mode->flags |= DRM_MODE_FLAG_PHSYNC; -	if (dtd->part2.dtd_flags & 0x4) +	if (dtd->part2.dtd_flags & DTD_FLAG_VSYNC_POSITIVE)  		mode->flags |= DRM_MODE_FLAG_PVSYNC;  }  |