]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - drivers/media/pci/intel/ipu.c
UBUNTU: SAUCE: IPU6: 2022-03-11 alpha release for Andrews MLK
[mirror_ubuntu-jammy-kernel.git] / drivers / media / pci / intel / ipu.c
index 691907561e9afa7744d9c95925d144ade44a8242..553cab032037c9ba53b03730ff8fdc1fcff5fd02 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 // Copyright (C) 2013 - 2020 Intel Corporation
 
+#include <linux/acpi.h>
 #include <linux/debugfs.h>
 #include <linux/device.h>
 #include <linux/interrupt.h>
@@ -362,8 +363,13 @@ static int ipu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        void __iomem *psys_base = NULL;
        struct ipu_buttress_ctrl *isys_ctrl = NULL, *psys_ctrl = NULL;
        unsigned int dma_mask = IPU_DMA_MASK;
+       struct fwnode_handle *fwnode = dev_fwnode(&pdev->dev);
+       u32 is_es;
        int rval;
 
+       if (!fwnode || fwnode_property_read_u32(fwnode, "is_es", &is_es))
+               is_es = 0;
+
        isp = devm_kzalloc(&pdev->dev, sizeof(*isp), GFP_KERNEL);
        if (!isp)
                return -ENOMEM;
@@ -418,7 +424,7 @@ static int ipu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        case IPU6EP_ADL_P_PCI_ID:
        case IPU6EP_ADL_N_PCI_ID:
                ipu_ver = IPU_VER_6EP;
-               isp->cpd_fw_name = IPU6EP_FIRMWARE_NAME;
+               isp->cpd_fw_name = is_es ? IPU6EPES_FIRMWARE_NAME : IPU6EP_FIRMWARE_NAME;
                break;
        default:
                WARN(1, "Unsupported IPU device");