Loading drivers/gpu/drm/drm_modes.c +27 −1 Original line number Diff line number Diff line Loading @@ -553,6 +553,32 @@ int drm_mode_height(struct drm_display_mode *mode) } EXPORT_SYMBOL(drm_mode_height); /** drm_mode_hsync - get the hsync of a mode * @mode: mode * * LOCKING: * None. * * Return @modes's hsync rate in kHz, rounded to the nearest int. */ int drm_mode_hsync(struct drm_display_mode *mode) { unsigned int calc_val; if (mode->hsync) return mode->hsync; if (mode->htotal < 0) return 0; calc_val = (mode->clock * 1000) / mode->htotal; /* hsync in Hz */ calc_val += 500; /* round to 1000Hz */ calc_val /= 1000; /* truncate to kHz */ return calc_val; } EXPORT_SYMBOL(drm_mode_hsync); /** * drm_mode_vrefresh - get the vrefresh of a mode * @mode: mode Loading @@ -560,7 +586,7 @@ EXPORT_SYMBOL(drm_mode_height); * LOCKING: * None. * * Return @mode's vrefresh rate or calculate it if necessary. * Return @mode's vrefresh rate in Hz or calculate it if necessary. * * FIXME: why is this needed? shouldn't vrefresh be set already? * Loading include/drm/drm_crtc.h +4 −3 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ struct drm_display_mode { int type; /* Proposed mode values */ int clock; int clock; /* in kHz */ int hdisplay; int hsync_start; int hsync_end; Loading Loading @@ -164,8 +164,8 @@ struct drm_display_mode { int *private; int private_flags; int vrefresh; float hsync; int vrefresh; /* in Hz */ int hsync; /* in kHz */ }; enum drm_connector_status { Loading Loading @@ -681,6 +681,7 @@ extern void drm_mode_validate_size(struct drm_device *dev, extern void drm_mode_prune_invalid(struct drm_device *dev, struct list_head *mode_list, bool verbose); extern void drm_mode_sort(struct list_head *mode_list); extern int drm_mode_hsync(struct drm_display_mode *mode); extern int drm_mode_vrefresh(struct drm_display_mode *mode); extern void drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags); Loading Loading
drivers/gpu/drm/drm_modes.c +27 −1 Original line number Diff line number Diff line Loading @@ -553,6 +553,32 @@ int drm_mode_height(struct drm_display_mode *mode) } EXPORT_SYMBOL(drm_mode_height); /** drm_mode_hsync - get the hsync of a mode * @mode: mode * * LOCKING: * None. * * Return @modes's hsync rate in kHz, rounded to the nearest int. */ int drm_mode_hsync(struct drm_display_mode *mode) { unsigned int calc_val; if (mode->hsync) return mode->hsync; if (mode->htotal < 0) return 0; calc_val = (mode->clock * 1000) / mode->htotal; /* hsync in Hz */ calc_val += 500; /* round to 1000Hz */ calc_val /= 1000; /* truncate to kHz */ return calc_val; } EXPORT_SYMBOL(drm_mode_hsync); /** * drm_mode_vrefresh - get the vrefresh of a mode * @mode: mode Loading @@ -560,7 +586,7 @@ EXPORT_SYMBOL(drm_mode_height); * LOCKING: * None. * * Return @mode's vrefresh rate or calculate it if necessary. * Return @mode's vrefresh rate in Hz or calculate it if necessary. * * FIXME: why is this needed? shouldn't vrefresh be set already? * Loading
include/drm/drm_crtc.h +4 −3 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ struct drm_display_mode { int type; /* Proposed mode values */ int clock; int clock; /* in kHz */ int hdisplay; int hsync_start; int hsync_end; Loading Loading @@ -164,8 +164,8 @@ struct drm_display_mode { int *private; int private_flags; int vrefresh; float hsync; int vrefresh; /* in Hz */ int hsync; /* in kHz */ }; enum drm_connector_status { Loading Loading @@ -681,6 +681,7 @@ extern void drm_mode_validate_size(struct drm_device *dev, extern void drm_mode_prune_invalid(struct drm_device *dev, struct list_head *mode_list, bool verbose); extern void drm_mode_sort(struct list_head *mode_list); extern int drm_mode_hsync(struct drm_display_mode *mode); extern int drm_mode_vrefresh(struct drm_display_mode *mode); extern void drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags); Loading