From patchwork Fri Mar 10 05:17:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SmlhLXdlaSBDaGFuZyAo5by15L2z5YGJKQ==?= X-Patchwork-Id: 13168750 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 786E5C6FA99 for ; Fri, 10 Mar 2023 05:19:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=hDTh4j65hOreJtf1Lt6Ee4mBNkhNckT3yWqpS87AVqE=; b=fBBRuJ4CQQa+3f NuPGJ130mcl4shFR4K5olJQ28w2Ha7AbVEm1OhQssi6wUVVWw9C/M3zu+f6wPCXGXrZXYeEsEU8RM M9s7wPNb8T/Gpwfruy26RIahXMe6V1JZ8qNyBchaotbw6EgM7HWTrS5dQzhMD2qdlbJecMz9dixs2 R1jgoVd6mIJiQ7UTCVDpkfIYyugB0MpFA4+gc4ZWZDFkpuL2I0Bu8KIkVvfckLqFCXnTNQiKDKhIp trzm6vW1eOmdJ11pt8xcfUNOR1CsTICVtRwZwfe0elUEaIoZUMFOOvwpGU0lz9WuW5Mv1FqoG3Cyz 1pFCCTNZZb2+2cPWFWDQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9R-00D5mx-KX; Fri, 10 Mar 2023 05:18:45 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9N-00D5lk-EV; Fri, 10 Mar 2023 05:18:42 +0000 X-UUID: 02f438e2bf0311ed8a441d988bb316ae-20230309 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=wgqUXEmxvxiaBB7DcU3rr50wfNtD5hheqE6XcnjFEZM=; b=RPDgXJFhiWCTosO1cDhz5329N9N0/9lRNsYEAev1qVsLcTuFPOhWlwk2kc1aIRLwAkIuVbWD1KZTjqTC9I0Fw1C8V/owlU4B0zfYJ6cw2HZ/rY56FuLmZECI4KdH0nVKPS+YJ+GiQgzmUTwUhS/Tn1G9a1XxZqga+2lONCa5Jp8=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.20,REQID:98051e3b-b567-484e-9d4a-3630c77701ce,IP:0,U RL:0,TC:0,Content:-5,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:-5 X-CID-META: VersionHash:25b5999,CLOUDID:b54fef27-564d-42d9-9875-7c868ee415ec,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:0,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0 X-CID-BVR: 0,NGT X-UUID: 02f438e2bf0311ed8a441d988bb316ae-20230309 Received: from mtkmbs13n2.mediatek.inc [(172.21.101.108)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 513822342; Thu, 09 Mar 2023 22:18:37 -0700 Received: from mtkmbs13n2.mediatek.inc (172.21.101.108) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Fri, 10 Mar 2023 13:17:59 +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.25 via Frontend Transport; Fri, 10 Mar 2023 13:17:59 +0800 From: jia-wei.chang To: "Rafael J . Wysocki" , Viresh Kumar , Matthias Brugger , AngeloGioacchino Del Regno , "Kevin Hilman" , Rex-BC Chen , Jia-Wei Chang CC: , , , , , Nick , Dan Carpenter Subject: [PATCH v1 1/3] cpufreq: mediatek: fix passing zero to 'PTR_ERR' Date: Fri, 10 Mar 2023 13:17:48 +0800 Message-ID: <20230310051750.4745-2-jia-wei.chang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20230310051750.4745-1-jia-wei.chang@mediatek.com> References: <20230310051750.4745-1-jia-wei.chang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230309_211841_516562_55F88303 X-CRM114-Status: GOOD ( 13.97 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: "Jia-Wei Chang" In order to prevent passing zero to 'PTR_ERR' in mtk_cpu_dvfs_info_init(), we fix the return value of of_get_cci() using error pointer by explicitly casting error number. Signed-off-by: Jia-Wei Chang Fixes: 0daa47325bae ("cpufreq: mediatek: Link CCI device to CPU") Reported-by: Dan Carpenter Reviewed-by: AngeloGioacchino Del Regno --- drivers/cpufreq/mediatek-cpufreq.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c index 7f2680bc9a0f..01d949707c37 100644 --- a/drivers/cpufreq/mediatek-cpufreq.c +++ b/drivers/cpufreq/mediatek-cpufreq.c @@ -373,13 +373,13 @@ static struct device *of_get_cci(struct device *cpu_dev) struct platform_device *pdev; np = of_parse_phandle(cpu_dev->of_node, "mediatek,cci", 0); - if (IS_ERR_OR_NULL(np)) - return NULL; + if (!np) + return ERR_PTR(-ENODEV); pdev = of_find_device_by_node(np); of_node_put(np); - if (IS_ERR_OR_NULL(pdev)) - return NULL; + if (!pdev) + return ERR_PTR(-ENODEV); return &pdev->dev; } @@ -401,7 +401,7 @@ static int mtk_cpu_dvfs_info_init(struct mtk_cpu_dvfs_info *info, int cpu) info->ccifreq_bound = false; if (info->soc_data->ccifreq_supported) { info->cci_dev = of_get_cci(info->cpu_dev); - if (IS_ERR_OR_NULL(info->cci_dev)) { + if (IS_ERR(info->cci_dev)) { ret = PTR_ERR(info->cci_dev); dev_err(cpu_dev, "cpu%d: failed to get cci device\n", cpu); return -ENODEV; From patchwork Fri Mar 10 05:17:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SmlhLXdlaSBDaGFuZyAo5by15L2z5YGJKQ==?= X-Patchwork-Id: 13168751 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4497BC64EC4 for ; Fri, 10 Mar 2023 05:19:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qUgi9dnvFE5mXwrBM5VhxwD11Jo+u/6y+tB9cbSCpOc=; b=xgAi6ckv24FNJk JEBWYKtZ/j3HUCfJxNSI5GKnrl4iRmZTt10CU0RNM+NoXTBco+jI7UGBmsQZPY7oymEuXU3Nvne0z /aU5MBEM3ert2NiK4Aaa2WU9fCkLXSy+bDktM/rTRKGLxHDwI4Ztj9R7r4aJBZae5d0KJD4yuQOZW in+t968jBR7Pa6n9CghPzet8eTtI2MLw1EKOEm7aQeEguY0BJ1cwclRrpb6aTUmlhqiT0gjd5J83S VERkMLeB9SqIa85IGL4nevOCilKnamfN+2Be9d7DPTjq3hmEHmgtgSQ1oGYuykm18S6j86cxJll84 bqACQrX76FDW2L0DMEfA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9c-00D5s8-CZ; Fri, 10 Mar 2023 05:18:56 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9S-00D5lR-Pd; Fri, 10 Mar 2023 05:18:49 +0000 X-UUID: 0294213cbf0311eda799af78a38f2b8e-20230309 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=Dtm8xbq2csvA98smfwgVuOSCs4BmphorbiFPeU6GbTg=; b=SMdB+dmhOg/zC0ZzrCZVi/mg2dxWYbCDGAzib+Ttus7SKuOtcTYDYiIxd3RfoaFrfYPlThuK4SK8uUJcVuvf72UX5loArOI04TlNpTYc+TANIloWagnVi3zETUHG+EGKlgxT22OQ2+8vvn22utR6wMea09lS5bo9NfvObm31mDs=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.20,REQID:d7764597-6e07-4953-8db8-2f743adeaac6,IP:0,U RL:0,TC:0,Content:-25,EDM:25,RT:0,SF:95,FILE:0,BULK:0,RULE:Release_Ham,ACT ION:release,TS:95 X-CID-INFO: VERSION:1.1.20,REQID:d7764597-6e07-4953-8db8-2f743adeaac6,IP:0,URL :0,TC:0,Content:-25,EDM:25,RT:0,SF:95,FILE:0,BULK:0,RULE:Spam_GS981B3D,ACT ION:quarantine,TS:95 X-CID-META: VersionHash:25b5999,CLOUDID:894fef27-564d-42d9-9875-7c868ee415ec,B ulkID:230310131806WT2J9FMV,BulkQuantity:1,Recheck:0,SF:38|29|28|17|19|48,T C:nil,Content:0,EDM:5,IP:nil,URL:1,File:nil,Bulk:40,QS:nil,BEC:nil,COL:0,O SI:0,OSA:0,AV:0 X-CID-BVR: 0 X-UUID: 0294213cbf0311eda799af78a38f2b8e-20230309 Received: from mtkmbs13n1.mediatek.inc [(172.21.101.193)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 805227384; Thu, 09 Mar 2023 22:18:36 -0700 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.25; Fri, 10 Mar 2023 13:18:03 +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.25 via Frontend Transport; Fri, 10 Mar 2023 13:18:03 +0800 From: jia-wei.chang To: "Rafael J . Wysocki" , Viresh Kumar , Matthias Brugger , AngeloGioacchino Del Regno , Kevin Hilman , Rex-BC Chen , Jia-Wei Chang CC: , , , , , Nick , Dan Carpenter Subject: [PATCH v1 2/3] cpufreq: mediatek: fix KP caused by handler usage after regulator_put/clk_put Date: Fri, 10 Mar 2023 13:17:49 +0800 Message-ID: <20230310051750.4745-3-jia-wei.chang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20230310051750.4745-1-jia-wei.chang@mediatek.com> References: <20230310051750.4745-1-jia-wei.chang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230309_211846_900202_1E32B429 X-CRM114-Status: GOOD ( 12.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: "Jia-Wei Chang" Any kind of failure in mtk_cpu_dvfs_info_init() will lead to calling regulator_put() or clk_put() and the KP will occur since the regulator/clk handlers are used after released in mtk_cpu_dvfs_info_release(). To prevent the usage after regulator_put()/clk_put(), the regulator/clk handlers are reassigned to NULL value for validation check afterwards. Signed-off-by: Jia-Wei Chang Fixes: 4b9ceb757bbb ("cpufreq: mediatek: Enable clocks and regulators") Reported-by: AngeloGioacchino Del Regno Link: https://lore.kernel.org/linux-arm-kernel/20220921071913.p7kwsjnnuad2jgvk@vireshk-i7/T/ Reviewed-by: AngeloGioacchino Del Regno --- drivers/cpufreq/mediatek-cpufreq.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c index 01d949707c37..cb8b76f9c2c3 100644 --- a/drivers/cpufreq/mediatek-cpufreq.c +++ b/drivers/cpufreq/mediatek-cpufreq.c @@ -539,35 +539,47 @@ static int mtk_cpu_dvfs_info_init(struct mtk_cpu_dvfs_info *info, int cpu) if (info->sram_reg && regulator_is_enabled(info->sram_reg)) regulator_disable(info->sram_reg); - if (!IS_ERR(info->proc_reg)) + if (!IS_ERR(info->proc_reg)) { regulator_put(info->proc_reg); - if (!IS_ERR(info->sram_reg)) + info->proc_reg = NULL; + } + if (!IS_ERR(info->sram_reg)) { regulator_put(info->sram_reg); - if (!IS_ERR(info->cpu_clk)) + info->sram_reg = NULL; + } + if (!IS_ERR(info->cpu_clk)) { clk_put(info->cpu_clk); - if (!IS_ERR(info->inter_clk)) + info->cpu_clk = NULL; + } + if (!IS_ERR(info->inter_clk)) { clk_put(info->inter_clk); + info->inter_clk = NULL; + } return ret; } static void mtk_cpu_dvfs_info_release(struct mtk_cpu_dvfs_info *info) { - if (!IS_ERR(info->proc_reg)) { + if (!IS_ERR_OR_NULL(info->proc_reg)) { regulator_disable(info->proc_reg); regulator_put(info->proc_reg); + info->proc_reg = NULL; } - if (!IS_ERR(info->sram_reg)) { + if (!IS_ERR_OR_NULL(info->sram_reg)) { regulator_disable(info->sram_reg); regulator_put(info->sram_reg); + info->sram_reg = NULL; } - if (!IS_ERR(info->cpu_clk)) { + if (!IS_ERR_OR_NULL(info->cpu_clk)) { clk_disable_unprepare(info->cpu_clk); clk_put(info->cpu_clk); + info->cpu_clk = NULL; } - if (!IS_ERR(info->inter_clk)) { + if (!IS_ERR_OR_NULL(info->inter_clk)) { clk_disable_unprepare(info->inter_clk); clk_put(info->inter_clk); + info->inter_clk = NULL; } dev_pm_opp_of_cpumask_remove_table(&info->cpus); From patchwork Fri Mar 10 05:17:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SmlhLXdlaSBDaGFuZyAo5by15L2z5YGJKQ==?= X-Patchwork-Id: 13168752 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EB091C64EC4 for ; Fri, 10 Mar 2023 05:20:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ni15Ne+4apYvaZM1+GlpiEXo7qgMeJdGqxQbb8Mpkok=; b=eCUE4l5MejYqIV bi3T1XB9J5Iju2A5vVRcbf8alPClsap/yxpOT64923JyO0XJ6DHWdLeAzs3F4JuZrtPpcit80Evcs KvlYeigWczxtSkFrtoLT9OVDR4IVN6HtsNrkP2SjKF5oPGNADIwoGAOKrLwjMqNtPMZp+fU20kDnk roxdOa7C5UWjYYxYOPEQ5Erj/6r4A5Thtrqe9WStEvZAl0PNxxCImowCI0c5gRwuZ86qO8sFNdKga aX0Iw4TNckDzmXFBykvxtkQlPFh021+iYDWI0QzYnfIHm0+aAzy3Pf7LF8WQ+BPuC0SqfLs19zzP+ 4oC0Rq1NY1rtUv5uhg6A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9m-00D5xf-1i; Fri, 10 Mar 2023 05:19:06 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9S-00D5mM-Qi; Fri, 10 Mar 2023 05:18:49 +0000 X-UUID: 031e02c6bf0311eda799af78a38f2b8e-20230309 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=w9omEC3n509RaVFWjZiPfG0Mv8O5GJ/+wxH/Bs3M2C0=; b=EHErLOTYoUiiYwfG6tiHpvln6mfYgjZDMCtamitEPacZFKb1wamcSnPhTA6AG+6+z4DgPYQuq2ENAYjVP0y3vOKlxRQcy3n9VBzY3FvUZKcJln7BcDN+gLc9BclOMaJzwXz2C0oYIKAvlgtQYTvEgA6D19X/9rgpD722HSiV/2k=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.20,REQID:81f7d3dd-b2e2-48bd-b34e-dce6901004d2,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:95,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:95 X-CID-INFO: VERSION:1.1.20,REQID:81f7d3dd-b2e2-48bd-b34e-dce6901004d2,IP:0,URL :0,TC:0,Content:0,EDM:0,RT:0,SF:95,FILE:0,BULK:0,RULE:Spam_GS981B3D,ACTION :quarantine,TS:95 X-CID-META: VersionHash:25b5999,CLOUDID:b84fef27-564d-42d9-9875-7c868ee415ec,B ulkID:230310131809DD3RI5HN,BulkQuantity:1,Recheck:0,SF:38|29|28|17|19|48,T C:nil,Content:0,EDM:-3,IP:nil,URL:1,File:nil,Bulk:40,QS:nil,BEC:nil,COL:0, OSI:0,OSA:0,AV:0 X-CID-BVR: 0,NGT X-UUID: 031e02c6bf0311eda799af78a38f2b8e-20230309 Received: from mtkmbs13n1.mediatek.inc [(172.21.101.193)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1345400714; Thu, 09 Mar 2023 22:18:37 -0700 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.25; Fri, 10 Mar 2023 13:18:06 +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.25 via Frontend Transport; Fri, 10 Mar 2023 13:18:06 +0800 From: jia-wei.chang To: "Rafael J . Wysocki" , Viresh Kumar , Matthias Brugger , AngeloGioacchino Del Regno , Kevin Hilman , Rex-BC Chen , Jia-Wei Chang CC: , , , , , Nick , Dan Carpenter Subject: [PATCH v1 3/3] cpufreq: mediatek: raise proc/sram max voltage for MT7622 and MT8516 Date: Fri, 10 Mar 2023 13:17:50 +0800 Message-ID: <20230310051750.4745-4-jia-wei.chang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20230310051750.4745-1-jia-wei.chang@mediatek.com> References: <20230310051750.4745-1-jia-wei.chang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230309_211846_941279_1E5375E7 X-CRM114-Status: GOOD ( 12.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: "Jia-Wei Chang" Since the upper boundary of proc/sram voltage of MT7622 and MT8516 are 1350 mV and 1300 mV respectively, both are greater than the value of MT2701 1150 mV, we fix it by adding the corresponding platform data and specify proc/sram_max_volt to support MT7622 and MT8516 individually. Signed-off-by: Jia-Wei Chang Fixes: ead858bd128d ("cpufreq: mediatek: Move voltage limits to platform data") Fixes: 6a17b3876bc8 ("cpufreq: mediatek: Refine mtk_cpufreq_voltage_tracking()") Reported-by: Nick Hainke Link: https://lore.kernel.org/lkml/75216e0c-9d36-7ada-1507-1bb4a91a3326@systemli.org/T/ --- drivers/cpufreq/mediatek-cpufreq.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c index cb8b76f9c2c3..f6824d4bf85d 100644 --- a/drivers/cpufreq/mediatek-cpufreq.c +++ b/drivers/cpufreq/mediatek-cpufreq.c @@ -707,6 +707,15 @@ static const struct mtk_cpufreq_platform_data mt2701_platform_data = { .ccifreq_supported = false, }; +static const struct mtk_cpufreq_platform_data mt7622_platform_data = { + .min_volt_shift = 100000, + .max_volt_shift = 200000, + .proc_max_volt = 1360000, + .sram_min_volt = 0, + .sram_max_volt = 1360000, + .ccifreq_supported = false, +}; + static const struct mtk_cpufreq_platform_data mt8183_platform_data = { .min_volt_shift = 100000, .max_volt_shift = 200000, @@ -725,20 +734,29 @@ static const struct mtk_cpufreq_platform_data mt8186_platform_data = { .ccifreq_supported = true, }; +static const struct mtk_cpufreq_platform_data mt8516_platform_data = { + .min_volt_shift = 100000, + .max_volt_shift = 200000, + .proc_max_volt = 1310000, + .sram_min_volt = 0, + .sram_max_volt = 1310000, + .ccifreq_supported = false, +}; + /* List of machines supported by this driver */ static const struct of_device_id mtk_cpufreq_machines[] __initconst = { { .compatible = "mediatek,mt2701", .data = &mt2701_platform_data }, { .compatible = "mediatek,mt2712", .data = &mt2701_platform_data }, - { .compatible = "mediatek,mt7622", .data = &mt2701_platform_data }, - { .compatible = "mediatek,mt7623", .data = &mt2701_platform_data }, - { .compatible = "mediatek,mt8167", .data = &mt2701_platform_data }, + { .compatible = "mediatek,mt7622", .data = &mt7622_platform_data }, + { .compatible = "mediatek,mt7623", .data = &mt7622_platform_data }, + { .compatible = "mediatek,mt8167", .data = &mt8516_platform_data }, { .compatible = "mediatek,mt817x", .data = &mt2701_platform_data }, { .compatible = "mediatek,mt8173", .data = &mt2701_platform_data }, { .compatible = "mediatek,mt8176", .data = &mt2701_platform_data }, { .compatible = "mediatek,mt8183", .data = &mt8183_platform_data }, { .compatible = "mediatek,mt8186", .data = &mt8186_platform_data }, { .compatible = "mediatek,mt8365", .data = &mt2701_platform_data }, - { .compatible = "mediatek,mt8516", .data = &mt2701_platform_data }, + { .compatible = "mediatek,mt8516", .data = &mt8516_platform_data }, { } }; MODULE_DEVICE_TABLE(of, mtk_cpufreq_machines);