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: 13168746 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 83541C6FA99 for ; Fri, 10 Mar 2023 05:18:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:CC:To:From:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=wgqUXEmxvxiaBB7DcU3rr50wfNtD5hheqE6XcnjFEZM=; b=aAF8eGqtIDCeZ92NgkcJaAzQq6 6GCtf/8kKdRfzPXEWRpl/ruCk+fmOABKp495bLPTN+2KIn9bWbnydOuLok6TY7zu65f7iUiC5WVAi mENwwIJaoHLj98B6rXjItb4Kxi7ryHXjHg14OZGML8FRporAOecZ7dWylvb49HW9nXIOmqKNQhXr9 3wpHQ96B1dLH4gJTInPWGHdvsIFzGjo94B1P8wNLc95TZNqThDEAipQ24ddeHR67LtSAR3HFkb/CU w7KkcrPWC2tXe5qzWCgf2Ee5vRLmICS/qC1+4XU/eHwIIlIVEwgtxPDWIQNMV+xGY0PYJt8yqBpqK IemrFEKA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9P-00D5mb-SX; Fri, 10 Mar 2023 05:18:43 +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-mediatek@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-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=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: 13168747 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 21AC1C6FA99 for ; Fri, 10 Mar 2023 05:19:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:CC:To:From:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Dtm8xbq2csvA98smfwgVuOSCs4BmphorbiFPeU6GbTg=; b=A604pze7oBvopoWjavrwHv7Ocd XIoEY3ev9o3rdI7SL4kY+E8kbkEbAUzLUvRw4lSEqIwU1iYlZ0Sjv0jixijawQWgzWLRWLgPEr69a Top2oBKhjWJvxcigP8aOiVoLub8HwH0WKlZ3IMYSWA58Y4jOIlw0O17AmIl93TKLY9mw9cSSCTPDD jLDy5Izp2i1AkO1WHra58r2ptF7vykEPehhaSTX0389XYVF5LOGdr36wJlHl+pVuKwSlSyWA1lnX2 71Q0R0b2h3NZ+lsuqtidb4ZZQb2DWC0W8UHKjAcL73jYRRs+8xObOJFqgP2pJnoTKsw5WvbRFhMdz XRVXU1QA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9a-00D5rQ-D2; Fri, 10 Mar 2023 05:18:54 +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-mediatek@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-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=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: 13168748 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 86A6DC64EC4 for ; Fri, 10 Mar 2023 05:19:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:CC:To:From:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=w9omEC3n509RaVFWjZiPfG0Mv8O5GJ/+wxH/Bs3M2C0=; b=DpN4+YMDcOf4h9DT2A4jRpsB4/ RxNdz00Sp9lsT5cdTtHUwYETEYKLT0WyYd64x0SxBAhtRNrBcqdUZgGenC8DvJdxfbF1FtTUs+DdG D8Bc+HHMw2u+OSEfFFdSQLQbNM1Q2E+gHQyjDVpvBg6Oqm5WHTDlLt29sRpBw4lABNMhIWHFDmH9l VLnISmBHgI5sP7INY+72w+PY8ukuSEDx07rbWwwmFAzbIGezz1Dj8zNRdOQc6oTi2UAd8dv/dB1t3 Za0ejrL+UH1hl9XZredUQsADCfupFUrqpLAiQV+9bpjiKSotS8PurikAMEtY90/YpR7QX4GBAh+pU lwFMTcxQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paV9b-00D5rj-5G; Fri, 10 Mar 2023 05:18:55 +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-mediatek@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-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=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);