[Freedreno] [PATCH v3 4/6] drm/msm/dsi: Use the new regulator bulk feature to specify the load
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Wed Aug 3 07:12:07 UTC 2022
On 03/08/2022 01:37, Douglas Anderson wrote:
> As of commit 6eabfc018e8d ("regulator: core: Allow specifying an
> initial load w/ the bulk API") we can now specify the initial load in
> the bulk data rather than having to manually call regulator_set_load()
> on each regulator. Let's use it.
>
> Signed-off-by: Douglas Anderson <dianders at chromium.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
It might have been better, if the previous patch had only removed the
load_setting on disable and inlined the dsi_host_regulator_disable().
Then this patch would drop the regulator_set_load() from
dsi_host_regulator_enable() path and inline it. Then it would have been
more obvious that after these two changes the time when we set loads is
not changed.
> ---
>
> Changes in v3:
> - Update commit message to point at the git hash of the regulator change.
>
> Changes in v2:
> - ("Use the new regulator bulk feature to specify the load") new for v2.
>
> drivers/gpu/drm/msm/dsi/dsi_host.c | 13 +++----------
> drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 13 +++----------
> 2 files changed, 6 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
> index 9df278d39559..a0a1b6d61d05 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
> @@ -260,8 +260,10 @@ static int dsi_regulator_init(struct msm_dsi_host *msm_host)
> int num = msm_host->cfg_hnd->cfg->reg_cfg.num;
> int i, ret;
>
> - for (i = 0; i < num; i++)
> + for (i = 0; i < num; i++) {
> s[i].supply = regs[i].name;
> + s[i].init_load_uA = regs[i].enable_load;
> + }
>
> ret = devm_regulator_bulk_get(&msm_host->pdev->dev, num, s);
> if (ret < 0) {
> @@ -270,15 +272,6 @@ static int dsi_regulator_init(struct msm_dsi_host *msm_host)
> return ret;
> }
>
> - for (i = 0; i < num; i++) {
> - if (regs[i].enable_load >= 0) {
> - ret = regulator_set_load(s[i].consumer,
> - regs[i].enable_load);
> - if (ret < 0)
> - return ret;
> - }
> - }
> -
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
> index 7c105120d73e..efb6b1726cdb 100644
> --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
> +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
> @@ -515,8 +515,10 @@ static int dsi_phy_regulator_init(struct msm_dsi_phy *phy)
> int num = phy->cfg->reg_cfg.num;
> int i, ret;
>
> - for (i = 0; i < num; i++)
> + for (i = 0; i < num; i++) {
> s[i].supply = regs[i].name;
> + s[i].init_load_uA = regs[i].enable_load;
> + }
>
> ret = devm_regulator_bulk_get(dev, num, s);
> if (ret < 0) {
> @@ -529,15 +531,6 @@ static int dsi_phy_regulator_init(struct msm_dsi_phy *phy)
> return ret;
> }
>
> - for (i = 0; i < num; i++) {
> - if (regs[i].enable_load >= 0) {
> - ret = regulator_set_load(s[i].consumer,
> - regs[i].enable_load);
> - if (ret < 0)
> - return ret;
> - }
> - }
> -
> return 0;
> }
>
--
With best wishes
Dmitry
More information about the Freedreno
mailing list