aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Goede <[email protected]>2024-06-03 15:20:55 +0200
committerHans Verkuil <[email protected]>2024-07-02 21:23:13 +0200
commitf99d675766bd7ed5e085249a617851548e05c629 (patch)
treedf36a9f8bfbaede445748c27f9588555aa763d9e
parent19d933cf065229356c40753c836605ce8e1c59dc (diff)
media: atomisp: Prefix firmware paths with "intel/ipu/"
The atomisp firmwares have been added to upstream linux-firmware under intel/ipu/ add this prefix to the firmware name passed to request_firmware(). Fall back to the old location if this fails to avoid breaking existing setups. Signed-off-by: Hans de Goede <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Hans Verkuil <[email protected]>
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp_v4l2.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
index cfdfbf96c3fe..c9984f1557b0 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
@@ -1099,17 +1099,17 @@ atomisp_load_firmware(struct atomisp_device *isp)
if ((isp->media_dev.hw_revision >> ATOMISP_HW_REVISION_SHIFT) ==
ATOMISP_HW_REVISION_ISP2401)
- fw_path = "shisp_2401a0_v21.bin";
+ fw_path = "intel/ipu/shisp_2401a0_v21.bin";
if (isp->media_dev.hw_revision ==
((ATOMISP_HW_REVISION_ISP2401_LEGACY << ATOMISP_HW_REVISION_SHIFT) |
ATOMISP_HW_STEPPING_A0))
- fw_path = "shisp_2401a0_legacy_v21.bin";
+ fw_path = "intel/ipu/shisp_2401a0_legacy_v21.bin";
if (isp->media_dev.hw_revision ==
((ATOMISP_HW_REVISION_ISP2400 << ATOMISP_HW_REVISION_SHIFT) |
ATOMISP_HW_STEPPING_B0))
- fw_path = "shisp_2400b0_v21.bin";
+ fw_path = "intel/ipu/shisp_2400b0_v21.bin";
if (!fw_path) {
dev_err(isp->dev, "Unsupported hw_revision 0x%x\n",
@@ -1118,6 +1118,9 @@ atomisp_load_firmware(struct atomisp_device *isp)
}
rc = request_firmware(&fw, fw_path, isp->dev);
+ /* Fallback to old fw_path without "intel/ipu/" prefix */
+ if (rc)
+ rc = request_firmware(&fw, kbasename(fw_path), isp->dev);
if (rc) {
dev_err(isp->dev,
"atomisp: Error %d while requesting firmware %s\n",