From patchwork Wed Dec 7 08:44:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?TW91ZHkgSG8gKOS9leWul+WOnyk=?= X-Patchwork-Id: 30703 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp59921wrr; Wed, 7 Dec 2022 00:46:33 -0800 (PST) X-Google-Smtp-Source: AA0mqf6VU+S3JCuZCO+ge92t4QqUF4z0tgDm5ciNEtRx8fZ/UfaQTncupScXEZTi1D87Fr2JAza/ X-Received: by 2002:a17:90a:d58a:b0:20d:48bc:6666 with SMTP id v10-20020a17090ad58a00b0020d48bc6666mr97225552pju.98.1670402792937; Wed, 07 Dec 2022 00:46:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670402792; cv=none; d=google.com; s=arc-20160816; b=lMYw8cmvA8w262mph0ENGQKnwMCYTyN4pulzLcjEH4THqgr5a+OyTiGFwzP8KiHWYB /XaPOT9cLv9Gz5TZlIU/ALNqwYBdkO5qW6cZnrydOUf8rAyXcrCJ1svF6OUaf2vwfjZw oMl4d2vMORROyAA7+zNmR9Wd7x6Fe5EjiDXVygg/43OtEOIQCx64fLnpsORCU4KKSb9L b7yeAOqbw0xSvT8/Dn8ZOmxTVN5y0jzInEVcSE6k2SPxB7f3UgiWQ1yNcJW5DWF+tKkJ 2Oa0vxtLJNydffyXJ4BRHgTIyXRuVf1PzCnaLCMPiKNUz8HIeQByr8S3aldw1a5aWp8D qOOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=XGWtzqysHWwyBDnERg/YWC0l0GaSJFvhb+qWs3XLQOk=; b=MRvOqfbV9qs5JsD/cFl3FCINw/qeNt3Vnpjx0SBB06rLIoqKEYjKuVxKm/0vczfx34 Guf4Niv9yHr9reJz9Ls9aG8ZYpCFet4dEbwvg5iFIn5egVbrwOv+nhiZe9w6vqVN7sU5 gkHg4BWICufkWC+BXySAytSjwfCxOlurkx//xD/A4159hxsihK2fEQq0LkRAIgb6hNld VHfZ4CxK/4xk/xmpdd9Ltz8/RqhOZRYQFe+mCs8gdw+uXhMx+rsPnMziIckXFflLrA3N AfwXM1LPcbb1ihPwG0hhROOJtPu/YVCOnQITith6UqIH2CB9ByXEVFRyJuFZk0QNSuul Gtpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=hOWj7MJ2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w131-20020a627b89000000b0057743e34597si3867106pfc.272.2022.12.07.00.46.19; Wed, 07 Dec 2022 00:46:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=hOWj7MJ2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230006AbiLGIpm (ORCPT + 99 others); Wed, 7 Dec 2022 03:45:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229929AbiLGIos (ORCPT ); Wed, 7 Dec 2022 03:44:48 -0500 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B450F31FA6; Wed, 7 Dec 2022 00:44:22 -0800 (PST) X-UUID: d8aa0334500f491a9fe713ecdfd28020-20221207 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=XGWtzqysHWwyBDnERg/YWC0l0GaSJFvhb+qWs3XLQOk=; b=hOWj7MJ2QaNEqnEZWJoUEoe2Pha7osq0oggBb8eserZyuAlMUqCaLmU+2FDml/j6P9DgAXGlZ8jYMWhgb/U+70I4hCu/HjjYwTGE6aVDrCdWvH6yoz5QmZGUIfF6tQmSo1a2UCrbj7+3fz7n/6PJOxNgXViJBlNsX+dEeVK6Q3o=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.14,REQID:962addba-b87a-4ae6-bb39-204a7826091b,IP:0,U RL:0,TC:0,Content:-25,EDM:0,RT:0,SF:95,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:70 X-CID-INFO: VERSION:1.1.14,REQID:962addba-b87a-4ae6-bb39-204a7826091b,IP:0,URL :0,TC:0,Content:-25,EDM:0,RT:0,SF:95,FILE:0,BULK:0,RULE:Spam_GS981B3D,ACTI ON:quarantine,TS:70 X-CID-META: VersionHash:dcaaed0,CLOUDID:18f79024-4387-4253-a41d-4f6f2296b154,B ulkID:221207164417CSDHTC2Z,BulkQuantity:0,Recheck:0,SF:38|28|17|19|48,TC:n il,Content:0,EDM:-3,IP:nil,URL:0,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0 X-UUID: d8aa0334500f491a9fe713ecdfd28020-20221207 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 343259734; Wed, 07 Dec 2022 16:44:15 +0800 Received: from mtkmbs11n2.mediatek.inc (172.21.101.187) 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.792.15; Wed, 7 Dec 2022 16:44:14 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs11n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.792.15 via Frontend Transport; Wed, 7 Dec 2022 16:44:14 +0800 From: Moudy Ho To: Rob Herring , Krzysztof Kozlowski , Matthias Brugger , AngeloGioacchino Del Regno , Chun-Kuang Hu CC: , , , , , Moudy Ho Subject: [PATCH v2 08/12] media: platform: mtk-mdp3: avoid multiple driver registrations Date: Wed, 7 Dec 2022 16:44:08 +0800 Message-ID: <20221207084412.14075-9-moudy.ho@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20221207084412.14075-1-moudy.ho@mediatek.com> References: <20221207084412.14075-1-moudy.ho@mediatek.com> MIME-Version: 1.0 X-MTK: N X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751544278626408121?= X-GMAIL-MSGID: =?utf-8?q?1751544278626408121?= The number of MDP3 driver probes depends on the registered clocks of MMSYS. Because VPPSYS0 and VPPSYS1 are used in MT8195 MDP3, it is necessary to avoid multiple driver registrations. Signed-off-by: Moudy Ho --- drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c | 7 ++++++- drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c index 56c42bd3f16b..6e3abadef6cd 100644 --- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c +++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c @@ -187,6 +187,11 @@ static int mdp_probe(struct platform_device *pdev) mdp->pdev = pdev; mdp->mdp_data = of_device_get_match_data(&pdev->dev); + if (strcmp(dev->of_node->name, MDP_NODE_NAME)) { + platform_set_drvdata(pdev, mdp); + goto success_return; + } + mm_pdev = __get_pdev_by_id(pdev, NULL, MDP_INFRA_MMSYS); if (IS_ERR_OR_NULL(mm_pdev)) { ret = -ENODEV; @@ -224,7 +229,6 @@ static int mdp_probe(struct platform_device *pdev) p = (id && mm2_pdev) ? mm2_pdev : mm_pdev; m = (id && mm2_pdev) ? mdp->mdp_mutex2 : mdp->mdp_mutex; - if (m[mutex_id]) continue; m[mutex_id] = mtk_mutex_get(&p->dev); @@ -293,6 +297,7 @@ static int mdp_probe(struct platform_device *pdev) goto err_unregister_device; } +success_return: dev_dbg(dev, "mdp-%d registered successfully\n", pdev->id); return 0; diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h index 49b6e9c8e089..e5bd75ff90ee 100644 --- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h +++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h @@ -14,6 +14,7 @@ #include "mtk-mdp3-comp.h" #include "mtk-mdp3-vpu.h" +#define MDP_NODE_NAME "mdp3-rdma0" #define MDP_MODULE_NAME "mtk-mdp3" #define MDP_DEVICE_NAME "MediaTek MDP3" #define MDP_PHANDLE_NAME "mediatek,mdp3"