From nobody Fri Sep 25 13:17:02 2026 Received: from mail-oo2-f1.google.com (mail-oo2-f1.google.com [74.125.231.129]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44644370AFD for ; Sat, 12 Sep 2026 06:40:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.129 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789195261; cv=none; b=k6mnxUNwCIcTmyKk3BncXqA4LciuFjZjpugev4NkcgJNe0oZem8peIz1rrgYeEB14C4XAjEejEsmvcUJT1bz1cBNqD0r/A9zwpdzJdM+8kzd/suPOfVbIxu89i6yEzt473+XP58ttAmJg3UmKoevhhatnyS9xru9MvpPcjFuWmY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789195261; c=relaxed/simple; bh=rK3LI6EEJl+1gc/J0Nqb7f1MnKq7lREyQo2mSnW3Hpw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lStXdRbmz+DDUXYO4IgUPhHMWTG9Fev83kCBJ12mVQ2Zot+6ok0VsErJjm848ltZhnuDKSLSRedoCFsQVGf2w0BE3MGlcSo3pZuib5YXPESnWc9WT1G6+vnzy1dtEMeOwIsmmlCalSdI//qCyJHCYh/lPB2vzgUY4KINVoXAy6g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HQ87XUg+; arc=none smtp.client-ip=74.125.231.129 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HQ87XUg+" Received: by mail-oo2-f1.google.com with SMTP id 46e09a7af769-7ff1e112113so259038a34.0 for ; Fri, 11 Sep 2026 23:40:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789195258; x=1789800058; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=2r/zXGRLIz4Gqh+3fWrcMyrCUW1b5XnY6IMEL3+xJGM=; b=HQ87XUg+C+/FcxQn0aTEfApjtD4uPso5oIWgiFI5xlDiy4I2BrztSeb/7OBTlX43WW FzrYf6qlz7UwIaaTyTonKNqCCpFRn/zp8PAfveRjub9lFyYE2d5YaCUw779hIKlQ36u9 YIKkMSCFUGzLc5c/umWzl9VjI5xNyxOAn748lkHTUFrbzApzmMrUXLuniVSnUeaWoD2/ 65R22BPe/NlaOcXlPCIRnnMu7LpsTQRnO1l8U/ONAGagN5EBYguFDw/FNrOohjfwBMtw UPGseuLxmFoCEPMnESwKH/0UgtvZNNZi8UCeCJQ0LmbI8oCDO6VG5V/doMhGfl62iX0T YVUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789195258; x=1789800058; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=2r/zXGRLIz4Gqh+3fWrcMyrCUW1b5XnY6IMEL3+xJGM=; b=qdBMSgpDvNGaWWSnpxtGlBuUuVBepwDLfKUmfGX/0KC1LavZtbWPvZZ06JgUI1tw+e Dh9MLOr7G1YVCKT9Pb1MNaHjBclG12B94wMVumbdsUnK4v5XCSdh3hmbPHRttYdUClxf YAx+6DVzcV48xE16oQAZiYe+nIvNGhkv5HcMQWbFMAXh1BcuNib8IABqX9nz/upIzhRI t5XwsRe+/CVRnqt8L1pLvLci6Mc6MHJI3COQylUqvnw8l7YF7MgA13wuCfINatw5JViK S6kFS0wkTKI7yNnOdFpOwHl9YFECdXtT0IFCXj+yFa4vVux6/VdrGUAocV7SjNlBmhtD 0W9Q== X-Forwarded-Encrypted: i=1; AKwUvBzBeYFmKNgrNUdr+qPRuihQxNo4oBa5oMk0rNFoaGYjgiMrlGKopWsJ6gbxgA5CXeY+oX85LFErgOVe/Yc=@vger.kernel.org X-Gm-Message-State: AFuF++lmrCVN/2vJnc3myH2LsCHmq2/7jgHofdY3DPF32ztA9db6xtzV wSH1pe60UdCFrhkUB8X4HMd6eCEK/ehpbj+FFGEI8kjafIgAyO1c+E5K X-Gm-Gg: AYBFou32k9lsIiB2yPvO6h4sumYtuLMR6PgNncTCZ1X0z4SVOvkNVW5vp2x0gV9Nmvn WnGwlhzlD3jk2FaPQfqqZkdrGvmXIUwMBCjO4zQud0g6VBRa/KcSGdNzePp/4PLSojB4ImxiFhG ZsZkxhGZlIENaliJAhXm3EepT1KZXKvswvqCaSRnP1iM/kq19d2iYbVwRKGq4ETdGjH7kM0Q8Al 1pBLVBvHtse6FJjimzQtAoitaGt3M4k7KieV9hKrmwLIJ/CYd+96b/BllhSbd1UixAI8D9RxpCh ID9gxNaWgLt5tDP/6HNcaJt1EZzIuTQWaAdhzY0aVKEEpggieUDBhVIQfQhcOojJuVEPJiz+c3+ m0pKXaSKoj+ZtIEK/WgBrmqqlRRujPnux8BlM2If5YHtnOJuhyMyGlg33WQgez0rq8fQB6WOKS4 JVn/eLKEtHL1eX/UbRDwNcs6SRHTakjEXQKc4hPwNle/FodLiHASRe6kb8QcO7hRg5m4s= X-Received: by 2002:a05:6830:dc6:b0:7fb:547f:98bc with SMTP id 46e09a7af769-8059e14b758mr1096817a34.5.1789195257717; Fri, 11 Sep 2026 23:40:57 -0700 (PDT) Received: from [192.168.18.164] ([2600:8804:5716:d800::b712]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-803f670ec82sm4932735a34.20.2026.09.11.23.40.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 23:40:56 -0700 (PDT) From: Ryan Brue Date: Sat, 12 Sep 2026 01:40:37 -0500 Subject: [PATCH 1/2] clk: mediatek: mt8173: fix the FHCTL DDS mask width Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260912-mt8173-fix-dds-mask-width-v1-1-3d0c0292c85c@gmail.com> References: <20260912-mt8173-fix-dds-mask-width-v1-0-3d0c0292c85c@gmail.com> In-Reply-To: <20260912-mt8173-fix-dds-mask-width-v1-0-3d0c0292c85c@gmail.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Matthias Brugger , AngeloGioacchino Del Regno , Chen-Yu Tsai Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Ryan Brue X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789195251; l=1697; i=ryanbrue.dev@gmail.com; s=20260906; h=from:subject:message-id; bh=rK3LI6EEJl+1gc/J0Nqb7f1MnKq7lREyQo2mSnW3Hpw=; b=aEEsL7VWo3CfcnRgQNR4pSp2BW0HTS7IMmCb+Oc21O48+SIoUTLwp4mzW8r7juB7bII0JxlDE J6mym376UJXBuM4QPyxPLfo+9VhIWv/sGKsTw5ZFgYRdJ6Q1/Kq1x2Y X-Developer-Key: i=ryanbrue.dev@gmail.com; a=ed25519; pk=KsUvVaP//v/2q+ZBuacc7cLbsyEYn+AD71Sn28oZWKo= MT8173's hoppable PLLs have pcwbits =3D 21, so the FHCTL DDS field is bits 20:0, but FH() declares .dds_mask =3D GENMASK(21, 0). Bit 21 of FHCTL_MON is a status bit that comes up once a hop has settled, and new_dds from mtk_pll_calc_values() is always 21-bit, so the poll in hopping_hw_flow() never matches and every hop runs to the 1000 us timeout. The PLL does reach the requested rate and clk_change_rate() discards the error, so the cost is 1 ms of atomic polling plus a warning and a register dump on each rate change. Six MMPLL rate changes on an Amazon Fire HD 10 (2017) all time out with GENMASK(21, 0), MON reading the requested DDS with bit 21 set, and all pass with GENMASK(20, 0). mt8186, mt8192 and mt8195 share the constant but are correct, as their hoppable PLLs really are 22-bit. mt6795 is fixed in the next patch. Fixes: 45a5cbe05d1f ("clk: mediatek: mt8173: Add support for frequency hopp= ing through FHCTL") Assisted-by: LLM Signed-off-by: Ryan Brue Reviewed-by: AngeloGioacchino Del Regno --- drivers/clk/mediatek/clk-mt8173-apmixedsys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c b/drivers/clk/med= iatek/clk-mt8173-apmixedsys.c index d7d416172ab3..327240cd34fb 100644 --- a/drivers/clk/mediatek/clk-mt8173-apmixedsys.c +++ b/drivers/clk/mediatek/clk-mt8173-apmixedsys.c @@ -100,7 +100,7 @@ enum fh_pll_id { .fh_id =3D _fhid, \ .fh_ver =3D FHCTL_PLLFH_V1, \ .fhx_offset =3D _offset, \ - .dds_mask =3D GENMASK(21, 0), \ + .dds_mask =3D GENMASK(20, 0), \ .slope0_value =3D 0x6003c97, \ .slope1_value =3D 0x6003c97, \ .sfstrx_en =3D BIT(2), \ --=20 2.55.0 From nobody Fri Sep 25 13:17:02 2026 Received: from mail-oo2-f11.google.com (mail-oo2-f11.google.com [74.125.231.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3952B36E484 for ; Sat, 12 Sep 2026 06:41:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.139 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789195262; cv=none; b=rLuqr6KVYNjbFEItiQN8UMNGJSemRyVTIjgJ3siGg/GcXPZS13ZXbVwFhIHjey1v/TemfENQ5Ri7glRp5vEUSxmTkukkS9F0AmW/HcgCgUEHAaGxK+ngOFs6oVxADa1wQI/Jfgb6p1Mfv4FPnUC3Nyzu96pZ5csdrABc59fnNxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789195262; c=relaxed/simple; bh=Ql7C35Wo0Afw/TL/lX4BfvZeI5ogoZo8Mi0/Jvy5M00=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AwCZzUE/eNDFPu5UyDe5cevyvuTFj3NVELFDqJnWoWDMymAE97xIEyDWikcbsqvydV/zqIexSMrgnlOhIAFxrohC7+S3AaDcNkYrLIewgqTV0UfQBokpjDSPYCwYL/DUsIMAEe4ggjacax/0qVR091eGCWHFPjFkYXg8YnUl+tM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ObNTeGEt; arc=none smtp.client-ip=74.125.231.139 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ObNTeGEt" Received: by mail-oo2-f11.google.com with SMTP id 46e09a7af769-8048c70daa6so197353a34.1 for ; Fri, 11 Sep 2026 23:41:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789195260; x=1789800060; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gEwlHUG6xxFLN3/abf2x6jxnqPKYyOou3o3CHkkGDKs=; b=ObNTeGEtKNC+bSGgwnrH/hQ1QUh2yUIQWp39Lz865cGBV8jL8lyzL/slJm26PbG7P4 BxYIKlYmNj1b89TNS+NasHICHPbP1NLwmKGR5L9ToPYlFgjRT6U/xvD/T/SgrvDz4rK7 7a+8xOQbPhMVQMtihImo6hoK+m8l0vMVqL9ilYM9HRg3Y8mIu3Eqf2/G5FyjHnky0Y8q bce7TUkTaq2qar5+nF1Mr2NRywjB1pcQR/5OZc+NNHwQJfcqbvjaI1dgP3BThf+ttbs8 fC5UtzK1czIO9/jkbAet8Bq3vBTmdQp55xbf0iUc+T52f8X9SkCVquRBI1bw+7cXLNFv KIFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789195260; x=1789800060; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=gEwlHUG6xxFLN3/abf2x6jxnqPKYyOou3o3CHkkGDKs=; b=Sa7HzvzQ6JBXSQtCaU77oke7JVpaUTNS4YiJ/m/eM6U68mUS5WtPEw6LvQ0DZgeR15 wAYfJUHmibW+ALTjN3Ss1wK4xZb8zaWtCR9Igl8Hb1KR1rAxF0S9DdmJuZRU4zgOEEBc hBdE8mulmsM9IZi6DtYm9mg5I1jaBaKFzE3GSh+kZp01zGE1JL+Xx2atxgsChHpY2n4n dtKV9w1Ictwm6ghknzEIX/C9P6Ot+cjyIYkW1X2gBM1qokafRo3VKukZ9RoIF3uc0x1i XK5h+3aogznHeb8WG+WdDiPFbMisdSir6U8IhfDGtlEWVjWZIk48yS7u2B9hbCSjlS+k lcVQ== X-Forwarded-Encrypted: i=1; AKwUvBzMhxwQTxsJ7l6n47x9oMzdKwFkMpKFYOa3f5tetomk10JmJPhSYPOFWKDFVmbA+VfSBzBy+DUQLSBmWBk=@vger.kernel.org X-Gm-Message-State: AFuF++llvQiB9CyfI5GqWCUapgp0CnReMpRwq4x6yb5ZfQXLtOV9Xhoo XZi5RDwbDwoaBQU1rW3hqnhWnf+z+vgIT0ddOkLtpr1EnrsqEsakChvq X-Gm-Gg: AYBFou0PiTjKzU4kT4QqhYQd8XmghPqz/AJUhcSKpCau24+WLCdmMuLqXzk69nMya7R YLzcUtnDK2Wq50hw3mRIrXQg+nWxjMNi4FR/XV7X7ZDvBgPT7ygbTzbobZZ5sW3XqQegumRsHT/ D3PjzYGqGIO1mR+eyz/lqV4+3IjfqrntAH1zYP6qvzUM9UYEUAd7wPHkvF/gSl9+O25INDvz+lV tWc3VCmfUDG2CaX6Ckn7vEV7HVTZcPt6zwiyfiB1yKgUwCuqTVRqzyxFcNOUjQ8tebOMSugJ/kj KyYL9a1xkRLmCkRUt46ulPT0YAy0Yor7XR2pXLBN6rgQh4v7CSigC0mazolcXmupG/2ZOgv2jtG XbOgpH2xrxBCywz12/Lnhq0uvvEaWkXmp0eSV8V3tu/3pcJ2hDdbYcg+iVlF19r1Z8FPupGw2Z4 QXemfxqbsSdvPSo0NGoEQ9OC3QuyNmuWDrDD6au+czP6XMKA7yYV9Ktcx8LZQzgbCVR6U= X-Received: by 2002:a05:6830:aca:b0:7dc:c749:ade3 with SMTP id 46e09a7af769-803fec021afmr5824842a34.3.1789195260056; Fri, 11 Sep 2026 23:41:00 -0700 (PDT) Received: from [192.168.18.164] ([2600:8804:5716:d800::b712]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-803f670ec82sm4932735a34.20.2026.09.11.23.40.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Sep 2026 23:40:58 -0700 (PDT) From: Ryan Brue Date: Sat, 12 Sep 2026 01:40:38 -0500 Subject: [PATCH 2/2] clk: mediatek: mt6795: fix the FHCTL DDS mask width Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260912-mt8173-fix-dds-mask-width-v1-2-3d0c0292c85c@gmail.com> References: <20260912-mt8173-fix-dds-mask-width-v1-0-3d0c0292c85c@gmail.com> In-Reply-To: <20260912-mt8173-fix-dds-mask-width-v1-0-3d0c0292c85c@gmail.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Matthias Brugger , AngeloGioacchino Del Regno , Chen-Yu Tsai Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Ryan Brue X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789195251; l=1440; i=ryanbrue.dev@gmail.com; s=20260906; h=from:subject:message-id; bh=Ql7C35Wo0Afw/TL/lX4BfvZeI5ogoZo8Mi0/Jvy5M00=; b=5WZnSsxv7VZ//QziiPqa/hfbDelv6xL9htaBXcHAb3pfvm74cL65FXg1wRmpJjS+un+7XrxzR 0b1Eg+HGMxLDS2ChLkM0XQoGJWSx9crrUYJwUWFswZOuImDIHOPypUz X-Developer-Key: i=ryanbrue.dev@gmail.com; a=ed25519; pk=KsUvVaP//v/2q+ZBuacc7cLbsyEYn+AD71Sn28oZWKo= All eight PLLs in mt6795's pllfhs[] have pcwbits =3D 21, so the FHCTL DDS field is bits 20:0, but _FH() declares .dds_mask =3D GENMASK(21, 0). As on MT8173, new_dds from mtk_pll_calc_values() is always 21-bit, so admitting bit 21 of FHCTL_MON into the poll in hopping_hw_flow() can only make it time out. The same mask feeds the CON1 write-back and fhctl_set_ssc_regs(). Unlike MT8173 this path has a user: mt6795-sony-xperia-m5.dts switches FHCTL on for mainpll, mpll and msdcpll, with SSC. Found by inspection while fixing MT8173. I have no MT6795 hardware, so this one is untested. Fixes: f222a1baec5f ("clk: mediatek: mt6795: Add support for frequency hopp= ing through FHCTL") Assisted-by: LLM Signed-off-by: Ryan Brue Reviewed-by: AngeloGioacchino Del Regno --- drivers/clk/mediatek/clk-mt6795-apmixedsys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/mediatek/clk-mt6795-apmixedsys.c b/drivers/clk/med= iatek/clk-mt6795-apmixedsys.c index 123d5d7fea85..ff01cfefc31f 100644 --- a/drivers/clk/mediatek/clk-mt6795-apmixedsys.c +++ b/drivers/clk/mediatek/clk-mt6795-apmixedsys.c @@ -79,7 +79,7 @@ enum fh_pll_id { .fh_id =3D _fhid, \ .fh_ver =3D FHCTL_PLLFH_V1, \ .fhx_offset =3D _offset, \ - .dds_mask =3D GENMASK(21, 0), \ + .dds_mask =3D GENMASK(20, 0), \ .slope0_value =3D _slope, \ .slope1_value =3D _slope, \ .sfstrx_en =3D BIT(2), \ --=20 2.55.0