[PATCH] Revert "Revert "drm/amd/display: Implement zpos property""

Hamza Mahfooz posted 1 patch 2 years, 3 months ago
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 9 +++++++++
1 file changed, 9 insertions(+)
[PATCH] Revert "Revert "drm/amd/display: Implement zpos property""
Posted by Hamza Mahfooz 2 years, 3 months ago
This reverts commit 984612bd4649c91f12e9c7c7f9e914fdc8ba7d3f.

The problematic IGT test case (i.e. kms_atomic@plane-immutable-zpos) has
been fixed as of commit cb77add45011 ("tests/kms_atomic: remove zpos <
N-planes assert") to the IGT repo. So, reintroduce the reverted code.

Link: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/cb77add45011b129e21f3cb2a4089a73dde56179
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
index 894bc7e4fdaa..df568a7cd005 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
@@ -1469,6 +1469,15 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
 		drm_plane_create_blend_mode_property(plane, blend_caps);
 	}
 
+	if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
+		drm_plane_create_zpos_immutable_property(plane, 0);
+	} else if (plane->type == DRM_PLANE_TYPE_OVERLAY) {
+		unsigned int zpos = 1 + drm_plane_index(plane);
+		drm_plane_create_zpos_property(plane, zpos, 1, 254);
+	} else if (plane->type == DRM_PLANE_TYPE_CURSOR) {
+		drm_plane_create_zpos_immutable_property(plane, 255);
+	}
+
 	if (plane->type == DRM_PLANE_TYPE_PRIMARY &&
 	    plane_cap &&
 	    (plane_cap->pixel_format_support.nv12 ||
-- 
2.41.0
Re: [PATCH] Revert "Revert "drm/amd/display: Implement zpos property""
Posted by Melissa Wen 2 years, 3 months ago
On 08/29, Hamza Mahfooz wrote:
> This reverts commit 984612bd4649c91f12e9c7c7f9e914fdc8ba7d3f.
> 
> The problematic IGT test case (i.e. kms_atomic@plane-immutable-zpos) has
> been fixed as of commit cb77add45011 ("tests/kms_atomic: remove zpos <
> N-planes assert") to the IGT repo. So, reintroduce the reverted code.
> 
> Link: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/cb77add45011b129e21f3cb2a4089a73dde56179
> Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>

Reviewed-by: Melissa Wen <mwen@igalia.com>

Thanks!

> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
> index 894bc7e4fdaa..df568a7cd005 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
> @@ -1469,6 +1469,15 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
>  		drm_plane_create_blend_mode_property(plane, blend_caps);
>  	}
>  
> +	if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
> +		drm_plane_create_zpos_immutable_property(plane, 0);
> +	} else if (plane->type == DRM_PLANE_TYPE_OVERLAY) {
> +		unsigned int zpos = 1 + drm_plane_index(plane);
> +		drm_plane_create_zpos_property(plane, zpos, 1, 254);
> +	} else if (plane->type == DRM_PLANE_TYPE_CURSOR) {
> +		drm_plane_create_zpos_immutable_property(plane, 255);
> +	}
> +
>  	if (plane->type == DRM_PLANE_TYPE_PRIMARY &&
>  	    plane_cap &&
>  	    (plane_cap->pixel_format_support.nv12 ||
> -- 
> 2.41.0
> 
Re: [PATCH] Revert "Revert "drm/amd/display: Implement zpos property""
Posted by Alex Deucher 2 years, 3 months ago
On Tue, Aug 29, 2023 at 7:40 AM Hamza Mahfooz <hamza.mahfooz@amd.com> wrote:
>
> This reverts commit 984612bd4649c91f12e9c7c7f9e914fdc8ba7d3f.
>
> The problematic IGT test case (i.e. kms_atomic@plane-immutable-zpos) has
> been fixed as of commit cb77add45011 ("tests/kms_atomic: remove zpos <
> N-planes assert") to the IGT repo. So, reintroduce the reverted code.
>
> Link: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/cb77add45011b129e21f3cb2a4089a73dde56179
> Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>

Acked-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
> index 894bc7e4fdaa..df568a7cd005 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
> @@ -1469,6 +1469,15 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
>                 drm_plane_create_blend_mode_property(plane, blend_caps);
>         }
>
> +       if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
> +               drm_plane_create_zpos_immutable_property(plane, 0);
> +       } else if (plane->type == DRM_PLANE_TYPE_OVERLAY) {
> +               unsigned int zpos = 1 + drm_plane_index(plane);
> +               drm_plane_create_zpos_property(plane, zpos, 1, 254);
> +       } else if (plane->type == DRM_PLANE_TYPE_CURSOR) {
> +               drm_plane_create_zpos_immutable_property(plane, 255);
> +       }
> +
>         if (plane->type == DRM_PLANE_TYPE_PRIMARY &&
>             plane_cap &&
>             (plane_cap->pixel_format_support.nv12 ||
> --
> 2.41.0
>