OSDN Git Service

media: atomisp: Remove atomisp_ospm_dphy_up()/_down() functions
authorHans de Goede <hdegoede@redhat.com>
Mon, 14 Nov 2022 16:07:45 +0000 (16:07 +0000)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 25 Nov 2022 08:24:52 +0000 (08:24 +0000)
atomisp_ospm_dphy_up() is an empty function now and
atomisp_ospm_dphy_down() contains a couple of checks + goto done
statements which don't matter since the function always ends up at
the done label regardless and then it does 1 pci-config write.

Move the single pci-config write directly to atomisp_power_off()
and remove the atomisp_ospm_dphy_up()/_down() functions.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/pci/atomisp_cmd.c
drivers/staging/media/atomisp/pci/atomisp_cmd.h
drivers/staging/media/atomisp/pci/atomisp_v4l2.c

index 26f504f..d8c7e73 100644 (file)
@@ -5492,40 +5492,6 @@ out:
        return ret;
 }
 
-/*Turn off ISP dphy */
-int atomisp_ospm_dphy_down(struct atomisp_device *isp)
-{
-       struct pci_dev *pdev = to_pci_dev(isp->dev);
-       u32 reg;
-
-       dev_dbg(isp->dev, "%s\n", __func__);
-
-       /* if ISP timeout, we can force powerdown */
-       if (isp->isp_timeout)
-               goto done;
-
-       if (!atomisp_dev_users(isp))
-               goto done;
-
-done:
-       /*
-        * MRFLD IUNIT DPHY is located in an always-power-on island
-        * MRFLD HW design need all CSI ports are disabled before
-        * powering down the IUNIT.
-        */
-       pci_read_config_dword(pdev, MRFLD_PCI_CSI_CONTROL, &reg);
-       reg |= MRFLD_ALL_CSI_PORTS_OFF_MASK;
-       pci_write_config_dword(pdev, MRFLD_PCI_CSI_CONTROL, reg);
-       return 0;
-}
-
-/*Turn on ISP dphy */
-int atomisp_ospm_dphy_up(struct atomisp_device *isp)
-{
-       dev_dbg(isp->dev, "%s\n", __func__);
-       return 0;
-}
-
 int atomisp_exif_makernote(struct atomisp_sub_device *asd,
                           struct atomisp_makernote_info *config)
 {
index f7647ed..b891149 100644 (file)
@@ -273,8 +273,6 @@ int atomisp_set_shading_table(struct atomisp_sub_device *asd,
 int atomisp_offline_capture_configure(struct atomisp_sub_device *asd,
                                      struct atomisp_cont_capture_conf *cvf_config);
 
-int atomisp_ospm_dphy_down(struct atomisp_device *isp);
-int atomisp_ospm_dphy_up(struct atomisp_device *isp);
 int atomisp_exif_makernote(struct atomisp_sub_device *asd,
                           struct atomisp_makernote_info *config);
 
index 9cb1363..e786b81 100644 (file)
@@ -722,9 +722,10 @@ static int atomisp_mrfld_power(struct atomisp_device *isp, bool enable)
 
 int atomisp_power_off(struct device *dev)
 {
-       struct atomisp_device *isp = (struct atomisp_device *)
-                                    dev_get_drvdata(dev);
+       struct atomisp_device *isp = dev_get_drvdata(dev);
+       struct pci_dev *pdev = to_pci_dev(dev);
        int ret;
+       u32 reg;
 
        atomisp_css_uninit(isp);
 
@@ -732,10 +733,15 @@ int atomisp_power_off(struct device *dev)
        if (ret)
                return ret;
 
-       /*Turn off the ISP d-phy*/
-       ret = atomisp_ospm_dphy_down(isp);
-       if (ret)
-               return ret;
+       /*
+        * MRFLD IUNIT DPHY is located in an always-power-on island
+        * MRFLD HW design need all CSI ports are disabled before
+        * powering down the IUNIT.
+        */
+       pci_read_config_dword(pdev, MRFLD_PCI_CSI_CONTROL, &reg);
+       reg |= MRFLD_ALL_CSI_PORTS_OFF_MASK;
+       pci_write_config_dword(pdev, MRFLD_PCI_CSI_CONTROL, reg);
+
        cpu_latency_qos_update_request(&isp->pm_qos, PM_QOS_DEFAULT_VALUE);
        return atomisp_mrfld_power(isp, false);
 }
@@ -751,12 +757,6 @@ int atomisp_power_on(struct device *dev)
                return ret;
 
        cpu_latency_qos_update_request(&isp->pm_qos, isp->max_isr_latency);
-       /*Turn on ISP d-phy */
-       ret = atomisp_ospm_dphy_up(isp);
-       if (ret) {
-               dev_err(isp->dev, "Failed to power up ISP!.\n");
-               return -EINVAL;
-       }
 
        /*restore register values for iUnit and iUnitPHY registers*/
        if (isp->saved_regs.pcicmdsts)