drm: Swap w/h when converting the mode to src coordidates for a rotated primary plane
When converting the mode hdisplay/vdisplay to primary plane src coordinates we need to take into account the current plane rotation. Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1444930802-8515-2-git-send-email-ville.syrjala@linux.intel.com Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
c390eed025
commit
4112124860
|
@ -1790,8 +1790,13 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set,
|
|||
primary_state->crtc_w = set->mode->hdisplay;
|
||||
primary_state->src_x = set->x << 16;
|
||||
primary_state->src_y = set->y << 16;
|
||||
primary_state->src_h = set->mode->vdisplay << 16;
|
||||
primary_state->src_w = set->mode->hdisplay << 16;
|
||||
if (primary_state->rotation & (BIT(DRM_ROTATE_90) | BIT(DRM_ROTATE_270))) {
|
||||
primary_state->src_h = set->mode->hdisplay << 16;
|
||||
primary_state->src_w = set->mode->vdisplay << 16;
|
||||
} else {
|
||||
primary_state->src_h = set->mode->vdisplay << 16;
|
||||
primary_state->src_w = set->mode->hdisplay << 16;
|
||||
}
|
||||
|
||||
commit:
|
||||
ret = update_output_state(state, set);
|
||||
|
|
Loading…
Reference in New Issue