From: Daniel Scally dan.scally@ideasonboard.com
[ Upstream commit 484f8bec3ddb453321ef0b8621c25de6ce3d0302 ]
The OV5670 is found on Dell 7212 tablets paired with an IPU3 ISP and needs to be connected by the ipu-bridge. Add it to the list of supported devices.
Signed-off-by: Daniel Scally dan.scally@ideasonboard.com Signed-off-by: Sakari Ailus sakari.ailus@linux.intel.com Signed-off-by: Hans Verkuil hverkuil@xs4all.nl Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
Based on my analysis, here's my determination:
**Backport Status: YES**
## Extensive Explanation:
This commit should be backported to stable kernel trees for the following reasons:
### 1. **Hardware Enablement Fix** The commit adds missing ACPI HID (`INT3479`) for the OV5670 sensor to the IPU bridge supported sensors list. This is a clear hardware enablement fix that makes the Dell 7212 tablet's camera functional. Without this entry, the OV5670 sensor on these tablets would not be properly connected through the IPU bridge, rendering the camera non- functional.
### 2. **Simple and Contained Change** The code change is minimal and low-risk: - It adds exactly one line to a static array: `IPU_SENSOR_CONFIG("INT3479", 1, 422400000)` - The change follows the existing pattern in the array - It maintains the alphabetical sorting as required by the comment ("Please keep the list sorted by ACPI HID") - The position between `INT3474` and `INT347A` is correct alphabetically
### 3. **Existing Driver Support** The OV5670 sensor driver already exists in the kernel (`drivers/media/i2c/ov5670.c`) and already recognizes the `INT3479` ACPI HID, as evidenced by: ```c static const struct acpi_device_id ov5670_acpi_ids[] = { { "INT3479" }, { /* sentinel */ } }; ``` This means the sensor driver is ready, but the IPU bridge was missing the connection configuration.
### 4. **Pattern of Similar Fixes** Looking at the commit history of `ipu-bridge.c`, there's a clear pattern of adding sensor HIDs as hardware enablement fixes: - `ec86a04bedb1` added ov01a10 for Dell XPS 9315 - `0065b9374633` added GalaxyCore GC0310 - `440de616e76e` added HIDs from out-of-tree IPU6 driver
These types of commits are typically backported as they fix broken hardware functionality.
### 5. **No Architectural Changes** The commit: - Does not introduce new features - Does not change any APIs or interfaces - Does not modify existing functionality - Simply adds configuration data to enable already-supported hardware
### 6. **User Impact** Without this fix, users with Dell 7212 tablets running stable kernels would have non-functional cameras, which is a significant usability issue. The fix enables basic hardware functionality that users expect to work.
### 7. **Minimal Risk** The change cannot cause regressions for existing hardware because: - It only adds a new entry to the array - The entry is only used when matching the specific `INT3479` HID - If the hardware isn't present, the entry is simply ignored - The link frequency value (422400000) appears reasonable compared to other OV sensors
This is exactly the type of commit that stable kernel rules encourage: a small, contained fix that enables broken hardware without risk of regression.
drivers/media/pci/intel/ipu-bridge.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c index 83e682e1a4b7..73560c2c67c1 100644 --- a/drivers/media/pci/intel/ipu-bridge.c +++ b/drivers/media/pci/intel/ipu-bridge.c @@ -60,6 +60,8 @@ static const struct ipu_sensor_config ipu_supported_sensors[] = { IPU_SENSOR_CONFIG("INT33BE", 1, 419200000), /* Omnivision OV2740 */ IPU_SENSOR_CONFIG("INT3474", 1, 180000000), + /* Omnivision OV5670 */ + IPU_SENSOR_CONFIG("INT3479", 1, 422400000), /* Omnivision OV8865 */ IPU_SENSOR_CONFIG("INT347A", 1, 360000000), /* Omnivision OV7251 */