ccs-pll.c (6c7469e46b603f08462ef586a415a318134392b8) ccs-pll.c (b41f270841f85b9b4f8530b9f2020ff3ba1cfec5)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * drivers/media/i2c/ccs-pll.c
4 *
5 * Generic MIPI CCS/SMIA/SMIA++ PLL calculator
6 *
7 * Copyright (C) 2020 Intel Corporation
8 * Copyright (C) 2011--2012 Nokia Corporation

--- 317 unchanged lines hidden (view full) ---

326 dev_dbg(dev,
327 "pix_div %u too small or too big (%u--%u)\n",
328 pix_div,
329 lim_bk->min_pix_clk_div,
330 lim_bk->max_pix_clk_div);
331 continue;
332 }
333
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * drivers/media/i2c/ccs-pll.c
4 *
5 * Generic MIPI CCS/SMIA/SMIA++ PLL calculator
6 *
7 * Copyright (C) 2020 Intel Corporation
8 * Copyright (C) 2011--2012 Nokia Corporation

--- 317 unchanged lines hidden (view full) ---

326 dev_dbg(dev,
327 "pix_div %u too small or too big (%u--%u)\n",
328 pix_div,
329 lim_bk->min_pix_clk_div,
330 lim_bk->max_pix_clk_div);
331 continue;
332 }
333
334 if (pix_div * sys_div <= best_div) {
334 dev_dbg(dev, "sys/pix/best_pix: %u,%u,%u\n", sys_div, pix_div,
335 best_pix_div);
336
337 if (pix_div * sys_div <= best_pix_div) {
335 best_pix_div = pix_div;
336 best_div = pix_div * sys_div;
337 }
338 }
339 if (best_pix_div == SHRT_MAX >> 1)
340 return -EINVAL;
341
342 pll_bk->sys_clk_div = best_div / best_pix_div;

--- 456 unchanged lines hidden (view full) ---

799 (pll->flags & CCS_PLL_FLAG_EXT_IP_PLL_DIVIDER) ? 1 :
800 2 - (op_pll_fr->pre_pll_clk_div & 1)) {
801 rval = ccs_pll_calculate_op(dev, lim, op_lim_fr, op_lim_bk, pll,
802 op_pll_fr, op_pll_bk, mul, div, l,
803 cphy, phy_const);
804 if (rval)
805 continue;
806
338 best_pix_div = pix_div;
339 best_div = pix_div * sys_div;
340 }
341 }
342 if (best_pix_div == SHRT_MAX >> 1)
343 return -EINVAL;
344
345 pll_bk->sys_clk_div = best_div / best_pix_div;

--- 456 unchanged lines hidden (view full) ---

802 (pll->flags & CCS_PLL_FLAG_EXT_IP_PLL_DIVIDER) ? 1 :
803 2 - (op_pll_fr->pre_pll_clk_div & 1)) {
804 rval = ccs_pll_calculate_op(dev, lim, op_lim_fr, op_lim_bk, pll,
805 op_pll_fr, op_pll_bk, mul, div, l,
806 cphy, phy_const);
807 if (rval)
808 continue;
809
807 rval = check_fr_bounds(dev, lim, pll, PLL_VT);
810 rval = check_fr_bounds(dev, lim, pll,
811 pll->flags & CCS_PLL_FLAG_DUAL_PLL ?
812 PLL_OP : PLL_VT);
808 if (rval)
809 continue;
810
811 rval = check_bk_bounds(dev, lim, pll, PLL_OP);
812 if (rval)
813 continue;
814
815 if (pll->flags & CCS_PLL_FLAG_DUAL_PLL)

--- 37 unchanged lines hidden ---
813 if (rval)
814 continue;
815
816 rval = check_bk_bounds(dev, lim, pll, PLL_OP);
817 if (rval)
818 continue;
819
820 if (pll->flags & CCS_PLL_FLAG_DUAL_PLL)

--- 37 unchanged lines hidden ---