Received: by 2002:ab2:60d1:0:b0:1f7:5705:b850 with SMTP id i17csp1042203lqm; Thu, 2 May 2024 03:40:01 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCV0WkZLogsHgCO2KFQ/yWXiUPw614SaPfl+km0Za6BqyOTeRYBD7/+bUwOrSBApLUn/5sF/AB8hnmBC+KII3wNgOuurwLU+Tphv0Vzttg== X-Google-Smtp-Source: AGHT+IHBovNLEG0SAhD5BiHY1G99vjgkk6Z7+p9nupiOfdjUaULR1TQexlYG1PRyXAcwhS0AYMM9 X-Received: by 2002:a05:620a:22b7:b0:790:c7f6:597b with SMTP id p23-20020a05620a22b700b00790c7f6597bmr4959141qkh.50.1714646401694; Thu, 02 May 2024 03:40:01 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714646401; cv=pass; d=google.com; s=arc-20160816; b=kHyvz+FKpFbcvZZkIhDn8VQEiDxB5Ae8XHTs0dYdkcp/D+Ker4ZHKLvNnHlfJhwozH HocYs9aRCIYXRV6nkoEN4I0uwRiBKZLVmCaD/vCPLiw1KvlXxc2D1sRP+F4i7DLgpjnq bP8hGoHpBHteykqJqXYyQGeTiyfXVPwuounNd2WbHu0PBbg91izBLFXaVfmhWIXD2nSA +/3wyTtm1/753MFJDUm8ho1n4O20oqXHjgkIjaVTzQUuniMxzAm5yGWlRenf6FBNE36n jK8rCDiGnTJMpbbWtv7Zqpb4Vn3x+DkgAYjE6Pvv+4XM1PxZeO3J+jkimJ7zRTlytgZy Jmow== 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=ho1m7y8e9pzYaSYEafOMi4OhrBylaSeJ6FPOfGSmFKc=; fh=cqg78MBO8cP6SLb/TWVgj1yGZGMGc3K34EILqL+DU6g=; b=TqgcOQBcdsCo6qvwk5T3qCj/HqVrIhctZLflZ6MVLYIRd/nWbvqNXMapE/mUbBdqst VCM8FJ9C7oXxfPFaFdt6QB37aM8pQMC4KuGSy40sKKq6e/xUXfbNAS8fkIv0cRgH6e8g ITKGu9qohr1ehtZAPH2LMOO4hq/SU2pwPgzKdEcQ8gdC1DCySNait2GLe0oZO5Ss72iY nKN1VfeMOPnzVZctOSCVaUAQidmsP4Xu9tLMuQL5Oom3wXawT3Ha6XNWQB//wp038O8j lMaln/ljfjwr9DHSRMIDb06CEItQK/VNG0GZup4ClQ/yOceGjtv0sI2NIQzej8vQs3Wq sjJg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=Mg1J6gkV; 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-166319-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-166319-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id pe26-20020a05620a851a00b00790676d9a2asi614674qkn.503.2024.05.02.03.40.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 May 2024 03:40:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-166319-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=Mg1J6gkV; 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-166319-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-166319-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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 5C4541C2258D for ; Thu, 2 May 2024 10:40:01 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8523C7441E; Thu, 2 May 2024 10:39:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Mg1J6gkV" Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) (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 232425E060 for ; Thu, 2 May 2024 10:39:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.61.82.184 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714646345; cv=none; b=ZTDpdNDCzKCNo0cNQmU37tGClTtK2GwxLlCP9l2YEi1RFo7ZuAgfGKRbJV9mj+YkhN+lAJ79qGAbdH4JpmTUoMar4fL8wuBQplH16D+3yEjXrR0KPyl/RQaVkj4cCZHBjpveDboIBd2AuGLgriCvf3FHgAVuixZn9jfpSmOGJsM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714646345; c=relaxed/simple; bh=WRhnjvXMIIDjjJ8H4KkA7Z8AiNY2z0NoOeaxdlITpiA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WJHHXzZr2EiFlkS2Ix7H78VgN5TvzyUov//oN93Xj64/bWRcSjNXu992GWEj0Uz00nYMQ7Fo9y2tjTHfSM2OxpfTAeNkmIwHFSkEYooAFnJKLPJpjZxG2qbkPBQG6IQMrXjeyRHRaXU49j4Zaz7GqLY00VZIq4qWz0nlEYG2xrk= 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=Mg1J6gkV; arc=none smtp.client-ip=210.61.82.184 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: 2e61e8d2087011ef8065b7b53f7091ad-20240502 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=ho1m7y8e9pzYaSYEafOMi4OhrBylaSeJ6FPOfGSmFKc=; b=Mg1J6gkV35AyRFfpJCbJJ8ysjwtlzygnPV9VYKE55vVi/avifJaB2ZM+qwVyVzQrFdeDxF5Meoc4mBeX/6ISMiV2FzAsbDWoLMS08m3Q2VVNjdEToJh+mzYf3bYR/lU9xvLZV5GeAf36jlhJFp4dUK/1szHU1IPcgqZkgkMMybA=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.38,REQID:75e5ade4-f5f0-4e97-8bd7-40b9d8dc2138,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:82c5f88,CLOUDID:aaee9afb-ed05-4274-9204-014369d201e8,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: 2e61e8d2087011ef8065b7b53f7091ad-20240502 Received: from mtkmbs09n2.mediatek.inc [(172.21.101.94)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 312689000; Thu, 02 May 2024 18:38:57 +0800 Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Thu, 2 May 2024 18:38:56 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Thu, 2 May 2024 18:38:56 +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 v7 05/18] drm/mediatek: Set DRM mode configs accordingly Date: Thu, 2 May 2024 18:38:35 +0800 Message-ID: <20240502103848.5845-6-shawn.sung@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20240502103848.5845-1-shawn.sung@mediatek.com> References: <20240502103848.5845-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-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--10.671800-8.000000 X-TMASE-MatchedRID: 1vUR7w2Sp1Wp2D+ysBQGea/Zw8tRb535XcpmQXLhhkT82ks92f+GmmDW IecfJljDHbsZzgcvuQS2rS8tOdXbYZz3nEP4SjjAiS8eKdD/7uRZT2gl0gqGyo5RXzY0MfgCcHj giTON9jJOFu8ssjxG8zBlAzQBY9aAiMEMY19wocyQOktEo73GFGf6wD367VgtmnnIaNaZOLHIrl nIALCsEkyabxvG0Vndb44manJ1+nISs974RyhTi7MjW/sniEQK+LidURF+DB2Yh23xcUPEK6PFj JEFr+olwXCBO/GKkVr3FLeZXNZS4KBkcgGnJ4WmUbyF4Pfa3XY2PoEg0egqMQdyb7+QEyti7WoK CaxgX0h+3BndfXUhXQ== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--10.671800-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: 28A5187A317EB04408ECA59536C4B9A1CDD8AFBE987067CBEE9E4C611F8824C82000:8 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 | 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 8e047043202b4..c9cad3a827376 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 78d698ede1bf8..6cfa790e8df5c 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; + + int max_width; + int min_width; + int min_height; }; struct mtk_drm_private { -- 2.18.0