[PATCH v2 05/11] drm/mediatek: Adjust DRM mode configs for IGT

Hsiao Chien Sung posted 11 patches 1 year ago
There is a newer version of this series
[PATCH v2 05/11] drm/mediatek: Adjust DRM mode configs for IGT
Posted by Hsiao Chien Sung 1 year ago
IGT (Intel GPU Tool) could commit the following planes
during the test:

kms_plane:

The sub-tests pixel-format-* will create planes with
size of 1 or 4512 pixels, these size will be rejected
by the original mode configs.
Adjust minimum and maximum value of both plane width
and height.

kms_cursor_crc:

If cursor_width and cursor_height is not defined,
IGT uses min_width and min_height as the limitation
when creating cursor plane so sub-tests like
cursor-rapid-movement will be skipped.
Set cursor_width and cursor_height to 512 pixel can
solve the problem.

Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index 7759a06e5c0e..62581b2a470b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -429,16 +429,18 @@ static int mtk_drm_kms_init(struct drm_device *drm)
 	if (ret)
 		goto put_mutex_dev;
 
-	drm->mode_config.min_width = 64;
-	drm->mode_config.min_height = 64;
+	drm->mode_config.min_width = 1;
+	drm->mode_config.min_height = 1;
 
 	/*
 	 * set max width and height as default value(4096x4096).
 	 * this value would be used to check framebuffer size limitation
 	 * at drm_mode_addfb().
 	 */
-	drm->mode_config.max_width = 4096;
-	drm->mode_config.max_height = 4096;
+	drm->mode_config.max_width = 8191;
+	drm->mode_config.max_height = 8191;
+	drm->mode_config.cursor_width = 512;
+	drm->mode_config.cursor_height = 512;
 	drm->mode_config.funcs = &mtk_drm_mode_config_funcs;
 	drm->mode_config.helper_private = &mtk_drm_mode_config_helpers;
 
-- 
2.18.0
Re: [PATCH v2 05/11] drm/mediatek: Adjust DRM mode configs for IGT
Posted by CK Hu (胡俊光) 1 year ago
Hi, Hsiao-chien:

On Mon, 2023-09-18 at 16:42 +0800, Hsiao Chien Sung wrote:
> IGT (Intel GPU Tool) could commit the following planes
> during the test:
> 
> kms_plane:
> 
> The sub-tests pixel-format-* will create planes with
> size of 1 or 4512 pixels, these size will be rejected
> by the original mode configs.
> Adjust minimum and maximum value of both plane width
> and height.
> 
> kms_cursor_crc:
> 
> If cursor_width and cursor_height is not defined,
> IGT uses min_width and min_height as the limitation
> when creating cursor plane so sub-tests like
> cursor-rapid-movement will be skipped.
> Set cursor_width and cursor_height to 512 pixel can
> solve the problem.
> 
> Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com>
> ---
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index 7759a06e5c0e..62581b2a470b 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -429,16 +429,18 @@ static int mtk_drm_kms_init(struct drm_device
> *drm)
>  	if (ret)
>  		goto put_mutex_dev;
>  
> -	drm->mode_config.min_width = 64;
> -	drm->mode_config.min_height = 64;
> +	drm->mode_config.min_width = 1;
> +	drm->mode_config.min_height = 1;
>  
>  	/*
>  	 * set max width and height as default value(4096x4096).
>  	 * this value would be used to check framebuffer size
> limitation
>  	 * at drm_mode_addfb().
>  	 */
> -	drm->mode_config.max_width = 4096;
> -	drm->mode_config.max_height = 4096;
> +	drm->mode_config.max_width = 8191;
> +	drm->mode_config.max_height = 8191;
> +	drm->mode_config.cursor_width = 512;
> +	drm->mode_config.cursor_height = 512;

All the setting depend on the hardware limitation. This driver support
mt8173, mt8183, .... Please make sure all SoC support this
modification. Or you just modify this for the SoC you have test.

I do not like the title mention about IGT. I think this title should be
"align mode_config to hardware limitation".

Regards,
CK

>  	drm->mode_config.funcs = &mtk_drm_mode_config_funcs;
>  	drm->mode_config.helper_private = &mtk_drm_mode_config_helpers;
>