mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sergey Zagursky <gvozdoder@gmail.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Sergey Zagursky <gvozdoder@gmail.com>,
	Jake Steinman <j@metarealtyinc.ca>,
	Dan Scally <dan.scally@ideasonboard.com>,
	Hans de Goede <hansg@kernel.org>,
	Lixu Zhang <lixu.zhang@intel.com>,
	Antti Laakso <antti.laakso@linux.intel.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	regressions@lists.linux.dev
Subject: [REGRESSION] ipu-bridge: HM1092 entry hides IVSC-attached OV02C10 on Dell XPS 16 9640
Date: Mon,  9 Nov 2026 16:30:02 +0000	[thread overview]
Message-ID: <20261109142140.ov02c10-hm1092-regression.e938253b8516@gmail.com> (raw)

Hi,

Since v7.3 the built-in camera of my Dell XPS 16 9640 (Meteor Lake
IPU6, OV02C10 behind the Intel IVSC, plus a Himax HM1092 IR sensor in
ACPI as HIMX1092:00) is no longer found by libcamera. It works with
v7.2.8.

The cause is commit 4fdb0342f05e ("media: ipu-bridge: Add Himax HM1092
IR sensor"). ipu-bridge now adds an async connection for the HM1092,
which has no driver in the kernel, so the IPU6 ISYS notifier never
completes. The OV02C10 binds to the IVSC CSI sub-notifier, and its
sub-device node is only created from the ISYS .complete() callback, so
it never appears. The sensor driver probes and the entity is in the
media graph without a device node, and libcamera skips it:

  ERROR V4L2 v4l2_device.cpp:92 'ov02c10 20-0036': Failed to open V4L2 device '': No such file or directory
  ERROR SimplePipeline simple.cpp:1930 No valid pipeline for sensor 'ov02c10 20-0036', skipping

This is the same problem that commit 7456b40bc992 ("media: i2c: cvs:
Add sensor node in bound callback") fixed for CVS in v7.4-rc1. The
IVSC path still has it.

I can see two possible fixes, and I'm not sure which you would prefer:

- Revert 4fdb0342f05e. The comment above the ipu-bridge sensor table
  says not to add sensors that are not supported, and I found no
  HM1092 driver in mainline or linux-next.
- Do for IVSC what 7456b40bc992 did for CVS. I'll reply to this mail
  with that patch.

The second one only covers sensor nodes. As far as I can tell from
the code (not tested, my sensor has no VCM), a VCM instantiated by
ipu-bridge still gets its node only from .complete(), so with an
HM1092 in the tree a camera with a lens would lose focus control
regardless of IVSC.

Testing, all on CachyOS kernels. Their ipu-bridge and ivsc-csi
modules have the same srcversion as modules built from kernel.org
v7.2.8, and the test modules were built from kernel.org v7.2.8 sources
with clang 23.1.4 (the kernel itself was built with clang 22.1.8) and
loaded unsigned, so the kernel was tainted (E):

- 7.3.1: camera missing as described.
- 7.2.8: camera works.
- 7.2.8 with only the HM1092 entry from 4fdb0342f05e added to
  ipu-bridge: camera missing, same libcamera errors.
- Same, plus the patch applied to ivsc-csi: the sensor gets its
  sub-device node, libcamera lists the camera, PipeWire exposes it,
  and "cam -c1 --capture=10" streams at 30 fps. No kernel warnings.
- 7.2.8 with only the patch applied (no HM1092 entry, so .complete()
  runs after .bound() has already created the node): the sensor has
  exactly one sub-device node and streams at 30 fps. No kernel
  warnings.

I have not booted v7.4-rc2 itself. The patch is against v7.4-rc2 and
builds without warnings with W=1 under GCC and clang.

Hardware: Dell XPS 16 9640, BIOS 1.4.1. libcamera 0.7.2.

#regzbot introduced: 4fdb0342f05e

This report and the patch were prepared with the help of an AI
assistant (Claude); I reviewed them and ran the tests above on my
machine.

Thanks,
Sergey

             reply	other threads:[~2026-11-09 16:34 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-09 16:30 Sergey Zagursky [this message]
2026-11-09 16:42 ` Sergey Zagursky

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=20261109142140.ov02c10-hm1092-regression.e938253b8516@gmail.com \
    --to=gvozdoder@gmail.com \
    --cc=antti.laakso@linux.intel.com \
    --cc=dan.scally@ideasonboard.com \
    --cc=hansg@kernel.org \
    --cc=j@metarealtyinc.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lixu.zhang@intel.com \
    --cc=mchehab@kernel.org \
    --cc=regressions@lists.linux.dev \
    --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 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®