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 <m...@igalia.com>
> 
> Signed-off-by: José Expósito <jose.exposit...@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
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to