All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
To: Jacopo Mondi <jacopo+renesas@jmondi.org>,
	laurent.pinchart+renesas@ideasonboard.com,
	niklas.soderlund+renesas@ragnatech.se
Cc: linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org, Hyun Kwon <hyunk@xilinx.com>,
	Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Subject: Re: [PATCH v2 4/7] media: i2c: max9286: Make channel amplitude programmable
Date: Thu, 15 Oct 2020 21:00:38 +0100	[thread overview]
Message-ID: <c9506b37-2831-bdd9-fbf4-8b8fb53a6f87@ideasonboard.com> (raw)
In-Reply-To: <20201015182710.54795-5-jacopo+renesas@jmondi.org>

Hi Jacopo,

On 15/10/2020 19:27, Jacopo Mondi wrote:
> Instrument the function that configures the reverse channel with a
> programmable amplitude value.
> 
> This change serves to prepare to adjust the reverse channel amplitude
> depending on the remote end high-threshold configuration.
> 
> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> ---
>  drivers/media/i2c/max9286.c | 22 ++++++++++++++++------
>  1 file changed, 16 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c
> index 89a7248f5c25..163e102199e3 100644
> --- a/drivers/media/i2c/max9286.c
> +++ b/drivers/media/i2c/max9286.c
> @@ -906,19 +906,29 @@ static void max9286_v4l2_unregister(struct max9286_priv *priv)
>   * Probe/Remove
>   */
>  
> -static void max9286_reverse_channel_setup(struct max9286_priv *priv)
> +static void max9286_reverse_channel_setup(struct max9286_priv *priv,
> +					  unsigned int chan_amplitude)
>  {
> +	/* Reverse channel transmission time: default to 1. */
> +	u8 chan_config = MAX9286_REV_TRF(1);
> +
>  	/*
>  	 * Reverse channel setup.
>  	 *
>  	 * - Enable custom reverse channel configuration (through register 0x3f)
>  	 *   and set the first pulse length to 35 clock cycles.
> -	 * - Increase the reverse channel amplitude to 170mV to accommodate the
> -	 *   high threshold enabled by the serializer driver.
> +	 * - Adjust reverse channel amplitude: values > 130 are programmed
> +	 *   using the additional +100mV REV_AMP_X boost flag
>  	 */
>  	max9286_write(priv, 0x3f, MAX9286_EN_REV_CFG | MAX9286_REV_FLEN(35));
> -	max9286_write(priv, 0x3b, MAX9286_REV_TRF(1) | MAX9286_REV_AMP(70) |
> -		      MAX9286_REV_AMP_X);
> +

Should we also clamp to min/max values at all?
Probably not needed, as it's only an internal helper.


> +	if (chan_amplitude > 100) {
> +		/* It is not possible express values (100 < x < 130) */

'possible to express'

> +		chan_amplitude = chan_amplitude < 130
> +			       ? 30 : chan_amplitude - 100;

We could round < 115 to 100, and >= 115 to 130, but that's probably more
effort that it's worth, so I think this is fine.

I think it's really helpful to codify this parameter though:

Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

> +		chan_config |= MAX9286_REV_AMP_X;
> +	}
> +	max9286_write(priv, 0x3b, chan_config | MAX9286_REV_AMP(chan_amplitude));
>  	usleep_range(2000, 2500);
>  }
>  
> @@ -957,7 +967,7 @@ static int max9286_setup(struct max9286_priv *priv)
>  	 * only. This should be disabled after the mux is initialised.
>  	 */
>  	max9286_configure_i2c(priv, true);
> -	max9286_reverse_channel_setup(priv);
> +	max9286_reverse_channel_setup(priv, 170);
>  
>  	/*
>  	 * Enable GMSL links, mask unused ones and autodetect link
> 


  reply	other threads:[~2020-10-15 20:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-15 18:27 [PATCH v2 0/7] media: i2c: Add support for RDACM21 camera module Jacopo Mondi
2020-10-15 18:27 ` [PATCH v2 1/7] media: i2c: Add driver " Jacopo Mondi
2020-10-15 18:27 ` [PATCH v2 2/7] dt-bindings: media: max9286: Document 'maxim,high-threshold' Jacopo Mondi
2020-10-15 18:27 ` [PATCH v2 3/7] media: i2c: max9286: Break-out reverse channel setup Jacopo Mondi
2020-10-15 19:53   ` Kieran Bingham
2020-10-15 18:27 ` [PATCH v2 4/7] media: i2c: max9286: Make channel amplitude programmable Jacopo Mondi
2020-10-15 20:00   ` Kieran Bingham [this message]
2020-10-16  8:08   ` Sergei Shtylyov
2020-10-15 18:27 ` [PATCH v2 5/7] media: i2c: max9286: Configure reverse channel amplitude Jacopo Mondi
2020-10-15 19:52   ` Kieran Bingham
2020-10-16  9:54     ` Jacopo Mondi
2020-10-15 18:27 ` [PATCH v2 6/7] [DNI] arm64: dts: renesas: salvator-x: Add MAX9286 expansion board Jacopo Mondi
2020-10-15 18:27 ` [PATCH v2 7/7] [DNI] arm64: dts: renesas: salvator-x-max9286: Use high-threshold Jacopo Mondi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c9506b37-2831-bdd9-fbf4-8b8fb53a6f87@ideasonboard.com \
    --to=kieran.bingham+renesas@ideasonboard.com \
    --cc=hyunk@xilinx.com \
    --cc=jacopo+renesas@jmondi.org \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.