summaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c/ccs-pll.c
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@linux.intel.com>2020-09-16 11:36:32 +0200
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-12-07 16:05:04 +0100
commitb41f270841f85b9b4f8530b9f2020ff3ba1cfec5 (patch)
tree7f488d3ff9f9b3884b222688e8730b2ec32da15d /drivers/media/i2c/ccs-pll.c
parent6c7469e46b603f08462ef586a415a318134392b8 (diff)
downloadlinux-stable-b41f270841f85b9b4f8530b9f2020ff3ba1cfec5.tar.gz
linux-stable-b41f270841f85b9b4f8530b9f2020ff3ba1cfec5.tar.bz2
linux-stable-b41f270841f85b9b4f8530b9f2020ff3ba1cfec5.zip
media: ccs: Dual PLL support
Add support for sensors that either require dual PLL or support single or dual PLL but use dual PLL as default. Use sensor default configuration for sensors that support both modes. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/i2c/ccs-pll.c')
-rw-r--r--drivers/media/i2c/ccs-pll.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/media/i2c/ccs-pll.c b/drivers/media/i2c/ccs-pll.c
index 91b578a05a98..7df7b96e78e6 100644
--- a/drivers/media/i2c/ccs-pll.c
+++ b/drivers/media/i2c/ccs-pll.c
@@ -331,7 +331,10 @@ __ccs_pll_calculate_vt_tree(struct device *dev,
continue;
}
- if (pix_div * sys_div <= best_div) {
+ dev_dbg(dev, "sys/pix/best_pix: %u,%u,%u\n", sys_div, pix_div,
+ best_pix_div);
+
+ if (pix_div * sys_div <= best_pix_div) {
best_pix_div = pix_div;
best_div = pix_div * sys_div;
}
@@ -804,7 +807,9 @@ int ccs_pll_calculate(struct device *dev, const struct ccs_pll_limits *lim,
if (rval)
continue;
- rval = check_fr_bounds(dev, lim, pll, PLL_VT);
+ rval = check_fr_bounds(dev, lim, pll,
+ pll->flags & CCS_PLL_FLAG_DUAL_PLL ?
+ PLL_OP : PLL_VT);
if (rval)
continue;