media: ccs-pll: Add support flexible OP PLL pixel clock divider
authorSakari Ailus <sakari.ailus@linux.intel.com>
Fri, 7 Aug 2020 09:07:14 +0000 (11:07 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 7 Dec 2020 14:57:39 +0000 (15:57 +0100)
commit9490a2279fab29cf8730120b54c42ef2fc67171c
tree85b0049df1e9e6eeb1475b79cf0b05b3107d2154
parentc4c0b222720d413cc866275a0200019eb3c58f33
media: ccs-pll: Add support flexible OP PLL pixel clock divider

Flexible OP PLL pixel clock divider allows a higher OP pixel clock than
what the bus can transfer. This generally makes it easier to select pixel
clock dividers.

This changes how the pixel rate on the bus and minimum VT divisor are
calculated, as the pixel rate is no longer directly determined by the
OP pixel clock and the number of the lanes.

Also add a sanity check for sensors that do not support flexible OP PLL
pixel clock divider. This could have caused the PLL calculator to come up
with an invalid configuration for those devices.

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
drivers/media/i2c/ccs-pll.h
drivers/media/i2c/ccs/ccs-core.c