diff mbox

[v1] media: ov13858: Avoid possible null first frame

Message ID 1516854879-15029-1-git-send-email-chiranjeevi.rapolu@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chiranjeevi Rapolu Jan. 25, 2018, 4:34 a.m. UTC
Previously, the sensor, with default settings, was outputting SOF without
data. This results in frame sync error on the receiver side.

Now, configure the sensor to output SOF with MIPI data for all frames. This
avoids possible null first frame on the bus.

Signed-off-by: Chiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>
Signed-off-by: Tianshu Qiu <tian.shu.qiu@intel.com>
---
 drivers/media/i2c/ov13858.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Sakari Ailus Jan. 25, 2018, 10:29 a.m. UTC | #1
Hi Chiranjeevi,

On Wed, Jan 24, 2018 at 08:34:39PM -0800, Chiranjeevi Rapolu wrote:
> Previously, the sensor, with default settings, was outputting SOF without
> data. This results in frame sync error on the receiver side.
> 
> Now, configure the sensor to output SOF with MIPI data for all frames. This
> avoids possible null first frame on the bus.
> 
> Signed-off-by: Chiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>
> Signed-off-by: Tianshu Qiu <tian.shu.qiu@intel.com>

Thanks for the patch.

I'll apply this now, however I see that most of the registers in the four
modes are the same. In the future it'd be good to separate the parts that
are common in all of them (to be written in sensor power-on) to make this
(slightly) more maintainable.
Chiranjeevi Rapolu Jan. 25, 2018, 5:36 p.m. UTC | #2
Hi Sakari,

>I'll apply this now, however I see that most of the registers in the four modes are the same. In the future it'd be good to separate the parts that are common in all of them (to be written in sensor power-on) to make this (slightly) more maintainable.

Thanks for the review. Makes sense. Not sure how it impacts because the sequence of writes will be different, need thorough testing to confirm nothing is broken.
Sakari Ailus Jan. 30, 2018, 12:45 p.m. UTC | #3
On Thu, Jan 25, 2018 at 05:36:44PM +0000, Rapolu, Chiranjeevi wrote:
> Hi Sakari,
> 
> >I'll apply this now, however I see that most of the registers in the
> > four modes are the same. In the future it'd be good to separate the
> > parts that are common in all of them (to be written in sensor power-on)
> > to make this (slightly) more maintainable.
> 
> Thanks for the review. Makes sense. Not sure how it impacts because the
> sequence of writes will be different, need thorough testing to confirm
> nothing is broken.

Yeah, that's a fair consideration. Most registers still have no side
effects apart of streaming control or such.
diff mbox

Patch

diff --git a/drivers/media/i2c/ov13858.c b/drivers/media/i2c/ov13858.c
index bf7d06f..2964d5c 100644
--- a/drivers/media/i2c/ov13858.c
+++ b/drivers/media/i2c/ov13858.c
@@ -194,6 +194,7 @@  struct ov13858_mode {
 	{0x3624, 0x1c},
 	{0x3640, 0x10},
 	{0x3641, 0x70},
+	{0x3660, 0x04},
 	{0x3661, 0x80},
 	{0x3662, 0x12},
 	{0x3664, 0x73},
@@ -384,6 +385,7 @@  struct ov13858_mode {
 	{0x3624, 0x1c},
 	{0x3640, 0x10},
 	{0x3641, 0x70},
+	{0x3660, 0x04},
 	{0x3661, 0x80},
 	{0x3662, 0x10},
 	{0x3664, 0x73},
@@ -574,6 +576,7 @@  struct ov13858_mode {
 	{0x3624, 0x1c},
 	{0x3640, 0x10},
 	{0x3641, 0x70},
+	{0x3660, 0x04},
 	{0x3661, 0x80},
 	{0x3662, 0x10},
 	{0x3664, 0x73},
@@ -764,6 +767,7 @@  struct ov13858_mode {
 	{0x3624, 0x1c},
 	{0x3640, 0x10},
 	{0x3641, 0x70},
+	{0x3660, 0x04},
 	{0x3661, 0x80},
 	{0x3662, 0x08},
 	{0x3664, 0x73},