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 76e1dfb..67442d5 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 b282871..c5d045d 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;