Message ID | 20220802153434.v3.4.I7b3c72949883846badb073cfeae985c55239da1d@changeid (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/msm/dsi regulator improvements | expand |
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@chromium.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@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; > } >
Hi, On Wed, Aug 3, 2022 at 12:12 AM Dmitry Baryshkov <dmitry.baryshkov@linaro.org> wrote: > > 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@chromium.org> > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@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. Seems like I should post a v4 to update the commit message of the final patch in the series, but I'm going to leave this the way it is since the end result is the same. Originally when I wrote the series I didn't know if the new regulator API changes would be accepted, so the previous patch did the most cleanup it could do with the old API. ;-) -Doug
On 8/2/2022 3:37 PM, 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@chromium.org> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> > --- > > 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; > } >
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; }
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@chromium.org> --- 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(-)