Skip to content

Commit

Permalink
net: ipa: use bulk operations to set up interconnects
Browse files Browse the repository at this point in the history
Use of_icc_bulk_get() and icc_bulk_put(), icc_bulk_set_bw(), and
icc_bulk_enable() and icc_bulk_disable() to initialize individual
IPA interconnects.  Those functions already log messages in the
event of error so we don't need to.

Signed-off-by: Alex Elder <elder@linaro.org>
  • Loading branch information
alexelder authored and intel-lab-lkp committed Feb 4, 2022
1 parent 64793c5 commit 6b72ddf
Showing 1 changed file with 12 additions and 22 deletions.
34 changes: 12 additions & 22 deletions drivers/net/ipa/ipa_power.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,41 +74,31 @@ static int ipa_interconnect_init_one(struct device *dev,
struct icc_bulk_data *interconnect,
const struct ipa_interconnect_data *data)
{
struct icc_path *path;
int ret;

path = of_icc_get(dev, data->name);
if (IS_ERR(path)) {
ret = PTR_ERR(path);
dev_err_probe(dev, ret, "error getting %s interconnect\n",
data->name);
/* interconnect->path is filled in by of_icc_bulk_get() */
interconnect->name = data->name;
interconnect->avg_bw = data->average_bandwidth;
interconnect->peak_bw = data->peak_bandwidth;

ret = of_icc_bulk_get(dev, 1, interconnect);
if (ret)
return ret;
}

/* All interconnects are initially disabled */
(void)icc_disable(path);
icc_bulk_disable(1, interconnect);

/* Set the bandwidth values to be used when enabled */
ret = icc_set_bw(path, data->average_bandwidth, data->peak_bandwidth);
if (ret) {
dev_err(dev, "error %d setting %s interconnect bandwidths\n",
ret, data->name);

return ret;
}

interconnect->path = path;
interconnect->name = data->name;
interconnect->avg_bw = data->average_bandwidth;
interconnect->peak_bw = data->peak_bandwidth;
ret = icc_bulk_set_bw(1, interconnect);
if (ret)
icc_bulk_put(1, interconnect);

return 0;
return ret;
}

static void ipa_interconnect_exit_one(struct icc_bulk_data *interconnect)
{
icc_put(interconnect->path);
icc_bulk_put(1, interconnect);
memset(interconnect, 0, sizeof(*interconnect));
}

Expand Down

0 comments on commit 6b72ddf

Please sign in to comment.