Received: by 2002:a89:413:0:b0:1fd:dba5:e537 with SMTP id m19csp1721626lqs; Sun, 16 Jun 2024 01:30:00 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUONW29vtZtI95aT3FUjxBkOKKn3efGrYcZMuveHFPtLGsubVVLL/i4B5EtFFjlGdKX/UWcaUp2qcCVHKDF5MYbRs+HumjyKyvIqwZWIw== X-Google-Smtp-Source: AGHT+IHPj/dQeL0+yct8ASAKNVL6hXf/9f4phsow4XdEfFvFmuhbIy9UHFUbnd728/qFGoFVQLQA X-Received: by 2002:a25:2603:0:b0:df7:8374:1f72 with SMTP id 3f1490d57ef6-dff1524c50emr5791203276.8.1718526600735; Sun, 16 Jun 2024 01:30:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718526600; cv=pass; d=google.com; s=arc-20160816; b=Q+XESmw+WsLngZKyn5SWSttlgzGk8qOM3L2pLKU/CaJri8/7I/J+vtdVUb/bCCsZUT dI5YQvk5lUd+wiaYbIdUhOzvhHC8CFejPZAXmx9XOKsH5EIEzrHykDqWqaU1p8LLztXy 0Hi/72yA5k1PNjjI7zFfOcu615l2OOoamOp1eEFo9nu9fzIaST+hQ30l9/tnr/aFeO+R VC0HRg1ArsTQm/HGQyb/0Q8JSXmuFhMtNm7wUEh7l6DVvijFXBJtlfa3dpT7NpLBrAwx kYGxV086/LSSDP76h2aSx99rnyoqWBd+hrhBLZ83Hj/3r4jNcoPZyBqsc86qC6ea6tSC 2BMQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=reply-to:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:subject:date:from:dkim-signature; bh=DAUnq4J6P5LAcdi4tGHOcxlxdSGDXSO63d6EYLV16E4=; fh=6tE54z06ulRkgzfrooKGswCitNkbv5FNTOdWO2JiScs=; b=KeL+t8/zjWf/QRYmJKz+1qRmHy57d0eJyXZ9avSoX2L0m0E/caXnb98kqmQouMx0Lu /4oi1flyaJq/o3IN4XdU+5I9iOdHNxgFrVQi1MD4JHBMvcBuYZWvXK/62cr8w2rIGCUk DuP8abEsB1BznGQMS89Kd+r2r1ZnzxNGxSKQXH2YN7qM3p2dActhPZryquP634F4w2iy Msb50plfrNH8AderPxafDZyQIwB0RdzntGrAxYhZ3NOXmd/CgrS8TcfOwE6cSmMvmfaL KCnB2e8/FNIdiaOnsuO6N3ApTDKGt4hJJF6Z8wGhR1f2ro6OFkOQm3/m1VnqnCgH75US Xo2w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LqemOIu2; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-216192-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-216192-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id 41be03b00d2f7-6fede82385dsi6865921a12.232.2024.06.16.01.30.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Jun 2024 01:30:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-216192-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LqemOIu2; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-216192-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-216192-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4A595281B43 for ; Sun, 16 Jun 2024 08:30:00 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D5B4F187578; Sun, 16 Jun 2024 08:29:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LqemOIu2" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 858B4186E34 for ; Sun, 16 Jun 2024 08:29:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718526555; cv=none; b=chHQFyGRZ+TXGE+ausyI96PcreCndVXM2Abdr3vAkSjeNpWBf4FNo7Q0gZVXwmnxc9F0i3g93AbDMd2lcD8sPjQ9mU80gph74SSQLMchvhUfPBg3zqbq/rb85SvqjAHc0wYA4W/oVtH3ZgRQqacHV4O/AxSC7pnvGE5Aw+pxTI4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718526555; c=relaxed/simple; bh=WzX7iZz9NtnoD6KfRAFjbOWCri2OoSCND0g7q5cZSKQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VbEzw/K3BU62+pqqpYd+28XUPL4uUyOEJC371AyESepkgi9rH8WBZVMBS7y3mqnjWAwUYEQzq7CyJjEB5GvW5oI35s7O3HfBXmEkEC2boklExWneqvKSYpT6/MW3xBfQ0h4nwG0DruuAUZ3lQp336uasluHZo+KWy4wpHgcCR4U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LqemOIu2; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPS id 1A65FC4AF51; Sun, 16 Jun 2024 08:29:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1718526555; bh=WzX7iZz9NtnoD6KfRAFjbOWCri2OoSCND0g7q5cZSKQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=LqemOIu2T6VCzVOjSw9FMhF/gqBKJabQ9aVGKb/+tLwfqYoRU+A1RhXfr+pnIgnQX hXhx2F6HE3ihXMnSUxfhYgh4AmoFLOfFhTLaEw+GyKzfuQQXw3KXRq9T06qsPc/v43 demb8JdoK/8gfYlShmUkYnebB1Tl4yMELYytxjtb0PmfdObSThJfYlvpWeNS1iXf05 8hC+dL+JJx0Fh4VkehHahhyqGGNk0W39pzxyx2ZxLNqf9Yvk+mhGHJPG7b4FLqHRg2 3dy301MdAYwDjhfrx/jEClAmnaIJWVRhiUXQ8D3RIctc48PRiU/K5syZhOWlf3y7Nn bd0bfFq4zIiRQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E287C27C6E; Sun, 16 Jun 2024 08:29:15 +0000 (UTC) From: Hsiao Chien Sung via B4 Relay Date: Sun, 16 Jun 2024 16:29:15 +0800 Subject: [PATCH 05/13] drm/mediatek: Set DRM mode configs accordingly Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20240616-mediatek-drm-next-v1-5-7e8f9cf785d8@mediatek.com> References: <20240616-mediatek-drm-next-v1-0-7e8f9cf785d8@mediatek.com> In-Reply-To: <20240616-mediatek-drm-next-v1-0-7e8f9cf785d8@mediatek.com> To: Chun-Kuang Hu , Philipp Zabel , David Airlie , Daniel Vetter , Matthias Brugger , AngeloGioacchino Del Regno , CK Hu , Bibby Hsieh , Daniel Kurtz , YT Shen , Mao Huang , "Nancy.Lin" Cc: dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Hsiao Chien Sung X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718526553; l=3538; i=shawn.sung@mediatek.com; s=20240616; h=from:subject:message-id; bh=rS4Xgj0LEBxL5IBSK6SfigvQYUwjVgXB9N8a+kyhjQ0=; b=qF1dFvFbwtywWNIOyWPa1EYEmFS4lCD0eaUNTl71JJQocJoOWBv/HziWutIRyJqwQ2RpAbrr3 j85cNWd28hwDLKGs1gcOJe4Pil5ya4lVv6OgOrSH7fFYE9N0T2fq288 X-Developer-Key: i=shawn.sung@mediatek.com; a=ed25519; pk=lq1w8BuWDINX+4JHjGHhhbAU5ICP+cL9VCj7wn+cEDA= X-Endpoint-Received: by B4 Relay for shawn.sung@mediatek.com/20240616 with auth_id=172 X-Original-From: Hsiao Chien Sung Reply-To: shawn.sung@mediatek.com From: Hsiao Chien Sung Set DRM mode configs limitation according to the hardware capabilities and pass the IGT checks as below: - The test "graphics.IgtKms.kms_plane" requires a frame buffer with width of 4512 pixels (> 4096). - The test "graphics.IgtKms.kms_cursor_crc" checks if the cursor size is defined, and run the test with cursor size from 1x1 to 512x512. Please notice that the test conditions may change as IGT is updated. Reviewed-by: CK Hu Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Hsiao Chien Sung --- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 22 ++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_drv.h | 4 ++++ 2 files changed, 26 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index 8e047043202b..c9cad3a82737 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -294,6 +294,9 @@ static const struct mtk_mmsys_driver_data mt8188_vdosys0_driver_data = { .conn_routes = mt8188_mtk_ddp_main_routes, .num_conn_routes = ARRAY_SIZE(mt8188_mtk_ddp_main_routes), .mmsys_dev_num = 2, + .max_width = 8191, + .min_width = 1, + .min_height = 1, }; static const struct mtk_mmsys_driver_data mt8192_mmsys_driver_data = { @@ -308,6 +311,9 @@ static const struct mtk_mmsys_driver_data mt8195_vdosys0_driver_data = { .main_path = mt8195_mtk_ddp_main, .main_len = ARRAY_SIZE(mt8195_mtk_ddp_main), .mmsys_dev_num = 2, + .max_width = 8191, + .min_width = 1, + .min_height = 1, }; static const struct mtk_mmsys_driver_data mt8195_vdosys1_driver_data = { @@ -315,6 +321,9 @@ static const struct mtk_mmsys_driver_data mt8195_vdosys1_driver_data = { .ext_len = ARRAY_SIZE(mt8195_mtk_ddp_ext), .mmsys_id = 1, .mmsys_dev_num = 2, + .max_width = 8191, + .min_width = 2, /* 2-pixel align when ethdr is bypassed */ + .min_height = 1, }; static const struct of_device_id mtk_drm_of_ids[] = { @@ -493,6 +502,15 @@ static int mtk_drm_kms_init(struct drm_device *drm) for (j = 0; j < private->data->mmsys_dev_num; j++) { priv_n = private->all_drm_private[j]; + if (priv_n->data->max_width) + drm->mode_config.max_width = priv_n->data->max_width; + + if (priv_n->data->min_width) + drm->mode_config.min_width = priv_n->data->min_width; + + if (priv_n->data->min_height) + drm->mode_config.min_height = priv_n->data->min_height; + if (i == CRTC_MAIN && priv_n->data->main_len) { ret = mtk_crtc_create(drm, priv_n->data->main_path, priv_n->data->main_len, j, @@ -520,6 +538,10 @@ static int mtk_drm_kms_init(struct drm_device *drm) } } + /* IGT will check if the cursor size is configured */ + drm->mode_config.cursor_width = drm->mode_config.max_width; + drm->mode_config.cursor_height = drm->mode_config.max_height; + /* Use OVL device for all DMA memory allocations */ crtc = drm_crtc_from_index(drm, 0); if (crtc) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.h b/drivers/gpu/drm/mediatek/mtk_drm_drv.h index 78d698ede1bf..ce897984de51 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.h +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.h @@ -46,6 +46,10 @@ struct mtk_mmsys_driver_data { bool shadow_register; unsigned int mmsys_id; unsigned int mmsys_dev_num; + + u16 max_width; + u16 min_width; + u16 min_height; }; struct mtk_drm_private { -- Git-146)