mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
60 lines
2.2 KiB
Diff
60 lines
2.2 KiB
Diff
From fa51fbf4ac526cc7c9d1a49a02ab7989fbd9502e Mon Sep 17 00:00:00 2001
|
|
From: Jonas Karlman <jonas@kwiboo.se>
|
|
Date: Fri, 9 Oct 2020 15:29:27 +0000
|
|
Subject: [PATCH 13/59] WIP/1000: drm/rockchip: vop: add immutable zpos
|
|
property
|
|
|
|
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|
---
|
|
drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 2 ++
|
|
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 ++++--
|
|
2 files changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
|
|
index 5829ee061c61..856d2ce56239 100644
|
|
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
|
|
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
|
|
@@ -81,6 +81,8 @@ void rockchip_drm_mode_config_init(struct drm_device *dev)
|
|
dev->mode_config.max_width = 4096;
|
|
dev->mode_config.max_height = 4096;
|
|
|
|
+ dev->mode_config.normalize_zpos = true;
|
|
+
|
|
dev->mode_config.funcs = &rockchip_drm_mode_config_funcs;
|
|
dev->mode_config.helper_private = &rockchip_mode_config_helpers;
|
|
|
|
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
|
index 4713a6a6a6fe..4d9326b28740 100644
|
|
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
|
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
|
@@ -1843,7 +1843,7 @@ static irqreturn_t vop_isr(int irq, void *data)
|
|
return ret;
|
|
}
|
|
|
|
-static void vop_plane_add_properties(struct drm_plane *plane,
|
|
+static void vop_plane_add_properties(struct drm_plane *plane, int zpos,
|
|
const struct vop_win_data *win_data)
|
|
{
|
|
unsigned int flags = 0;
|
|
@@ -1853,6 +1853,8 @@ static void vop_plane_add_properties(struct drm_plane *plane,
|
|
if (flags)
|
|
drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0,
|
|
DRM_MODE_ROTATE_0 | flags);
|
|
+
|
|
+ drm_plane_create_zpos_immutable_property(plane, zpos);
|
|
}
|
|
|
|
static int vop_create_crtc(struct vop *vop)
|
|
@@ -1893,7 +1895,7 @@ static int vop_create_crtc(struct vop *vop)
|
|
|
|
plane = &vop_win->base;
|
|
drm_plane_helper_add(plane, &plane_helper_funcs);
|
|
- vop_plane_add_properties(plane, win_data);
|
|
+ vop_plane_add_properties(plane, i, win_data);
|
|
if (plane->type == DRM_PLANE_TYPE_PRIMARY)
|
|
primary = plane;
|
|
else if (plane->type == DRM_PLANE_TYPE_CURSOR)
|
|
--
|
|
2.34.1
|
|
|