[PATCH 1/2] drm/tidss: Fix initial plane zpos values
Pekka Paalanen
pekka.paalanen at haloniitty.fi
Tue Feb 13 09:04:40 UTC 2024
On Tue, 13 Feb 2024 10:16:36 +0200
Tomi Valkeinen <tomi.valkeinen at ideasonboard.com> wrote:
> When the driver sets up the zpos property it sets the default zpos value
> to the HW id of the plane. That is fine as such, but as on many DSS
> versions the driver arranges the DRM planes in a different order than
> the HW planes (to keep the non-scalable planes first), this leads to odd
> initial zpos values. An example is J721e, where the initial zpos values
> for DRM planes are 1, 3, 0, 2.
>
> In theory the userspace should configure the zpos values properly when
> using multiple planes, and in that sense the initial zpos values
> shouldn't matter, but there's really no reason not to fix this and help
> the userspace apps which don't handle zpos perfectly. In particular,
> Weston seems to have issues dealing with the planes with the current
> default zpos values.
>
> So let's change the zpos values for the DRM planes to 0, 1, 2, 3.
>
> Another option would be to configure the planes marked as primary planes
> to zpos 0. On a two display system this would give us plane zpos values
> of 0, 0, 1, 2. The end result and behavior would be very similar in this
> option, and I'm not aware that this would actually help us in any way.
> So, to keep the code simple, I opted for the 0, 1, 2, 3 values.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
> Fixes: 32a1795f57ee ("drm/tidss: New driver for TI Keystone platform Display SubSystem")
Hi Tomi,
have you reported this to Weston? What exactly is the problem?
It doesn't seem like a good idea to work around userspace bugs
(non-regression, I presume?) with kernel changes.
Thanks,
pq
> ---
> drivers/gpu/drm/tidss/tidss_plane.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/tidss/tidss_plane.c b/drivers/gpu/drm/tidss/tidss_plane.c
> index e1c0ef0c3894..68fed531f6a7 100644
> --- a/drivers/gpu/drm/tidss/tidss_plane.c
> +++ b/drivers/gpu/drm/tidss/tidss_plane.c
> @@ -213,7 +213,7 @@ struct tidss_plane *tidss_plane_create(struct tidss_device *tidss,
>
> drm_plane_helper_add(&tplane->plane, &tidss_plane_helper_funcs);
>
> - drm_plane_create_zpos_property(&tplane->plane, hw_plane_id, 0,
> + drm_plane_create_zpos_property(&tplane->plane, tidss->num_planes, 0,
> num_planes - 1);
>
> ret = drm_plane_create_color_properties(&tplane->plane,
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20240213/ca4e6d63/attachment.sig>
More information about the dri-devel
mailing list