From: Qiling Zhu <kmatzkaczor244@gmail.com>
To: Ruslan Koreev <koreev.r@gmail.com>
Cc: sakari.ailus@linux.intel.com, benjamin.mugnier@foss.st.com,
sylvain.petinot@foss.st.com, dan.scally@ideasonboard.com,
mchehab@kernel.org, hansg@kernel.org,
ilpo.jarvinen@linux.intel.com, linux-media@vger.kernel.org,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org,
Peter Marshall <pm@petermarshall.ca>
Subject: Re: [PATCH v2 0/4] Lenovo ThinkPad X1 Carbon Gen 14 IR camera: ST VD55G1 on Intel IPU7
Date: Sat, 3 Oct 2026 18:04:05 +0800 [thread overview]
Message-ID: <asDSmOu2NMD_SFnr@ThinkPad> (raw)
In-Reply-To: <20260929092700.1776966-1-koreev.r@gmail.com>
Hi Ruslan,
I did some more testing and checked the saved logs from my original
next-20260928 tests. The VD55G1 failure appears to be intermittent.
Today I managed to boot the original next-20260928 + v1 patches 1-3
kernel into a state where the VD55G1 probed successfully again.
`cam -l` showed both cameras:
1: Internal front camera (\_SB_.LNK0)
2: Internal front camera (\_SB_.LNK1)
I then ran the libcamera test you provided:
timeout 30 cam -c '\_SB_.LNK1' -C5 -s width=804,height=704
The camera was configured as 804x704 R8, but when capture started the
same I2C failure appeared:
i2c_designware i2c_designware.1:
i2c_dw_handle_tx_abort: lost arbitration
i2c_designware i2c_designware.1: controller timed out
vd55g1 i2c-TBE20A1:00: Sensor reset failed -110
The IPU6 ISYS path then reported stream stop/close timeouts and failed
to start Intel IPU6 CSI2 2 with -110.
I also checked my saved logs from the original testing. They contain
both successful and failed boots of the same kernel build and command
line.
In successful boots, the media graph contained:
vd55g1 1-0010
-> Intel IPU6 CSI2 2
-> Intel IPU6 ISYS Capture 16
-> /dev/video16
and /dev/video16 advertised GREY, Y10 and Y10P.
In failed boots, the sensor failed during probe with the same sequence:
i2c_designware i2c_designware.1:
i2c_dw_handle_tx_abort: lost arbitration
i2c_designware i2c_designware.1: controller timed out
vd55g1 i2c-TBE20A1:00: Sensor reset failed -110
vd55g1 i2c-TBE20A1:00:
probe with driver vd55g1 failed with error -110
This seems to explain my earlier results: sometimes the I2C failure
happens during probe, so LNK1 never appears; sometimes probe succeeds
and the media graph is created, but the same failure can occur later
when streaming starts.
I checked the basic sensor power sequence during failing probes:
- INT3472:01-vana is enabled during probe
- the active-low VD55G1 reset GPIO is deasserted
- INT3472:01-clk is prepared/enabled at 19.2 MHz
The "Sensor reset failed" message above is reached while
vd55g1_wait_state() is polling the sensor over I2C after reset has
already been deasserted.
I also tried forcing i2c_designware.1 runtime PM to "on". In another
test I prevented vd55g1 from probing at boot, waited until the system
had been up for more than 10 seconds, and then loaded the module
manually. Neither changed the failure.
I rebuilt the saved next-20260928 + v1 patches 1-3 source tree and can
reproduce the problem there. I also see the same probe failure on
next-20261002 with the v2 changes already present in linux-next. So at
this point this does not look like a v1/v2 or
next-20260928/next-20261002 regression.
For completeness, I also ran into a separate intermittent boot hang in
thinkpad_acpi hotkey polling while doing these tests. Disabling
CONFIG_THINKPAD_ACPI_HOTKEY_POLL makes boot reliable, but does not fix
the VD55G1 I2C failure, so I currently believe the two issues are
unrelated.
Have you seen this intermittent arbitration loss on your X1 Carbon Gen
14, either during probe or when starting the VD55G1 stream? Is there
anything about the BIOS/firmware or I2C setup on your test machine that
would be useful for me to compare?
I have complete kernel logs from successful-probe, failed-probe, and
successful-probe/failed-stream boots, as well as the saved media
topology, if useful.
Thanks,
Qiling Zhu
prev parent reply other threads:[~2026-10-03 10:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 9:26 Ruslan Koreev
2026-09-29 9:26 ` [PATCH v2 1/4] platform/x86: int3472: Map the VD55G1 power enable GPIO to "vana" Ruslan Koreev
2026-09-29 9:26 ` [PATCH v2 2/4] media: ipu-bridge: Add the ST VD55G1 (TBE20A1) Ruslan Koreev
2026-09-29 9:27 ` [PATCH v2 3/4] media: i2c: vd55g1: Return the endpoint parser's error code Ruslan Koreev
2026-09-30 7:57 ` Benjamin Mugnier
2026-09-29 9:27 ` [PATCH v2 4/4] media: i2c: vd55g1: Add ACPI support Ruslan Koreev
2026-09-30 7:58 ` Benjamin Mugnier
2026-10-03 10:04 ` Qiling Zhu [this message]
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=asDSmOu2NMD_SFnr@ThinkPad \
--to=kmatzkaczor244@gmail.com \
--cc=benjamin.mugnier@foss.st.com \
--cc=dan.scally@ideasonboard.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=koreev.r@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=pm@petermarshall.ca \
--cc=sakari.ailus@linux.intel.com \
--cc=sylvain.petinot@foss.st.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 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®