public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* IPU6 subsystem broken in 6.19-rc1 due to d7cdbbc93c5 ("software node: allow referencing firmware nodes")
@ 2025-12-19  0:59 Kenneth Crudup
  2025-12-19  1:04 ` Kenneth Crudup
  0 siblings, 1 reply; 10+ messages in thread
From: Kenneth Crudup @ 2025-12-19  0:59 UTC (permalink / raw)
  To: akari.ailus; +Cc: linux-media, johannes.goede, Kenneth C


(Also posted here: https://github.com/intel/ipu6-drivers/issues/405 )

I run Linus' master (currently as of ea1013c153927) as my daily driver 
(mostly to find bugs like this). When the merges for the 6.19 series 
started to trickle in, I'd noticed my camera stopped working:

```
[Mon Dec 15 21:49:29 2025] [    T151] intel-ipu6 0000:00:05.0: Found 
supported sensor OVTI01A0:00
[Mon Dec 15 21:49:29 2025] [    T151] intel-ipu6 0000:00:05.0: Connected 
1 cameras
[Mon Dec 15 21:49:29 2025] [    T151] intel-ipu6 0000:00:05.0: 
IPU6-v3[465d] hardware version 5
[Mon Dec 15 21:49:29 2025] [   T1553] ivsc_csi 
intel_vsc-92335fcf-3203-4472-af93-7b4453ac29da: can't obtain sink endpoint
[Mon Dec 15 21:49:29 2025] [   T1553] ivsc_csi 
intel_vsc-92335fcf-3203-4472-af93-7b4453ac29da: probe with driver 
ivsc_csi failed with error -22
```
After bisecting, I'd tracked down the failure to the commit in the 
title, and at this patchset:

```
@@ -633,7 +650,10 @@ software_node_graph_get_remote_endpoint(const 
struct fwnode_handle *fwnode)

         ref = prop->pointer;

-       return software_node_get(software_node_fwnode(ref[0].node)); 
  <---- old line works
+       if (!ref->swnode)
+               return NULL;          <--- no "swnode" after this 
commit, so it fails here
+
+       return software_node_get(software_node_fwnode(ref->swnode));
```
... and here's the code in .../drivers/media/pci/intel/ivsc/mei_csi.c 
where it fails:

static int mei_csi_parse_firmware(struct mei_csi *csi)
{
         struct v4l2_fwnode_endpoint v4l2_ep = {
                 .bus_type = V4L2_MBUS_CSI2_DPHY,
         };
         struct device *dev = &csi->cldev->dev;
         struct v4l2_async_connection *asd;
         struct fwnode_handle *sink_ep, *source_ep;
         int ret;

         sink_ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), 0, 
0, 0);
         if (!sink_ep) {
                 dev_err(dev, "can't obtain sink endpoint\n");
                 return -EINVAL;
         }


I looked at the  fwnode/software node code, and the definition and use 
of that UUID in the ivsc_csi/intel_vsc code and attempted to try a fix, 
but I'm not at all familiar with the ` _node` API and figured I should 
just file an issue rather than go down the rabbit hole I have  little 
time for (at least RN).

It looks like I'll need to add a "swnode" (as the "fwnode" is gone?) but 
not sure how to do that (my first attempts failed).

If you need any further information, LMK.

-K
-- 
Kenneth R. Crudup / Sr. SW Engineer, Scott County Consulting, Orange 
County CA


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-12-22 12:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-19  0:59 IPU6 subsystem broken in 6.19-rc1 due to d7cdbbc93c5 ("software node: allow referencing firmware nodes") Kenneth Crudup
2025-12-19  1:04 ` Kenneth Crudup
2025-12-19  8:36   ` [PATCH 1/1] software node: Also support referencing non-constant software nodes Sakari Ailus
2025-12-19 13:13     ` Mehdi Djait
2025-12-19 15:05       ` johannes.goede
2025-12-19 15:11         ` Danilo Krummrich
2025-12-19 15:38           ` johannes.goede
2025-12-19 15:47             ` Danilo Krummrich
2025-12-19 20:55     ` Kenneth Crudup
2025-12-22 12:36     ` Danilo Krummrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox