Re: [PATCH v4] media: ov8856: Configure sensor for GRBG Bayer for all modes

From: Robert Foss
Date: Mon Jan 18 2021 - 14:56:56 EST


I was going for row, but got a bit wild with the Ctrl-C + Ctrl-V, is
that alright with you?

On Mon, 18 Jan 2021 at 20:28, Andrey Konovalov
<andrey.konovalov@xxxxxxxxxx> wrote:
>
> Oops.. I've missed a few mistypes
>
> On 18.01.2021 22:18, Andrey Konovalov wrote:
> > Hi Robert,
> >
> > Thanks for you patch!
> >
> > Reviewed-by: Andrey Konovalov <andrey.konovalov@xxxxxxxxxx>
> >
> > On 18.01.2021 22:01, Robert Foss wrote:
> >> The previously added modes 3264x2448 & 1632x1224 are actually
> >> configuring the sensor for BGGR mode, this is an issue since
> >> the mode that is exposed through V4L incorrectly is set as GRBG.
> >>
> >> This patch fixes the issue by moving the output crop window of
> >> internal sensor ISP uses by one row, which means that the Bayer
> >> pattern of the output is changed.
> >>
> >> From:
> >> row 1: B G B G B G ...
> >> row 2: G R G R G R ...
> >> raw 3: B G B G B G ...
> - row
> >> ...
> >>
> >> To:
> >> raw 2: G R G R G R ...
> - row
> >> raw 3: B G B G B G ...
> - row
>
> Thanks,
> Andrey
>
> >> ...
> >>
> >> Signed-off-by: Robert Foss <robert.foss@xxxxxxxxxx>
> >> Suggested-by: Andrey Konovalov <andrey.konovalov@xxxxxxxxxx>
> >> ---
> >>
> >> Changes since v1:
> >> - Sakari: Added mode information to ov8856_mode struct
> >> - Sakari: enum_mbus_code updated
> >>
> >> Changes since v2:
> >> - Andrey: Switched approach to changing the sensor configuration
> >> to yield identical Bayer modes for all modes
> >>
> >> Changes since v3:
> >> - Andrey: Improve commit msg to explain Bayer shift better
> >>
> >> drivers/media/i2c/ov8856.c | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/media/i2c/ov8856.c b/drivers/media/i2c/ov8856.c
> >> index 2f4ceaa80593..8a355135c7db 100644
> >> --- a/drivers/media/i2c/ov8856.c
> >> +++ b/drivers/media/i2c/ov8856.c
> >> @@ -428,7 +428,7 @@ static const struct ov8856_reg mode_3264x2448_regs[] = {
> >> {0x3810, 0x00},
> >> {0x3811, 0x04},
> >> {0x3812, 0x00},
> >> - {0x3813, 0x02},
> >> + {0x3813, 0x01},
> >> {0x3814, 0x01},
> >> {0x3815, 0x01},
> >> {0x3816, 0x00},
> >> @@ -821,7 +821,7 @@ static const struct ov8856_reg mode_1632x1224_regs[] = {
> >> {0x3810, 0x00},
> >> {0x3811, 0x02},
> >> {0x3812, 0x00},
> >> - {0x3813, 0x02},
> >> + {0x3813, 0x01},
> >> {0x3814, 0x03},
> >> {0x3815, 0x01},
> >> {0x3816, 0x00},
> >>