drm/msm/mdp4: Don't manage DSI PLL regulators in MDP driver
authorArchit Taneja <architt@codeaurora.org>
Fri, 29 Apr 2016 09:49:37 +0000 (15:19 +0530)
committerRob Clark <robdclark@gmail.com>
Sun, 8 May 2016 14:22:18 +0000 (10:22 -0400)
The MDP4 driver tries to request and set voltages for regulators required
by the DSI PLLs.

Firstly, the MDP4 driver shouldn't manage the DSI regulators, this should
be handled in the DSI driver. Secondly, it shouldn't try to set a fixed
voltage for regulators. Voltage constraints should be specified on the
regulator via DT and managed by the regulator core.

Remove all the DSI PLL regulator related code from the MDP4 driver. It's
managed in the DSI driver for MSM8960/APQ8064 already.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c
drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h

index 76e1dfb5d25ea4e6a77012fd3f088be473237c1c..67442d50a6c2161e5ea676c8b8e8983230f456fa 100644 (file)
@@ -50,30 +50,6 @@ static int mdp4_hw_init(struct msm_kms *kms)
 
        mdp4_kms->rev = minor;
 
-       if (mdp4_kms->dsi_pll_vdda) {
-               if ((mdp4_kms->rev == 2) || (mdp4_kms->rev == 4)) {
-                       ret = regulator_set_voltage(mdp4_kms->dsi_pll_vdda,
-                                       1200000, 1200000);
-                       if (ret) {
-                               dev_err(dev->dev,
-                                       "failed to set dsi_pll_vdda voltage: %d\n", ret);
-                               goto out;
-                       }
-               }
-       }
-
-       if (mdp4_kms->dsi_pll_vddio) {
-               if (mdp4_kms->rev == 2) {
-                       ret = regulator_set_voltage(mdp4_kms->dsi_pll_vddio,
-                                       1800000, 1800000);
-                       if (ret) {
-                               dev_err(dev->dev,
-                                       "failed to set dsi_pll_vddio voltage: %d\n", ret);
-                               goto out;
-                       }
-               }
-       }
-
        if (mdp4_kms->rev > 1) {
                mdp4_write(mdp4_kms, REG_MDP4_CS_CONTROLLER0, 0x0707ffff);
                mdp4_write(mdp4_kms, REG_MDP4_CS_CONTROLLER1, 0x03073f3f);
@@ -485,16 +461,6 @@ struct msm_kms *mdp4_kms_init(struct drm_device *dev)
                goto fail;
        }
 
-       mdp4_kms->dsi_pll_vdda =
-                       devm_regulator_get_optional(&pdev->dev, "dsi_pll_vdda");
-       if (IS_ERR(mdp4_kms->dsi_pll_vdda))
-               mdp4_kms->dsi_pll_vdda = NULL;
-
-       mdp4_kms->dsi_pll_vddio =
-                       devm_regulator_get_optional(&pdev->dev, "dsi_pll_vddio");
-       if (IS_ERR(mdp4_kms->dsi_pll_vddio))
-               mdp4_kms->dsi_pll_vddio = NULL;
-
        /* NOTE: driver for this regulator still missing upstream.. use
         * _get_exclusive() and ignore the error if it does not exist
         * (and hope that the bootloader left it on for us)
index b2828717be2ad18b01370bb434425be27897c1e4..c5d045d5680d74f5ef91715a1c00759fe8288a13 100644 (file)
@@ -37,8 +37,6 @@ struct mdp4_kms {
 
        void __iomem *mmio;
 
-       struct regulator *dsi_pll_vdda;
-       struct regulator *dsi_pll_vddio;
        struct regulator *vdd;
 
        struct clk *clk;