Subversion Repositories Kolibri OS

Rev

Rev 3480 | Rev 4075 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3480 Rev 3746
Line 502... Line 502...
502
	return drm_gtf_mode_complex(dev, hdisplay, vdisplay, vrefresh, lace,
502
	return drm_gtf_mode_complex(dev, hdisplay, vdisplay, vrefresh, lace,
503
				    margins, 600, 40 * 2, 128, 20 * 2);
503
				    margins, 600, 40 * 2, 128, 20 * 2);
504
}
504
}
505
EXPORT_SYMBOL(drm_gtf_mode);
505
EXPORT_SYMBOL(drm_gtf_mode);
Line 506... Line 506...
506
 
506
 
507
#if IS_ENABLED(CONFIG_VIDEOMODE)
507
#ifdef CONFIG_VIDEOMODE_HELPERS
508
int drm_display_mode_from_videomode(const struct videomode *vm,
508
int drm_display_mode_from_videomode(const struct videomode *vm,
509
				    struct drm_display_mode *dmode)
509
				    struct drm_display_mode *dmode)
510
{
510
{
511
	dmode->hdisplay = vm->hactive;
511
	dmode->hdisplay = vm->hactive;
Line 519... Line 519...
519
	dmode->vtotal = dmode->vsync_end + vm->vback_porch;
519
	dmode->vtotal = dmode->vsync_end + vm->vback_porch;
Line 520... Line 520...
520
 
520
 
Line 521... Line 521...
521
	dmode->clock = vm->pixelclock / 1000;
521
	dmode->clock = vm->pixelclock / 1000;
522
 
522
 
523
	dmode->flags = 0;
523
	dmode->flags = 0;
524
	if (vm->dmt_flags & VESA_DMT_HSYNC_HIGH)
524
	if (vm->flags & DISPLAY_FLAGS_HSYNC_HIGH)
525
		dmode->flags |= DRM_MODE_FLAG_PHSYNC;
525
		dmode->flags |= DRM_MODE_FLAG_PHSYNC;
526
	else if (vm->dmt_flags & VESA_DMT_HSYNC_LOW)
526
	else if (vm->flags & DISPLAY_FLAGS_HSYNC_LOW)
527
		dmode->flags |= DRM_MODE_FLAG_NHSYNC;
527
		dmode->flags |= DRM_MODE_FLAG_NHSYNC;
528
	if (vm->dmt_flags & VESA_DMT_VSYNC_HIGH)
528
	if (vm->flags & DISPLAY_FLAGS_VSYNC_HIGH)
529
		dmode->flags |= DRM_MODE_FLAG_PVSYNC;
529
		dmode->flags |= DRM_MODE_FLAG_PVSYNC;
530
	else if (vm->dmt_flags & VESA_DMT_VSYNC_LOW)
530
	else if (vm->flags & DISPLAY_FLAGS_VSYNC_LOW)
531
		dmode->flags |= DRM_MODE_FLAG_NVSYNC;
531
		dmode->flags |= DRM_MODE_FLAG_NVSYNC;
532
	if (vm->data_flags & DISPLAY_FLAGS_INTERLACED)
532
	if (vm->flags & DISPLAY_FLAGS_INTERLACED)
533
		dmode->flags |= DRM_MODE_FLAG_INTERLACE;
533
		dmode->flags |= DRM_MODE_FLAG_INTERLACE;
534
	if (vm->data_flags & DISPLAY_FLAGS_DOUBLESCAN)
534
	if (vm->flags & DISPLAY_FLAGS_DOUBLESCAN)
Line 535... Line 535...
535
		dmode->flags |= DRM_MODE_FLAG_DBLSCAN;
535
		dmode->flags |= DRM_MODE_FLAG_DBLSCAN;
536
	drm_mode_set_name(dmode);
536
	drm_mode_set_name(dmode);
537
 
537
 
538
	return 0;
-
 
Line 539... Line 538...
539
}
538
	return 0;
540
EXPORT_SYMBOL_GPL(drm_display_mode_from_videomode);
539
}
541
#endif
540
EXPORT_SYMBOL_GPL(drm_display_mode_from_videomode);
542
 
541
 
543
#if IS_ENABLED(CONFIG_OF_VIDEOMODE)
542
#ifdef CONFIG_OF
544
/**
543
/**
Line 568... Line 567...
568
	drm_mode_debug_printmodeline(dmode);
567
	drm_mode_debug_printmodeline(dmode);
Line 569... Line 568...
569
 
568
 
570
	return 0;
569
	return 0;
571
}
570
}
572
EXPORT_SYMBOL_GPL(of_get_drm_display_mode);
571
EXPORT_SYMBOL_GPL(of_get_drm_display_mode);
-
 
572
#endif /* CONFIG_OF */
Line 573... Line 573...
573
#endif
573
#endif /* CONFIG_VIDEOMODE_HELPERS */
574
 
574
 
575
/**
575
/**
576
 * drm_mode_set_name - set the name on a mode
576
 * drm_mode_set_name - set the name on a mode
Line 844... Line 844...
844
		if (KHZ2PICOS(mode1->clock) != KHZ2PICOS(mode2->clock))
844
		if (KHZ2PICOS(mode1->clock) != KHZ2PICOS(mode2->clock))
845
			return false;
845
			return false;
846
	} else if (mode1->clock != mode2->clock)
846
	} else if (mode1->clock != mode2->clock)
847
		return false;
847
		return false;
Line -... Line 848...
-
 
848
 
-
 
849
	return drm_mode_equal_no_clocks(mode1, mode2);
-
 
850
}
-
 
851
EXPORT_SYMBOL(drm_mode_equal);
-
 
852
 
-
 
853
/**
-
 
854
 * drm_mode_equal_no_clocks - test modes for equality
-
 
855
 * @mode1: first mode
-
 
856
 * @mode2: second mode
-
 
857
 *
-
 
858
 * LOCKING:
-
 
859
 * None.
-
 
860
 *
-
 
861
 * Check to see if @mode1 and @mode2 are equivalent, but
-
 
862
 * don't check the pixel clocks.
-
 
863
 *
-
 
864
 * RETURNS:
-
 
865
 * True if the modes are equal, false otherwise.
-
 
866
 */
-
 
867
bool drm_mode_equal_no_clocks(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2)
848
 
868
{
849
	if (mode1->hdisplay == mode2->hdisplay &&
869
	if (mode1->hdisplay == mode2->hdisplay &&
850
	    mode1->hsync_start == mode2->hsync_start &&
870
	    mode1->hsync_start == mode2->hsync_start &&
851
	    mode1->hsync_end == mode2->hsync_end &&
871
	    mode1->hsync_end == mode2->hsync_end &&
852
	    mode1->htotal == mode2->htotal &&
872
	    mode1->htotal == mode2->htotal &&
Line 859... Line 879...
859
	    mode1->flags == mode2->flags)
879
	    mode1->flags == mode2->flags)
860
		return true;
880
		return true;
Line 861... Line 881...
861
 
881
 
862
	return false;
882
	return false;
863
}
883
}
Line 864... Line 884...
864
EXPORT_SYMBOL(drm_mode_equal);
884
EXPORT_SYMBOL(drm_mode_equal_no_clocks);
865
 
885
 
866
/**
886
/**
867
 * drm_mode_validate_size - make sure modes adhere to size constraints
887
 * drm_mode_validate_size - make sure modes adhere to size constraints