Re: [PATCH v2 2/2] interconnect: qcom: add msm8974 driver

Brian Masney
2019-10-12T11:00:50Z

On Fri, Oct 11, 2019 at 10:05:06AM -0700, Bjorn Andersson wrote:
> On Sat 05 Oct 04:46 PDT 2019, Brian Masney wrote:
> > diff --git a/drivers/interconnect/qcom/msm8974.c b/drivers/interconnect/qcom/msm8974.c
> [..]
> > +static void msm8974_icc_rpm_smd_send(struct device *dev, int rsc_type,
> > + char *name, int id, u64 val)
> > +{
> > + int ret;
> > +
> > + if (id == -1)
> > + return;
> > +
> > + /*
> > + * Setting the bandwidth requests for some nodes fails and this same
> > + * behavior occurs on the downstream MSM 3.4 kernel sources based on
> > + * errors like this in that kernel:
> > + *
> > + * msm_rpm_get_error_from_ack(): RPM NACK Unsupported resource
> > + * AXI: msm_bus_rpm_req(): RPM: Ack failed
> > + * AXI: msm_bus_rpm_commit_arb(): RPM: Req fail: mas:32, bw:240000000
> > + *
> > + * Since there's no publicly available documentation for this hardware,
> > + * and the bandwidth for some nodes in the path can be set properly,
> > + * let's not return an error.
> > + */
>
> So presumably all that matters for paths including these endpoints is
> the clk_set_rate() on the bus itself.

That's the case for the GPU at the very least.

> But I prefer that we merge it like you propose and then swing back to
> work out the details.

Thanks,

Brian

>
> > + ret = qcom_icc_rpm_smd_send(QCOM_SMD_RPM_ACTIVE_STATE, rsc_type, id,
> > + val);
> > + if (ret)
> > + dev_dbg(dev, "Cannot set bandwidth for node %s (%d): %d\n",
> > + name, id, ret);
> > +}
> > +
>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
>
> Regards,
> Bjorn