On 2015년 04월 02일 01:02, Gustavo Padovan wrote:
From: Gustavo Padovan gustavo.padovan@collabora.co.uk
We already set each plane zpos at init, after that changes to zpos are not expected. This patch turns zpos into a read-only property so now it is impossible to set zpos.
Signed-off-by: Gustavo Padovan gustavo.padovan@collabora.co.uk
drivers/gpu/drm/exynos/exynos_drm_plane.c | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c index 504bd6e..2fbac9b 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c @@ -184,27 +184,10 @@ static void exynos_plane_destroy(struct drm_plane *plane) drm_plane_cleanup(plane); }
-static int exynos_plane_set_property(struct drm_plane *plane,
struct drm_property *property,
uint64_t val)
-{
- struct drm_device *dev = plane->dev;
- struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane);
- struct exynos_drm_private *dev_priv = dev->dev_private;
- if (property == dev_priv->plane_zpos_property) {
exynos_plane->zpos = val;
return 0;
- }
- return -EINVAL;
-}
static struct drm_plane_funcs exynos_plane_funcs = { .update_plane = exynos_update_plane, .disable_plane = exynos_disable_plane, .destroy = exynos_plane_destroy,
- .set_property = exynos_plane_set_property,
As I commented like below before, This patch would make the compatibility of the existing application which uses set_property ioctl to be broken. Didn't you check my comment? http://www.spinics.net/lists/dri-devel/msg78852.html
To other Exynos guys, Is there no any case that the hardware overlay should be configurable? If no case, I will merge this cleanup. After that, application can never change hardware overlay to each plane.
Thanks, Inki Dae
};
static void exynos_plane_attach_zpos_property(struct drm_plane *plane, @@ -216,8 +199,8 @@ static void exynos_plane_attach_zpos_property(struct drm_plane *plane,
prop = dev_priv->plane_zpos_property; if (!prop) {
prop = drm_property_create_range(dev, 0, "zpos", 0,
MAX_PLANE - 1);
prop = drm_property_create_range(dev, DRM_MODE_PROP_IMMUTABLE,
if (!prop) return;"zpos", 0, MAX_PLANE - 1);