All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacopo Mondi <jacopo+renesas@jmondi.org>
To: kieran.bingham+renesas@ideasonboard.com,
	laurent.pinchart+renesas@ideasonboard.com,
	niklas.soderlund+renesas@ragnatech.se, geert@linux-m68k.org
Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v3 00/19] media: gmsl: Reliability improvement
Date: Fri, 19 Mar 2021 17:41:29 +0100	[thread overview]
Message-ID: <20210319164148.199192-1-jacopo+renesas@jmondi.org> (raw)

Hello,
   series following:
https://patchwork.linuxtv.org/project/linux-media/list/?series=4650
https://patchwork.linuxtv.org/project/linux-media/list/?series=4861

Compared to the following iteration it seems RDACM21 is finally fixed \o/

I'll sum-up the issue here from the last email exchange:
-------------------------------------------------------------------------------
Basically, as patch "media: i2c: rdacm21: Fix OV10640 powerdown" of
this series describes, the OV10640 power-up was broken before you
spotted the usage of the wrong gpio pad and it was working because of
an internal pull-up on the SPWDN line, which was erroneously left
floating. Once that was fixed, the OV10640 was always identified
correctly, leaving us with this puzzling "ov490 boot timeout error"
that manifested with more or less the same frequency of the ov10640
identification issue.

In the current implementation we power up the OV490 and wait for its
firmware to boot -before- powering up the ov10640 sensor. Most
probably (or looking at the results I get noaw, most certainly) the
OV490 firmware checks for the sensor to be available and probably
tries to program it. So we're back to the issue we originally had when
the sensor was powered because of the pull up resistor, failing to
boot in case the sensor didn't startup correctly which happened in the
20% of the cases.

If I do power up the OV10640 -before- the OV490 all the firmware boot
errors are now gone. I need to tune a bit the timeouts as after the
OV490 boot the OV10640 requires some time before being accessible.
Once I nail down the right timeouts I'll send v3. So far I got 0
errors on 50 boot attempts, finally \o/
-------------------------------------------------------------------------------

The rest of the series is almost identical a few grammar fixes apart.
Thanks
   j

Jacopo Mondi (19):
  media: i2c: max9286: Adjust parameters indent
  media: i2c: max9286: Rename reverse_channel_mv
  media: i2c: max9286: Cache channel amplitude
  media: i2c: max9286: Define high channel amplitude
  media: v4l2-subdev: De-deprecate init() subdev op
  media: gmsl: Reimplement initialization sequence
  media: i2c: max9286: Rework comments in .bound()
  media: i2c: max9271: Check max9271_write() return
  media: i2c: max9271: Introduce wake_up() function
  media: i2c: rdamc21: Fix warning on u8 cast
  media: i2c: rdacm21: Add dealy after OV490 reset
  media: i2c: rdacm21: Fix OV10640 powerup
  media: i2c: rdacm21: Power up OV10640 before OV490
  media: i2c: rdacm20: Enable noise immunity
  media: i2c: rdacm20: Embed 'serializer' field
  media: i2c: rdacm20: Replace goto with a loop
  media: i2c: rdacm20: Report camera module name
  media: i2c: rdacm20: Check return values
  media: i2c: rdacm20: Re-work ov10635 reset

 drivers/media/i2c/max9271.c |  37 ++++++--
 drivers/media/i2c/max9271.h |   9 ++
 drivers/media/i2c/max9286.c |  61 ++++++++-----
 drivers/media/i2c/rdacm20.c | 174 +++++++++++++++++++++---------------
 drivers/media/i2c/rdacm21.c | 117 +++++++++++++++---------
 include/media/v4l2-subdev.h |  15 +++-
 6 files changed, 268 insertions(+), 145 deletions(-)

--
2.30.0


             reply	other threads:[~2021-03-19 16:42 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19 16:41 Jacopo Mondi [this message]
2021-03-19 16:41 ` [PATCH v3 01/19] media: i2c: max9286: Adjust parameters indent Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 02/19] media: i2c: max9286: Rename reverse_channel_mv Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 03/19] media: i2c: max9286: Cache channel amplitude Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 04/19] media: i2c: max9286: Define high " Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 05/19] media: v4l2-subdev: De-deprecate init() subdev op Jacopo Mondi
2021-03-20 15:42   ` Laurent Pinchart
2021-03-21 20:52     ` Sakari Ailus
2021-03-22 12:51       ` Jacopo Mondi
2021-03-26 11:37         ` Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 06/19] media: gmsl: Reimplement initialization sequence Jacopo Mondi
2021-03-20 15:46   ` Laurent Pinchart
2021-03-19 16:41 ` [PATCH v3 07/19] media: i2c: max9286: Rework comments in .bound() Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 08/19] media: i2c: max9271: Check max9271_write() return Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 09/19] media: i2c: max9271: Introduce wake_up() function Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 10/19] media: i2c: rdamc21: Fix warning on u8 cast Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 11/19] media: i2c: rdacm21: Add dealy after OV490 reset Jacopo Mondi
2021-03-19 16:49   ` Kieran Bingham
2021-03-20 15:52     ` Laurent Pinchart
2021-03-26 11:22       ` Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 12/19] media: i2c: rdacm21: Fix OV10640 powerup Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 13/19] media: i2c: rdacm21: Power up OV10640 before OV490 Jacopo Mondi
2021-03-20 16:14   ` Laurent Pinchart
2021-03-26 11:07     ` Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 14/19] media: i2c: rdacm20: Enable noise immunity Jacopo Mondi
2021-03-20 16:16   ` Laurent Pinchart
2021-03-19 16:41 ` [PATCH v3 15/19] media: i2c: rdacm20: Embed 'serializer' field Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 16/19] media: i2c: rdacm20: Replace goto with a loop Jacopo Mondi
2021-03-20 16:17   ` Laurent Pinchart
2021-03-19 16:41 ` [PATCH v3 17/19] media: i2c: rdacm20: Report camera module name Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 18/19] media: i2c: rdacm20: Check return values Jacopo Mondi
2021-03-19 16:41 ` [PATCH v3 19/19] media: i2c: rdacm20: Re-work ov10635 reset Jacopo Mondi
2021-03-20 16:24   ` Laurent Pinchart
2021-03-26 11:11     ` 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=20210319164148.199192-1-jacopo+renesas@jmondi.org \
    --to=jacopo+renesas@jmondi.org \
    --cc=geert@linux-m68k.org \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --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=mchehab@kernel.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.