media: i2c: ov9281: Fix async subdev matching for Rockchip CSI2 DPHY #509
+11
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The OV9281 camera sensor driver fails to work on Rockchip RK3588-based
boards (like Radxa CM5 IO) because async subdev matching never completes.
The Rockchip CSI2 DPHY driver registers an async notifier waiting for
the sensor's endpoint fwnode, but the ov9281 driver was registering
with its device fwnode via
v4l2_async_register_subdev_sensor().This mismatch causes the DPHY to wait forever for the sensor, resulting in:
Solution
Set
sd->fwnodeto the sensor's endpoint fwnode before registration,and use
v4l2_async_register_subdev()instead of the_sensorvariant.Testing
Tested on:
After this fix:
Media topology after fix
m00_b_ov9281 7-0060 → rockchip-csi2-dphy1 → rockchip-mipi-csi2 → stream_cif_mipi_id0