]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: sunxi-ng: d1: Fix PLL_AUDIO0 preset
authorAndre Przywara <andre.przywara@arm.com>
Tue, 1 Oct 2024 10:50:16 +0000 (11:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:53:36 +0000 (13:53 +0100)
[ Upstream commit e0f253a52ccee3cf3eb987e99756e20c68a1aac9 ]

To work around a limitation in our clock modelling, we try to force two
bits in the AUDIO0 PLL to 0, in the CCU probe routine.
However the ~ operator only applies to the first expression, and does
not cover the second bit, so we end up clearing only bit 1.

Group the bit-ORing with parentheses, to make it both clearer to read
and actually correct.

Fixes: 35b97bb94111 ("clk: sunxi-ng: Add support for the D1 SoC clocks")
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Link: https://patch.msgid.link/20241001105016.1068558-1-andre.przywara@arm.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/sunxi-ng/ccu-sun20i-d1.c

index 9b5cfac2ee70cb286b47d4976fd9ca91560839ea..3f095515f54f91b332b501d9e932969e11f1205c 100644 (file)
@@ -1371,7 +1371,7 @@ static int sun20i_d1_ccu_probe(struct platform_device *pdev)
 
        /* Enforce m1 = 0, m0 = 0 for PLL_AUDIO0 */
        val = readl(reg + SUN20I_D1_PLL_AUDIO0_REG);
-       val &= ~BIT(1) | BIT(0);
+       val &= ~(BIT(1) | BIT(0));
        writel(val, reg + SUN20I_D1_PLL_AUDIO0_REG);
 
        /* Force fanout-27M factor N to 0. */