Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp914495lqp; Thu, 21 Mar 2024 22:29:05 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCV4riV3uB9VqRxrAxoDxoot0M7KzMz+tAkpOl4zs/SnDRIoKD9b55HM2axzXXKyTOEtiH909wHfUECs6rs/grh9DAw727gQrzl8zdoyaQ== X-Google-Smtp-Source: AGHT+IFzkSQ8lWRztSvYWINcifk8Q4rBImK7ZU+dORJDqaYSvSb5iDK/1aKtOJH/O4+WWShO99bx X-Received: by 2002:a25:8208:0:b0:dcb:f7a0:b031 with SMTP id q8-20020a258208000000b00dcbf7a0b031mr1220122ybk.50.1711085345493; Thu, 21 Mar 2024 22:29:05 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711085345; cv=pass; d=google.com; s=arc-20160816; b=s/bZvzm3rrQlukyx+lAQ/8fLYNKgT+/+t1NsWbOZPvSAQKysNQr4kW8f9fIEFY7VDk uNFw7eDTevHgA3QDBIc8T8c4VjqfTdghmTsKt/iFmHxY9MqytVKXE6gnOXvAqH6lGUST Ls3AmMOD2QRFhqTmoGXdNo0Xe+xP9atLdPtKYW6Xrm1Y6M68bcGTFB8Oo4O3hhzUa7JQ pl7Vswv3lX/dJ/kcX0TyYCUlMeHAB434I3A1DXQEubiBzIuToo/1MFlGjvP5Z7sBNjnA yJAW+fz+sHbBZmZQB0K2D3Ct8NUub2Rc1raARExHNis+zxA284HsPiQ0YL+1o2++hu1d 91fw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=rGUqQgYxK8AN+YUxRzJSj7rMfLVJVO2R25yg+wEK1G4=; fh=WDbJBf7vmcLtsuNVv5t5UxvBRtuOFYPCW/4VP7Yx+3k=; b=IDUymE3KYYgWwr1295/MocOYI12qbBGL6Y8wOABUAo9kJAXaMfeo8HbAO2rjk6LySG l04zxGcg4xIHJJN1DmnSvUKIfE6nGglORAu+D6VqEswLc0yqLChy0P3ktTsH/LK1t6cg IeycYK0tPvG92pnQcVmZ6EVLDij+Do99eE6HrJRpS82Rb+9GPdnXyYtSXTURLFJSID27 hSdugV0qZUcol/gLmAIOliwqmsj2BDRuqebfa6V2wlVC5aMOO+3R6jX0PrwtZPHrGGzK EX5KKXdRNpyNKoR0rVSCfnQ/U0l0ng7yzByy+1QG4BOuLJgp5rZ9fWpnDe9+/E4IE8RA fA3g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="K/TbPv/Y"; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-kernel+bounces-110941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-110941-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id w31-20020a63161f000000b005d8e3490d49si1267226pgl.407.2024.03.21.22.29.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Mar 2024 22:29:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-110941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="K/TbPv/Y"; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-kernel+bounces-110941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-110941-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com 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 EABE3283B92 for ; Fri, 22 Mar 2024 05:29:04 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F3384F9D9; Fri, 22 Mar 2024 05:28:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="K/TbPv/Y" Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) (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 E3C818C11 for ; Fri, 22 Mar 2024 05:28:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=60.244.123.138 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711085321; cv=none; b=XS6ViX/FmW8q8el5NEHa7QBIH7UtQrEE7P9a38rGCyDkdl6JwLFRNaaba3pg3G3BCh/0B91hu4z3Px/6eB9YqwKLa8wezhxQOwylHvFAfihXxiJN88b9+aF4ojZ0e7/x0sccae3AIMDgewSD9np2shd5NVloNpoGER4HgD+SkAE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711085321; c=relaxed/simple; bh=4At4V2MX34AZWv8JuQSGRMEBpcocE0qG194Cp0Cwt3M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=P9vmffMnbLZTcSl76S9VvnGMq4RP8/gJKiI3p3GyvB4EQ3asLxKKUy41uXkmMDHgce3MZQJeuMb7HSy4v7Q7JA6BayDcrJ6VH+G4LqKmQS2QqOd/dewX1rbmU9JMrGrsM9m8YZXXHcXwYWhOVG/olb7V+5YrwKxovetPmYcaZCs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=K/TbPv/Y; arc=none smtp.client-ip=60.244.123.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com X-UUID: 0557c458e80d11eeb8927bc1f75efef4-20240322 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=rGUqQgYxK8AN+YUxRzJSj7rMfLVJVO2R25yg+wEK1G4=; b=K/TbPv/YMtoBTIgjL0IsjIGKa6SE6FZiAWSKddyyGAXhyr9eW2n1sVvTqsaFaz0qReFI1pOUdlG71+MvvlWCEZ6g4O1OKt61UbAEuvrbUu9DuxthH7Awkl/tcy1gx/y89mgw9hx9uAT5Y7a7mTTB6EhJBMAefF4c4n3kdzZvoOM=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.37,REQID:b5faf26e-bdb9-4f94-84b5-4a0c8a6079f6,IP:0,U RL:0,TC:0,Content:-25,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:6f543d0,CLOUDID:d883b390-e2c0-40b0-a8fe-7c7e47299109,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1, SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-UUID: 0557c458e80d11eeb8927bc1f75efef4-20240322 Received: from mtkmbs14n1.mediatek.inc [(172.21.101.75)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1772340586; Fri, 22 Mar 2024 13:28:31 +0800 Received: from mtkmbs13n2.mediatek.inc (172.21.101.108) by mtkmbs11n2.mediatek.inc (172.21.101.187) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Fri, 22 Mar 2024 13:28:31 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs13n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Fri, 22 Mar 2024 13:28:30 +0800 From: Shawn Sung To: Chun-Kuang Hu , AngeloGioacchino Del Regno CC: Philipp Zabel , David Airlie , Daniel Vetter , Matthias Brugger , Bibby Hsieh , CK Hu , "Nancy . Lin" , Fei Shao , Sean Paul , Jason Chen , , , , , Hsiao Chien Sung Subject: [PATCH v6 05/14] drm/mediatek: Set DRM mode configs accordingly Date: Fri, 22 Mar 2024 13:28:20 +0800 Message-ID: <20240322052829.9893-6-shawn.sung@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20240322052829.9893-1-shawn.sung@mediatek.com> References: <20240322052829.9893-1-shawn.sung@mediatek.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain X-MTK: N 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. Signed-off-by: Hsiao Chien Sung --- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 22 ++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_drv.h | 3 +++ 2 files changed, 25 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index 621015b64674d..8e04e9576f7f2 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -296,6 +296,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 = { @@ -310,6 +313,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 = { @@ -317,6 +323,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[] = { @@ -495,6 +504,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, @@ -522,6 +540,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 78d698ede1bf8..8917a14d7c0f2 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.h +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.h @@ -46,6 +46,9 @@ struct mtk_mmsys_driver_data { bool shadow_register; unsigned int mmsys_id; unsigned int mmsys_dev_num; + + int max_width; + int min_width, min_height; }; struct mtk_drm_private { -- 2.18.0