Re: [PATCH v4 2/2] interconnect: qcom: Add SDM660 interconnect provider driver

From: AngeloGioacchino Del Regno
Date: Fri Dec 04 2020 - 13:07:19 EST


Il giorno mar 3 nov 2020 alle ore 17:24 Georgi Djakov
<georgi.djakov@xxxxxxxxxx> ha scritto:
>
> On 10/17/20 16:37, kholk11@xxxxxxxxx wrote:
> > From: AngeloGioacchino Del Regno <kholk11@xxxxxxxxx>
> >
> > Introduce a driver for the Qualcomm interconnect busses found in
> > the SDM630/SDM636/SDM660 SoCs.
> > The topology consists of several NoCs that are controlled by a
> > remote processor that collects the aggregated bandwidth for each
> > master-slave pairs.
> >
> > On a note, these chips are managing the "bus QoS" in a "hybrid"
> > fashion: some of the paths in the topology are managed through
> > (and by, of course) the RPM uC, while some others are "AP Owned",
> > meaning that the AP shall do direct writes to the appropriate
> > QoS registers for the specific paths and ports, instead of sending
> > an indication to the RPM and leaving the job to that one.
> >
> > Signed-off-by: AngeloGioacchino Del Regno <kholk11@xxxxxxxxx>
> > ---
> > drivers/interconnect/qcom/Kconfig | 9 +
> > drivers/interconnect/qcom/Makefile | 2 +
> > drivers/interconnect/qcom/sdm660.c | 922 +++++++++++++++++++++++++++++
> > 3 files changed, 933 insertions(+)
> > create mode 100644 drivers/interconnect/qcom/sdm660.c
> >
> [..]> +static const struct of_device_id sdm660_noc_of_match[] = {
> > + { .compatible = "qcom,sdm660-a2noc", .data = &sdm660_a2noc },
> > + { .compatible = "qcom,sdm660-bimc", .data = &sdm660_bimc },
> > + { .compatible = "qcom,sdm660-cnoc", .data = &sdm660_cnoc },
> > + { .compatible = "qcom,sdm660-gnoc", .data = &sdm660_gnoc },
> > + { .compatible = "qcom,sdm660-mnoc", .data = &sdm660_mnoc },
> > + { .compatible = "qcom,sdm660-snoc", .data = &sdm660_snoc },
> > + { },
> > +};
> > +MODULE_DEVICE_TABLE(of, sdm660_noc_of_match);
> > +
> > +static struct platform_driver sdm660_noc_driver = {
> > + .probe = qnoc_probe,
> > + .remove = qnoc_remove,
> > + .driver = {
> > + .name = "qnoc-sdm660",
> > + .of_match_table = sdm660_noc_of_match,
>
> Just noticed that here we should set the sync_state callback:
> .sync_state = icc_sync_state,
>
> I will fix it up before applying. Are you planning to send a patch
> that adds the DT nodes?
>
> Thanks,
> Georgi
>
I'm sorry for the extremely late reply... Anyway, yes, we have lots of
patches that are bringing up almost the entire feature set in the
SDM630/660 SoCs and we are waiting for them to get merged in
before sending the DT updates.

Cheers,
Angelo

> > + },
> > +};
> > +module_platform_driver(sdm660_noc_driver);
> > +MODULE_DESCRIPTION("Qualcomm sdm660 NoC driver");
> > +MODULE_LICENSE("GPL v2");