diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch b/target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch deleted file mode 100644 index d08b7f00c7..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0733-drm-vc4-Correct-handling-of-rotation-parameter-in-fk.patch +++ /dev/null @@ -1,87 +0,0 @@ -From e99a60f018524bf7b1ba382e3994c22ebcdbafe6 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dave.stevenson@raspberrypi.org> -Date: Wed, 18 Sep 2019 15:49:13 +0100 -Subject: [PATCH] drm/vc4: Correct handling of rotation parameter in - fkms - -One bit within DRM_MODE_ROTATE_MASK will always be set to -determine the base rotation 0/90/180/270, and then REFLECT_X -and REFLECT_Y are on top. - -Correct the handling which was assuming that REFLECT_[X|Y] -was instead of ROTATE_x. - -Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> ---- - drivers/gpu/drm/vc4/vc4_firmware_kms.c | 37 ++++++++++---------------- - 1 file changed, 14 insertions(+), 23 deletions(-) - ---- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c -+++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -79,11 +79,6 @@ struct set_plane { - #define TRANSFORM_FLIP_HRIZ BIT(16) - #define TRANSFORM_FLIP_VERT BIT(17) - --#define SUPPORTED_ROTATIONS (DRM_MODE_ROTATE_0 | \ -- DRM_MODE_ROTATE_180 | \ -- DRM_MODE_REFLECT_X | \ -- DRM_MODE_REFLECT_Y) -- - struct mailbox_set_plane { - struct rpi_firmware_property_tag_header tag; - struct set_plane plane; -@@ -523,7 +518,7 @@ static int vc4_plane_to_mb(struct drm_pl - const struct vc_image_format *vc_fmt = - vc4_get_vc_image_fmt(drm_fmt->format); - int num_planes = fb->format->num_planes; -- unsigned int rotation = SUPPORTED_ROTATIONS; -+ unsigned int rotation; - - mb->plane.vc_image_type = vc_fmt->vc_image; - mb->plane.width = fb->width; -@@ -544,23 +539,16 @@ static int vc4_plane_to_mb(struct drm_pl - mb->plane.is_vu = vc_fmt->is_vu; - mb->plane.planes[0] = bo->paddr + fb->offsets[0]; - -- rotation = drm_rotation_simplify(state->rotation, rotation); -- -- switch (rotation) { -- default: -- case DRM_MODE_ROTATE_0: -- mb->plane.transform = TRANSFORM_NO_ROTATE; -- break; -- case DRM_MODE_ROTATE_180: -- mb->plane.transform = TRANSFORM_ROTATE_180; -- break; -- case DRM_MODE_REFLECT_X: -- mb->plane.transform = TRANSFORM_FLIP_HRIZ; -- break; -- case DRM_MODE_REFLECT_Y: -- mb->plane.transform = TRANSFORM_FLIP_VERT; -- break; -- } -+ rotation = drm_rotation_simplify(state->rotation, -+ DRM_MODE_ROTATE_0 | -+ DRM_MODE_REFLECT_X | -+ DRM_MODE_REFLECT_Y); -+ -+ mb->plane.transform = TRANSFORM_NO_ROTATE; -+ if (rotation & DRM_MODE_REFLECT_X) -+ mb->plane.transform |= TRANSFORM_FLIP_HRIZ; -+ if (rotation & DRM_MODE_REFLECT_Y) -+ mb->plane.transform |= TRANSFORM_FLIP_VERT; - - vc4_fkms_margins_adj(state, &mb->plane); - -@@ -772,7 +760,10 @@ static struct drm_plane *vc4_fkms_plane_ - - drm_plane_create_alpha_property(plane); - drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0, -- SUPPORTED_ROTATIONS); -+ DRM_MODE_ROTATE_0 | -+ DRM_MODE_ROTATE_180 | -+ DRM_MODE_REFLECT_X | -+ DRM_MODE_REFLECT_Y); - drm_plane_create_color_properties(plane, - BIT(DRM_COLOR_YCBCR_BT601) | - BIT(DRM_COLOR_YCBCR_BT709) | |