This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: ov13858: Correct link-frequency and pixel-rate
Author:  Chiranjeevi Rapolu <chiranjeevi.rap...@intel.com>
Date:    Sat Jul 29 03:00:39 2017 -0400

Previously both link-frequency and pixel-rate reported by
the sensor was incorrect, resulting in incorrect FPS.
Report link-frequency in Hz rather than link data rate in bps.
Calculate pixel-rate from link-frequency.

Signed-off-by: Chiranjeevi Rapolu <chiranjeevi.rap...@intel.com>
Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mche...@s-opensource.com>

 drivers/media/i2c/ov13858.c | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

---

diff --git a/drivers/media/i2c/ov13858.c b/drivers/media/i2c/ov13858.c
index 85fd82f44add..867845bd4314 100644
--- a/drivers/media/i2c/ov13858.c
+++ b/drivers/media/i2c/ov13858.c
@@ -60,8 +60,8 @@
 #define OV13858_VBLANK_MIN             56
 
 /* HBLANK control - read only */
-#define OV13858_PPL_540MHZ             2244
-#define OV13858_PPL_1080MHZ            4488
+#define OV13858_PPL_270MHZ             2244
+#define OV13858_PPL_540MHZ             4488
 
 /* Exposure control */
 #define OV13858_REG_EXPOSURE           0x3500
@@ -943,31 +943,33 @@ static const char * const ov13858_test_pattern_menu[] = {
 
 /* Configurations for supported link frequencies */
 #define OV13858_NUM_OF_LINK_FREQS      2
-#define OV13858_LINK_FREQ_1080MBPS     1080000000
-#define OV13858_LINK_FREQ_540MBPS      540000000
+#define OV13858_LINK_FREQ_540MHZ       540000000ULL
+#define OV13858_LINK_FREQ_270MHZ       270000000ULL
 #define OV13858_LINK_FREQ_INDEX_0      0
 #define OV13858_LINK_FREQ_INDEX_1      1
 
 /* Menu items for LINK_FREQ V4L2 control */
 static const s64 link_freq_menu_items[OV13858_NUM_OF_LINK_FREQS] = {
-       OV13858_LINK_FREQ_1080MBPS,
-       OV13858_LINK_FREQ_540MBPS
+       OV13858_LINK_FREQ_540MHZ,
+       OV13858_LINK_FREQ_270MHZ
 };
 
 /* Link frequency configs */
 static const struct ov13858_link_freq_config
                        link_freq_configs[OV13858_NUM_OF_LINK_FREQS] = {
        {
-               .pixel_rate = 864000000,
-               .pixels_per_line = OV13858_PPL_1080MHZ,
+               /* pixel_rate = link_freq * 2 * nr_of_lanes / bits_per_sample */
+               .pixel_rate = (OV13858_LINK_FREQ_540MHZ * 2 * 4) / 10,
+               .pixels_per_line = OV13858_PPL_540MHZ,
                .reg_list = {
                        .num_of_regs = ARRAY_SIZE(mipi_data_rate_1080mbps),
                        .regs = mipi_data_rate_1080mbps,
                }
        },
        {
-               .pixel_rate = 432000000,
-               .pixels_per_line = OV13858_PPL_540MHZ,
+               /* pixel_rate = link_freq * 2 * nr_of_lanes / bits_per_sample */
+               .pixel_rate = (OV13858_LINK_FREQ_270MHZ * 2 * 4) / 10,
+               .pixels_per_line = OV13858_PPL_270MHZ,
                .reg_list = {
                        .num_of_regs = ARRAY_SIZE(mipi_data_rate_540mbps),
                        .regs = mipi_data_rate_540mbps,
@@ -1637,10 +1639,10 @@ static int ov13858_init_controls(struct ov13858 
*ov13858)
 
        ov13858->hblank = v4l2_ctrl_new_std(
                                ctrl_hdlr, &ov13858_ctrl_ops, V4L2_CID_HBLANK,
-                               OV13858_PPL_1080MHZ - ov13858->cur_mode->width,
-                               OV13858_PPL_1080MHZ - ov13858->cur_mode->width,
+                               OV13858_PPL_540MHZ - ov13858->cur_mode->width,
+                               OV13858_PPL_540MHZ - ov13858->cur_mode->width,
                                1,
-                               OV13858_PPL_1080MHZ - ov13858->cur_mode->width);
+                               OV13858_PPL_540MHZ - ov13858->cur_mode->width);
        ov13858->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY;
 
        exposure_max = ov13858->cur_mode->vts - 8;

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to