From: Antoine Pichot <antoine.pichot@gmail.com>
To: Dave Stevenson <dave.stevenson@raspberrypi.com>
Cc: linux-media@vger.kernel.org, sakari.ailus@linux.intel.com,
mchehab@kernel.org, hansg@kernel.org,
andriy.shevchenko@linux.intel.com, dan.scally@ideasonboard.com,
djrscally@gmail.com, dmanresa@gmail.com,
linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH v2 1/9] media: i2c: ov7251: Use in-range PLL1 dividers for the 319.2 MHz link
Date: Fri, 30 Oct 2026 23:26:24 +0900 [thread overview]
Message-ID: <20261030142624.2235132-1-antoine.pichot@gmail.com> (raw)
In-Reply-To: <CAPY8ntArdj338V8bcSxrmwKQecy-pAcCXMbkWy=qLckX=hawNQ@mail.gmail.com>
Hi Dave,
On Thu, Oct 29, 2026 at 07:06:31PM +0000, Dave Stevenson wrote:
> I have a 24MHz module and had tested with it, which you'd acknowledged
> in the previous sentence.
You are right, sorry. v3 replaces that sentence: the 24 MHz tables are
left to a separate change, with your measurement cited.
> I've pushed where I am to
> https://github.com/6by9/linux/tree/rpi-7.3.y-ov7251. Patch "media:
> ov7251: Add support for a 400MHz link freq" fixes up all the 24MHz PLL
> settings. I've also done the conversion to use the V4L2 CCI library.
Thanks. For v3 I am taking your "Move the common registers into the
global init table" as patch 7, under your authorship, in place of my
strobe-register patch: the strobe registers now sit in
ov7251_global_init_setting, which answers your question on 5/7 of v1.
The move has two side effects on the bus, both in the commit message:
- The common registers are written at power-on instead of at every
stream start, so a restart within the runtime PM autosuspend delay
skips them. The datasheet allows it (table 2-8: software standby
keeps the register values).
- Register 0x3820 holds 0x40 while the sensor streams, where it held
0x00 before. The flip control writes back the value probe cached,
and probe now caches it after the init table has written 0x40, not
right after the reset when it read 0x00. I poked the old value in
during a lit stream: brightness, picture, orientation and frame
rate did not change.
Tested on the Book 2 against v2: the clock, timing, PLL, flip and
strobe registers read back while streaming at 30, 60 and 90 fps are
identical apart from 0x3820. On a sensor kept powered, a restart and
mode switches from 30 to 90, to 60 and back to 30 fps give a correct
first frame every time, at 90.45, 60.15 and 30.0 fps.
The rest of your branch (400 MHz, CCI, HBLANK and MIN_HTS, the
optional enable GPIO, the gain rename, the VBLANK minimum) I leave to
you as you offered, to keep v3 to the fixes and the IR camera. I can
test them on the Book 2 (19.2 MHz, 319.2 MHz link) when you post them.
Two things for that:
- A data point for the VBLANK minimum. A sweep on the Book 2 in the
30 fps mode (exposure 400, gain 16, 20 frames per value) gives
normal frames down to 41, white frames from 40 to 26 and frames
rolled sideways from 25 to 16, both without CSI-2 errors, CRC
errors from 13 and a stalled receiver at 10. The same boundary as
on your Pi.
- At the tip of the branch (fde519da0503, "media: ov7251: Reduce
OV7251_TIMING_MIN_HTS"), unless I misread it, ov7251_set_vflip()
writes OV7251_TIMING_FORMAT2 (0x3821) rather than 0x3820, probe
stores the 0x3821 read in timing_format1 rather than
timing_format2, and the return value of devm_cci_regmap_init_i2c()
is not checked. In case it helps before you post.
Thanks,
Antoine
next prev parent reply other threads:[~2026-10-30 14:26 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-28 11:21 [PATCH v2 0/9] media: i2c: ov7251: fixes and infrared strobe for Surface Book 2 Antoine Pichot
2026-10-28 11:21 ` [PATCH v2 1/9] media: i2c: ov7251: Use in-range PLL1 dividers for the 319.2 MHz link Antoine Pichot
2026-10-29 13:57 ` Andy Shevchenko
2026-10-29 19:06 ` Dave Stevenson
2026-10-30 14:26 ` Antoine Pichot [this message]
2026-10-30 14:26 ` Antoine Pichot
2026-10-28 11:21 ` [PATCH v2 2/9] media: i2c: ov7251: Fix link frequency index Antoine Pichot
2026-10-28 11:21 ` [PATCH v2 3/9] media: i2c: ov7251: Report the pixel array rate for both link frequencies Antoine Pichot
2026-10-29 13:59 ` Andy Shevchenko
2026-10-28 11:21 ` [PATCH v2 4/9] media: i2c: ov7251: Reset vblank when the frame interval changes Antoine Pichot
2026-10-28 11:21 ` [PATCH v2 5/9] media: i2c: ov7251: Use sub-device active state Antoine Pichot
2026-10-29 14:02 ` Andy Shevchenko
2026-10-30 14:26 ` Antoine Pichot
2026-10-28 11:21 ` [PATCH v2 6/9] media: i2c: ov7251: Add orientation and rotation controls Antoine Pichot
2026-10-28 11:21 ` [PATCH v2 7/9] media: i2c: ov7251: Move the strobe registers out of the mode tables Antoine Pichot
2026-10-28 11:21 ` [PATCH v2 8/9] media: i2c: ov7251: Add strobe output enable control Antoine Pichot
2026-10-30 12:12 ` Antoine Pichot
2026-10-28 11:21 ` [PATCH v2 9/9] media: ipu-bridge: Add a rotation quirk for the Surface Book 2 and Pro 7+ Antoine Pichot
2026-10-29 14:04 ` Andy Shevchenko
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=20261030142624.2235132-1-antoine.pichot@gmail.com \
--to=antoine.pichot@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=dan.scally@ideasonboard.com \
--cc=dave.stevenson@raspberrypi.com \
--cc=djrscally@gmail.com \
--cc=dmanresa@gmail.com \
--cc=hansg@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=stable@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®