504,7 → 504,7 |
} |
EXPORT_SYMBOL(drm_gtf_mode); |
|
#if IS_ENABLED(CONFIG_VIDEOMODE) |
#ifdef CONFIG_VIDEOMODE_HELPERS |
int drm_display_mode_from_videomode(const struct videomode *vm, |
struct drm_display_mode *dmode) |
{ |
521,17 → 521,17 |
dmode->clock = vm->pixelclock / 1000; |
|
dmode->flags = 0; |
if (vm->dmt_flags & VESA_DMT_HSYNC_HIGH) |
if (vm->flags & DISPLAY_FLAGS_HSYNC_HIGH) |
dmode->flags |= DRM_MODE_FLAG_PHSYNC; |
else if (vm->dmt_flags & VESA_DMT_HSYNC_LOW) |
else if (vm->flags & DISPLAY_FLAGS_HSYNC_LOW) |
dmode->flags |= DRM_MODE_FLAG_NHSYNC; |
if (vm->dmt_flags & VESA_DMT_VSYNC_HIGH) |
if (vm->flags & DISPLAY_FLAGS_VSYNC_HIGH) |
dmode->flags |= DRM_MODE_FLAG_PVSYNC; |
else if (vm->dmt_flags & VESA_DMT_VSYNC_LOW) |
else if (vm->flags & DISPLAY_FLAGS_VSYNC_LOW) |
dmode->flags |= DRM_MODE_FLAG_NVSYNC; |
if (vm->data_flags & DISPLAY_FLAGS_INTERLACED) |
if (vm->flags & DISPLAY_FLAGS_INTERLACED) |
dmode->flags |= DRM_MODE_FLAG_INTERLACE; |
if (vm->data_flags & DISPLAY_FLAGS_DOUBLESCAN) |
if (vm->flags & DISPLAY_FLAGS_DOUBLESCAN) |
dmode->flags |= DRM_MODE_FLAG_DBLSCAN; |
drm_mode_set_name(dmode); |
|
538,9 → 538,8 |
return 0; |
} |
EXPORT_SYMBOL_GPL(drm_display_mode_from_videomode); |
#endif |
|
#if IS_ENABLED(CONFIG_OF_VIDEOMODE) |
#ifdef CONFIG_OF |
/** |
* of_get_drm_display_mode - get a drm_display_mode from devicetree |
* @np: device_node with the timing specification |
570,7 → 569,8 |
return 0; |
} |
EXPORT_SYMBOL_GPL(of_get_drm_display_mode); |
#endif |
#endif /* CONFIG_OF */ |
#endif /* CONFIG_VIDEOMODE_HELPERS */ |
|
/** |
* drm_mode_set_name - set the name on a mode |
846,6 → 846,26 |
} else if (mode1->clock != mode2->clock) |
return false; |
|
return drm_mode_equal_no_clocks(mode1, mode2); |
} |
EXPORT_SYMBOL(drm_mode_equal); |
|
/** |
* drm_mode_equal_no_clocks - test modes for equality |
* @mode1: first mode |
* @mode2: second mode |
* |
* LOCKING: |
* None. |
* |
* Check to see if @mode1 and @mode2 are equivalent, but |
* don't check the pixel clocks. |
* |
* RETURNS: |
* True if the modes are equal, false otherwise. |
*/ |
bool drm_mode_equal_no_clocks(const struct drm_display_mode *mode1, const struct drm_display_mode *mode2) |
{ |
if (mode1->hdisplay == mode2->hdisplay && |
mode1->hsync_start == mode2->hsync_start && |
mode1->hsync_end == mode2->hsync_end && |
861,7 → 881,7 |
|
return false; |
} |
EXPORT_SYMBOL(drm_mode_equal); |
EXPORT_SYMBOL(drm_mode_equal_no_clocks); |
|
/** |
* drm_mode_validate_size - make sure modes adhere to size constraints |