Re: [PATCH 3/3] rcar-csi2: Move setting of Field Detection Control Register

2019-03-06 Thread Niklas Söderlund
Hi Kieran,

Thanks for your feedback.

On 2019-02-18 11:19:50 +, Kieran Bingham wrote:
> Hi Niklas,
> 
> On 18/02/2019 10:03, Niklas Söderlund wrote:
> > Latest datasheet (rev 1.50) clarifies that the FLD register should be
> > set after LINKCNT.
> > 
> > Signed-off-by: Niklas Söderlund 
> > ---
> >  drivers/media/platform/rcar-vin/rcar-csi2.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/media/platform/rcar-vin/rcar-csi2.c 
> > b/drivers/media/platform/rcar-vin/rcar-csi2.c
> > index 50486301c21b4bae..f90b380478775015 100644
> > --- a/drivers/media/platform/rcar-vin/rcar-csi2.c
> > +++ b/drivers/media/platform/rcar-vin/rcar-csi2.c
> > @@ -545,7 +545,6 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
> > rcsi2_write(priv, PHTC_REG, 0);
> >  
> > /* Configure */
> > -   rcsi2_write(priv, FLD_REG, fld);
> > rcsi2_write(priv, VCDT_REG, vcdt);
> > if (vcdt2)
> > rcsi2_write(priv, VCDT2_REG, vcdt2);
> > @@ -576,6 +575,7 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
> 
> Hrm ... I'm on linux-media/master and I don't see a function named
> rcsi2_start_receiver.
> 
> What base am I missing? I presume there are rework patches here in flight.

Yes it's patches in flight,

[PATCH] rcar-csi2: Use standby mode instead of resetting

> 
> 
> > rcsi2_write(priv, PHYCNT_REG, phycnt);
> > rcsi2_write(priv, LINKCNT_REG, LINKCNT_MONITOR_EN |
> > LINKCNT_REG_MONI_PACT_EN | LINKCNT_ICLK_NONSTOP);
> > +   rcsi2_write(priv, FLD_REG, fld);
> 
> However, I can see that this matches the flow chart in figures
> 25.{17,18,19,20}
> 
> So
> 
> Reviewed-by: Kieran Bingham 

Thanks!

> 
> 
> > rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ);
> > rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ | PHYCNT_RSTZ);
> >  
> > 
> 
> 
> -- 
> Regards
> --
> Kieran

-- 
Regards,
Niklas Söderlund


Re: [PATCH 3/3] rcar-csi2: Move setting of Field Detection Control Register

2019-02-18 Thread Kieran Bingham
Hi Niklas,

On 18/02/2019 10:03, Niklas Söderlund wrote:
> Latest datasheet (rev 1.50) clarifies that the FLD register should be
> set after LINKCNT.
> 
> Signed-off-by: Niklas Söderlund 
> ---
>  drivers/media/platform/rcar-vin/rcar-csi2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/rcar-vin/rcar-csi2.c 
> b/drivers/media/platform/rcar-vin/rcar-csi2.c
> index 50486301c21b4bae..f90b380478775015 100644
> --- a/drivers/media/platform/rcar-vin/rcar-csi2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-csi2.c
> @@ -545,7 +545,6 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
>   rcsi2_write(priv, PHTC_REG, 0);
>  
>   /* Configure */
> - rcsi2_write(priv, FLD_REG, fld);
>   rcsi2_write(priv, VCDT_REG, vcdt);
>   if (vcdt2)
>   rcsi2_write(priv, VCDT2_REG, vcdt2);
> @@ -576,6 +575,7 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)

Hrm ... I'm on linux-media/master and I don't see a function named
rcsi2_start_receiver.

What base am I missing? I presume there are rework patches here in flight.


>   rcsi2_write(priv, PHYCNT_REG, phycnt);
>   rcsi2_write(priv, LINKCNT_REG, LINKCNT_MONITOR_EN |
>   LINKCNT_REG_MONI_PACT_EN | LINKCNT_ICLK_NONSTOP);
> + rcsi2_write(priv, FLD_REG, fld);

However, I can see that this matches the flow chart in figures
25.{17,18,19,20}

So

Reviewed-by: Kieran Bingham 


>   rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ);
>   rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ | PHYCNT_RSTZ);
>  
> 


-- 
Regards
--
Kieran


Re: [PATCH 3/3] rcar-csi2: Move setting of Field Detection Control Register

2019-02-18 Thread Ulrich Hecht


> On February 18, 2019 at 11:03 AM Niklas Söderlund 
>  wrote:
> 
> 
> Latest datasheet (rev 1.50) clarifies that the FLD register should be
> set after LINKCNT.
> 
> Signed-off-by: Niklas Söderlund 
> ---
>  drivers/media/platform/rcar-vin/rcar-csi2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/rcar-vin/rcar-csi2.c 
> b/drivers/media/platform/rcar-vin/rcar-csi2.c
> index 50486301c21b4bae..f90b380478775015 100644
> --- a/drivers/media/platform/rcar-vin/rcar-csi2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-csi2.c
> @@ -545,7 +545,6 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
>   rcsi2_write(priv, PHTC_REG, 0);
>  
>   /* Configure */
> - rcsi2_write(priv, FLD_REG, fld);
>   rcsi2_write(priv, VCDT_REG, vcdt);
>   if (vcdt2)
>   rcsi2_write(priv, VCDT2_REG, vcdt2);
> @@ -576,6 +575,7 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
>   rcsi2_write(priv, PHYCNT_REG, phycnt);
>   rcsi2_write(priv, LINKCNT_REG, LINKCNT_MONITOR_EN |
>   LINKCNT_REG_MONI_PACT_EN | LINKCNT_ICLK_NONSTOP);
> + rcsi2_write(priv, FLD_REG, fld);
>   rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ);
>   rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ | PHYCNT_RSTZ);

Reviewed-by: Ulrich Hecht 

CU
Uli


[PATCH 3/3] rcar-csi2: Move setting of Field Detection Control Register

2019-02-18 Thread Niklas Söderlund
Latest datasheet (rev 1.50) clarifies that the FLD register should be
set after LINKCNT.

Signed-off-by: Niklas Söderlund 
---
 drivers/media/platform/rcar-vin/rcar-csi2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/rcar-vin/rcar-csi2.c 
b/drivers/media/platform/rcar-vin/rcar-csi2.c
index 50486301c21b4bae..f90b380478775015 100644
--- a/drivers/media/platform/rcar-vin/rcar-csi2.c
+++ b/drivers/media/platform/rcar-vin/rcar-csi2.c
@@ -545,7 +545,6 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
rcsi2_write(priv, PHTC_REG, 0);
 
/* Configure */
-   rcsi2_write(priv, FLD_REG, fld);
rcsi2_write(priv, VCDT_REG, vcdt);
if (vcdt2)
rcsi2_write(priv, VCDT2_REG, vcdt2);
@@ -576,6 +575,7 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
rcsi2_write(priv, PHYCNT_REG, phycnt);
rcsi2_write(priv, LINKCNT_REG, LINKCNT_MONITOR_EN |
LINKCNT_REG_MONI_PACT_EN | LINKCNT_ICLK_NONSTOP);
+   rcsi2_write(priv, FLD_REG, fld);
rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ);
rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ | PHYCNT_RSTZ);
 
-- 
2.20.1