| From 0f36e202e50062bc03f34eb8e872a7ba59a3a6d3 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 17 Jan 2020 16:34:29 +0100 |
| Subject: drm/modes: Allow DRM_MODE_ROTATE_0 when applying video mode |
| parameters |
| |
| From: Stephan Gerhold <stephan@gerhold.net> |
| |
| [ Upstream commit 5c320b6ce7510653bce68cecf80cf5b2d67e907f ] |
| |
| At the moment, only DRM_MODE_ROTATE_180 is allowed when we try to apply |
| the rotation from the video mode parameters. It is also useful to allow |
| DRM_MODE_ROTATE_0 in case there is only a reflect option in the video mode |
| parameter (e.g. video=540x960,reflect_x). |
| |
| DRM_MODE_ROTATE_0 means "no rotation" and should therefore not require |
| any special handling, so we can just add it to the if condition. |
| |
| Signed-off-by: Stephan Gerhold <stephan@gerhold.net> |
| Signed-off-by: Maxime Ripard <maxime@cerno.tech> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20200117153429.54700-3-stephan@gerhold.net |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/drm_client_modeset.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c |
| index 6d4a29e99ae26..3035584f6dc72 100644 |
| --- a/drivers/gpu/drm/drm_client_modeset.c |
| +++ b/drivers/gpu/drm/drm_client_modeset.c |
| @@ -951,7 +951,8 @@ bool drm_client_rotation(struct drm_mode_set *modeset, unsigned int *rotation) |
| * depending on the hardware this may require the framebuffer |
| * to be in a specific tiling format. |
| */ |
| - if ((*rotation & DRM_MODE_ROTATE_MASK) != DRM_MODE_ROTATE_180 || |
| + if (((*rotation & DRM_MODE_ROTATE_MASK) != DRM_MODE_ROTATE_0 && |
| + (*rotation & DRM_MODE_ROTATE_MASK) != DRM_MODE_ROTATE_180) || |
| !plane->rotation_property) |
| return false; |
| |
| -- |
| 2.20.1 |
| |