From: Tomas Moro <tmorolias@gmail.com>
To: calliarifelipe@gmail.com
Cc: bod@kernel.org, hansg@kernel.org, linux-kernel@vger.kernel.org,
linux-media@vger.kernel.org, mchehab@kernel.org,
sakari.ailus@linux.intel.com, Mars-Wave <tmorolias@gmail.com>
Subject: Re: [PATCH 3/3] media: ov02c10: Accept a 26 MHz external clock
Date: Tue, 22 Sep 2026 08:35:07 +0200 [thread overview]
Message-ID: <20260922063507.690-1-tmorolias@gmail.com> (raw)
In-Reply-To: <20260905030732.39196-3-calliarifelipe@gmail.com>
Hi Felipe,
First of all, thank you for the good work on this.
I tested this series (v1, all three patches) on a Samsung Galaxy Book3
Pro, whose board feeds the sensor 26 MHz. Without the series the sensor
does not probe:
ov02c10 i2c-OVTI02C1:00: error -EINVAL: external clock 26000000 is not supported
ov02c10 i2c-OVTI02C1:00: probe with driver ov02c10 failed with error -22
Hardware
DMI: SAMSUNG ELECTRONICS CO., LTD. / 960XFG / NP960XFG-KC2IT
BIOS P07RGU.330.240529.ZQ, i7-1360P, IPU6 [8086:a75d]
sensor ACPI HID OVTI02C1, clock 26 MHz (clk_summary)
Software
7.2.6 (linux-cachyos, clang + ThinLTO). ov02c10.c there is identical
to v7.2.6 stable, the three patches applied. Only ov02c10
was rebuilt (out of tree). In-tree intel_ipu6 + intel_ipu6_isys.
libcamera 0.7.2, simple pipeline, GPU soft ISP.
Results
probe OK
controls link_frequency 541666667, pixel_rate 216666666,
2 lanes; get_selection bounds 1928x1092,
crop 1920x1080
streaming 1920x1092 at 40.70 fps, steady, no drops over
several 400-frame runs. That is ~35 % above 30 fps,
which matches the link frequency. Raw SGRBG10 1928x1092 capture works too.
stream start one "csi2-0 error: Frame sync error" every time
first buffer the first dequeued buffer is always empty
orientation image is rotated 180 degrees. This model is not in
the ipu-bridge upside-down DMI list; strings above.
s2idle 7 cycles (rtcwake -m freeze), idle and right after
streaming: all resumed, sensor still bound, capture
works.
s2idle while refused by isys, not a hang becuse the running stream is
streaming wedged afterwards, a new open works:
intel_ipu6_isys.isys intel_ipu6.isys.40: PM: dpm_run_callback(): isys_suspend [intel_ipu6_isys] returns -16
intel_ipu6_isys.isys intel_ipu6.isys.40: PM: failed to suspend: error -16
PM: Some devices failed to suspend, or early wake event detected
PM: suspend exit
intel_ipu6_isys.isys intel_ipu6.isys.40: stream stop time out
intel_ipu6_isys.isys intel_ipu6.isys.40: stream close time out
Same tests with out-of-tree intel-ipu6-psys loaded and bound
(intel/ipu6-drivers 71bddb5, built unmodified against this kernel):
identical results, 4 more s2idle cycles all resumed. The s2idle hang from
intel/ipu6-drivers#381 does not reproduce here on 7.2.6.
Footnote, unrelated to this series: I saw one hard lockup (no trace) on
the first stream after rmmod of intel-ipu6-psys. I think that taking it out
might have given me a corrupt state, had to reboot.
Happy to test v2.
Tested-by: Mars-Wave <tmorolias@gmail.com> # Samsung Galaxy Book3 Pro NP960XFG (github.com/MarsWave)
next prev parent reply other threads:[~2026-09-22 6:35 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Tms-fUHfw0sPf1-YX_rgSNq7z1MNyvtfCImHXhxAUQAoTq-fwKvZF-p8a3ozCxAJ7kJCo-lKEU_JSkfUJy6oIA==@protonmail.internalid>
2026-09-05 3:07 ` [PATCH 1/3] media: ov02c10: Drop duplicate register write Felipe Calliari
2026-09-05 3:07 ` [PATCH 2/3] media: ov02c10: Implement get_selection Felipe Calliari
2026-09-08 9:07 ` Bryan O'Donoghue
2026-09-05 3:07 ` [PATCH 3/3] media: ov02c10: Accept a 26 MHz external clock Felipe Calliari
2026-09-08 8:06 ` Sakari Ailus
2026-09-09 2:55 ` Felipe Calliari
2026-09-08 9:21 ` Bryan O'Donoghue
2026-09-22 6:35 ` Tomas Moro [this message]
2026-09-08 9:04 ` [PATCH 1/3] media: ov02c10: Drop duplicate register write Bryan O'Donoghue
2026-09-23 14:42 ` [PATCH v2 0/3] media: ov02c10: get_selection and 26 MHz clock support Felipe Calliari
2026-09-23 14:42 ` [PATCH v2 1/3] media: ov02c10: Drop duplicate register write Felipe Calliari
2026-09-23 14:42 ` [PATCH v2 2/3] media: ov02c10: Implement get_selection Felipe Calliari
2026-09-23 14:42 ` [PATCH v2 3/3] media: ov02c10: Accept a 26 MHz external clock Felipe Calliari
2026-09-23 20:54 ` Sakari Ailus
2026-09-23 23:40 ` [PATCH v3 0/5] media: ov02c10: get_selection and 26 MHz clock support Felipe Calliari
2026-09-23 23:40 ` [PATCH v3 1/5] media: ov02c10: Drop duplicate register write Felipe Calliari
2026-09-23 23:40 ` [PATCH v3 2/5] media: ov02c10: Implement get_selection Felipe Calliari
2026-09-23 23:40 ` [PATCH v3 3/5] media: ov02c10: Split the PLL registers off the mode tables Felipe Calliari
2026-10-02 20:46 ` Sakari Ailus
2026-09-23 23:40 ` [PATCH v3 4/5] media: ipu-bridge: Add the OV02C10 26 MHz link frequency Felipe Calliari
2026-09-23 23:41 ` [PATCH v3 5/5] media: ov02c10: Add support for a 26 MHz external clock Felipe Calliari
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=20260922063507.690-1-tmorolias@gmail.com \
--to=tmorolias@gmail.com \
--cc=bod@kernel.org \
--cc=calliarifelipe@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 \
/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.