]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
media: ccs-pll: Fix pre-PLL divider calculation for EXT_IP_PLL_DIVIDER flag
authorAlexander Shiyan <eagle.alexander923@gmail.com>
Thu, 5 Mar 2026 13:16:37 +0000 (16:16 +0300)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 11 Mar 2026 00:05:34 +0000 (01:05 +0100)
commitb7ef8bbb9fbd43d33ecb92e23aa7c5a55dab5513
treebaa70106b7893c2dd7e553d8807a65cc3bc47cb1
parent2fb0481fe0d7891420c1a3df2e4f9a70b1f77dbd
media: ccs-pll: Fix pre-PLL divider calculation for EXT_IP_PLL_DIVIDER flag

When the CCS_PLL_FLAG_EXT_IP_PLL_DIVIDER flag is set, odd pre-PLL divider
values are allowed. However, in the operational timing branch the
calculation of the minimum pre-PLL divider incorrectly uses clk_div_even_up,
forcing the minimum value to be even, even if the flag is set. This prevents
selecting a valid odd divider like 3, which may be required for certain
sensor configurations.

Fix this by removing the forced even rounding from the minimum pre-PLL
divider calculation. The loop later uses the flag to determine the step,
so odd values will be considered when the flag is set.

Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/ccs-pll.c