lkml.org 
[lkml]   [2022]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RESEND v2 2/3] drm/vkms: add support for multiple overlay planes
On 01/07, José Expósito wrote:
> Create 8 overlay planes instead of 1 when the "enable_overlay" module
> parameter is set.
>
> The following igt-gpu-tools tests were executed without finding
> regressions. Notice than the numbers are identical:
>
> | master branch | this patch |
> | SUCCESS | SKIP | FAIL | SUCCESS | SKIP | FAIL |
> kms_atomic | 10 | 02 | 00 | 10 | 02 | 00 |
> kms_plane_cursor | 09 | 45 | 00 | 09 | 45 | 00 |
> kms_plane_multiple | 01 | 23 | 00 | 01 | 23 | 00 |
> kms_writeback | 04 | 00 | 00 | 04 | 00 | 00 |

I checked that several testcases from kms_cursor_crc are failing after
recent changes in the test. However, this regression is not caused by
these changes and need futher investigation for fixing.

That said, this patch lgtm.

Reviewed-by: Melissa Wen <mwen@igalia.com>
>
> Signed-off-by: José Expósito <jose.exposito89@gmail.com>
>
> ---
>
> v2:
>
> - Set the number of overlay planes as a constant instead of as a
> module parameter (Melissa Wen)
>
> - Add a test results in the commit message (Melissa Wen)
> ---
> drivers/gpu/drm/vkms/vkms_drv.h | 2 ++
> drivers/gpu/drm/vkms/vkms_output.c | 9 ++++++---
> 2 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.h b/drivers/gpu/drm/vkms/vkms_drv.h
> index d48c23d40ce5..9496fdc900b8 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.h
> +++ b/drivers/gpu/drm/vkms/vkms_drv.h
> @@ -20,6 +20,8 @@
> #define XRES_MAX 8192
> #define YRES_MAX 8192
>
> +#define NUM_OVERLAY_PLANES 8
> +
> struct vkms_writeback_job {
> struct dma_buf_map map[DRM_FORMAT_MAX_PLANES];
> struct dma_buf_map data[DRM_FORMAT_MAX_PLANES];
> diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c
> index 2e805b2d36ae..ba0e82ae549a 100644
> --- a/drivers/gpu/drm/vkms/vkms_output.c
> +++ b/drivers/gpu/drm/vkms/vkms_output.c
> @@ -57,15 +57,18 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index)
> struct vkms_plane *primary, *cursor = NULL;
> int ret;
> int writeback;
> + unsigned int n;
>
> primary = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_PRIMARY, index);
> if (IS_ERR(primary))
> return PTR_ERR(primary);
>
> if (vkmsdev->config->overlay) {
> - ret = vkms_add_overlay_plane(vkmsdev, index, crtc);
> - if (ret)
> - return ret;
> + for (n = 0; n < NUM_OVERLAY_PLANES; n++) {
> + ret = vkms_add_overlay_plane(vkmsdev, index, crtc);
> + if (ret)
> + return ret;
> + }
> }
>
> if (vkmsdev->config->cursor) {
> --
> 2.25.1
>
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2022-01-09 18:01    [W:0.052 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site