Commit 196cd5d3 authored by Daniel Vetter's avatar Daniel Vetter

drm: s/drm_crtc_get_hv_timings/drm_mode_get_hv_timings/

The function operates on modes, not CRTCs. Also move it into
drm_modes.[hc]. Spotted while reviewing CRTC docs.
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170125062657.19270-15-daniel.vetter@ffwll.ch
parent 0683c0ab
...@@ -2367,7 +2367,7 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set, ...@@ -2367,7 +2367,7 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set,
if (ret != 0) if (ret != 0)
return ret; return ret;
drm_crtc_get_hv_timing(set->mode, &hdisplay, &vdisplay); drm_mode_get_hv_timing(set->mode, &hdisplay, &vdisplay);
drm_atomic_set_fb_for_plane(primary_state, set->fb); drm_atomic_set_fb_for_plane(primary_state, set->fb);
primary_state->crtc_x = 0; primary_state->crtc_x = 0;
......
...@@ -481,27 +481,6 @@ int drm_mode_set_config_internal(struct drm_mode_set *set) ...@@ -481,27 +481,6 @@ int drm_mode_set_config_internal(struct drm_mode_set *set)
} }
EXPORT_SYMBOL(drm_mode_set_config_internal); EXPORT_SYMBOL(drm_mode_set_config_internal);
/**
* drm_crtc_get_hv_timing - Fetches hdisplay/vdisplay for given mode
* @mode: mode to query
* @hdisplay: hdisplay value to fill in
* @vdisplay: vdisplay value to fill in
*
* The vdisplay value will be doubled if the specified mode is a stereo mode of
* the appropriate layout.
*/
void drm_crtc_get_hv_timing(const struct drm_display_mode *mode,
int *hdisplay, int *vdisplay)
{
struct drm_display_mode adjusted;
drm_mode_copy(&adjusted, mode);
drm_mode_set_crtcinfo(&adjusted, CRTC_STEREO_DOUBLE_ONLY);
*hdisplay = adjusted.crtc_hdisplay;
*vdisplay = adjusted.crtc_vdisplay;
}
EXPORT_SYMBOL(drm_crtc_get_hv_timing);
/** /**
* drm_crtc_check_viewport - Checks that a framebuffer is big enough for the * drm_crtc_check_viewport - Checks that a framebuffer is big enough for the
* CRTC viewport * CRTC viewport
...@@ -519,7 +498,7 @@ int drm_crtc_check_viewport(const struct drm_crtc *crtc, ...@@ -519,7 +498,7 @@ int drm_crtc_check_viewport(const struct drm_crtc *crtc,
{ {
int hdisplay, vdisplay; int hdisplay, vdisplay;
drm_crtc_get_hv_timing(mode, &hdisplay, &vdisplay); drm_mode_get_hv_timing(mode, &hdisplay, &vdisplay);
if (crtc->state && if (crtc->state &&
drm_rotation_90_or_270(crtc->primary->state->rotation)) drm_rotation_90_or_270(crtc->primary->state->rotation))
......
...@@ -796,6 +796,27 @@ int drm_mode_vrefresh(const struct drm_display_mode *mode) ...@@ -796,6 +796,27 @@ int drm_mode_vrefresh(const struct drm_display_mode *mode)
} }
EXPORT_SYMBOL(drm_mode_vrefresh); EXPORT_SYMBOL(drm_mode_vrefresh);
/**
* drm_mode_get_hv_timing - Fetches hdisplay/vdisplay for given mode
* @mode: mode to query
* @hdisplay: hdisplay value to fill in
* @vdisplay: vdisplay value to fill in
*
* The vdisplay value will be doubled if the specified mode is a stereo mode of
* the appropriate layout.
*/
void drm_mode_get_hv_timing(const struct drm_display_mode *mode,
int *hdisplay, int *vdisplay)
{
struct drm_display_mode adjusted;
drm_mode_copy(&adjusted, mode);
drm_mode_set_crtcinfo(&adjusted, CRTC_STEREO_DOUBLE_ONLY);
*hdisplay = adjusted.crtc_hdisplay;
*vdisplay = adjusted.crtc_vdisplay;
}
EXPORT_SYMBOL(drm_mode_get_hv_timing);
/** /**
* drm_mode_set_crtcinfo - set CRTC modesetting timing parameters * drm_mode_set_crtcinfo - set CRTC modesetting timing parameters
* @p: mode * @p: mode
......
...@@ -11105,7 +11105,7 @@ static int intel_modeset_setup_plane_state(struct drm_atomic_state *state, ...@@ -11105,7 +11105,7 @@ static int intel_modeset_setup_plane_state(struct drm_atomic_state *state,
return PTR_ERR(plane_state); return PTR_ERR(plane_state);
if (mode) if (mode)
drm_crtc_get_hv_timing(mode, &hdisplay, &vdisplay); drm_mode_get_hv_timing(mode, &hdisplay, &vdisplay);
else else
hdisplay = vdisplay = 0; hdisplay = vdisplay = 0;
...@@ -12990,7 +12990,7 @@ intel_modeset_pipe_config(struct drm_crtc *crtc, ...@@ -12990,7 +12990,7 @@ intel_modeset_pipe_config(struct drm_crtc *crtc,
* computation to clearly distinguish it from the adjusted mode, which * computation to clearly distinguish it from the adjusted mode, which
* can be changed by the connectors in the below retry loop. * can be changed by the connectors in the below retry loop.
*/ */
drm_crtc_get_hv_timing(&pipe_config->base.mode, drm_mode_get_hv_timing(&pipe_config->base.mode,
&pipe_config->pipe_src_w, &pipe_config->pipe_src_w,
&pipe_config->pipe_src_h); &pipe_config->pipe_src_h);
......
...@@ -824,8 +824,6 @@ static inline uint32_t drm_crtc_mask(const struct drm_crtc *crtc) ...@@ -824,8 +824,6 @@ static inline uint32_t drm_crtc_mask(const struct drm_crtc *crtc)
return 1 << drm_crtc_index(crtc); return 1 << drm_crtc_index(crtc);
} }
void drm_crtc_get_hv_timing(const struct drm_display_mode *mode,
int *hdisplay, int *vdisplay);
int drm_crtc_force_disable(struct drm_crtc *crtc); int drm_crtc_force_disable(struct drm_crtc *crtc);
int drm_crtc_force_disable_all(struct drm_device *dev); int drm_crtc_force_disable_all(struct drm_device *dev);
......
...@@ -459,6 +459,8 @@ int of_get_drm_display_mode(struct device_node *np, ...@@ -459,6 +459,8 @@ int of_get_drm_display_mode(struct device_node *np,
void drm_mode_set_name(struct drm_display_mode *mode); void drm_mode_set_name(struct drm_display_mode *mode);
int drm_mode_hsync(const struct drm_display_mode *mode); int drm_mode_hsync(const struct drm_display_mode *mode);
int drm_mode_vrefresh(const struct drm_display_mode *mode); int drm_mode_vrefresh(const struct drm_display_mode *mode);
void drm_mode_get_hv_timing(const struct drm_display_mode *mode,
int *hdisplay, int *vdisplay);
void drm_mode_set_crtcinfo(struct drm_display_mode *p, void drm_mode_set_crtcinfo(struct drm_display_mode *p,
int adjust_flags); int adjust_flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment