Re: [PATCH 0/8] interconnect: support i.MX8MP

From: Lucas Stach
Date: Tue Jun 14 2022 - 13:40:01 EST


Hi Peng,

Am Montag, dem 13.06.2022 um 01:23 +0000 schrieb Peng Fan:
> All,
>
> > Subject: [PATCH 0/8] interconnect: support i.MX8MP
>
> I am going to send out V2 this week to address the comments until now.
> But before that I would like to see if any one has any comments on the
> design here.
>
> Georgi, do you have comments on Patch 2 " interconnect: add device
> managed bulk API"
>
> Lucas, since you had comments when I first use syscon to configure NoC,
> are you ok with the design to use interconnect in this patchset?
>
I'm still not 100% convinced that the blk-ctrl is the right consumer
for the interconnect, since it doesn't do any busmastering. However,
the design looks much better than the syscon based one.

I mostly worry about being able to extend this to do more than the
current static configuration if/when NXP decides to release more
information about the NoC configuration options or someone reverse
engineers this part of the SoC. I still hope that we could optimize NoC
usage by setting real bandwidth and latency limits for the devices
connected to the NoC. As the blk-ctrl doesn't have any clue about this
right now, we can't really set any more specific requests than the
current INT_MAX ones.
I guess we could extend things in this way by making the blk-ctrl not
only be a simple consumer of the interconnect, but aggregate requests
from the devices in the blk-ctrl domain and forward them to the NOC
provider, right?

Regards,
Lucas

> Thanks,
> Peng.
>
> >
> > From: Peng Fan <peng.fan@xxxxxxx>
> >
> > This patchset is to support i.MX8MP NoC settings, i.MX8MP NoC initial value
> > after power up is invalid, need set a valid value after related power domain up.
> >
> > This patchset also includes two patch[1,2] during my development to enable the
> > ICC feature for i.MX8MP.
> >
> > I not include ddrc DVFS in this patchset, ths patchset is only to support NoC
> > value mode/priority/ext_control being set to a valid value that suggested by
> > i.MX Chip Design Team. The value is same as NXP downstream one inside Arm
> > Trusted Firmware:
> > https://source.codeaurora.org/external/imx/imx-atf/tree/plat/imx/imx8m/imx
> > 8mp/gpc.c?h=lf_v2.4#n97
> >
> > A repo created here:
> > https://github.com/MrVan/linux/tree/imx8mp-interconnect
> >
> > Peng Fan (8):
> > dt-bindings: interconnect: imx8m: Add bindings for imx8mp noc
> > interconnect: add device managed bulk API
> > interconnect: imx: fix max_node_id
> > interconnect: imx: set src node
> > interconnect: imx: introduce imx_icc_provider
> > interconnect: imx: set of_node for interconnect provider
> > interconnect: imx: configure NoC mode/prioriry/ext_control
> > interconnect: imx: Add platform driver for imx8mp
> >
> > .../bindings/interconnect/fsl,imx8m-noc.yaml | 6 +
> > drivers/interconnect/bulk.c | 34 +++
> > drivers/interconnect/imx/Kconfig | 4 +
> > drivers/interconnect/imx/Makefile | 2 +
> > drivers/interconnect/imx/imx.c | 68 +++--
> > drivers/interconnect/imx/imx.h | 25 +-
> > drivers/interconnect/imx/imx8mm.c | 2 +-
> > drivers/interconnect/imx/imx8mn.c | 2 +-
> > drivers/interconnect/imx/imx8mp.c | 232
> > ++++++++++++++++++
> > drivers/interconnect/imx/imx8mq.c | 2 +-
> > include/dt-bindings/interconnect/fsl,imx8mp.h | 59 +++++
> > include/linux/interconnect.h | 6 +
> > 12 files changed, 424 insertions(+), 18 deletions(-) create mode 100644
> > drivers/interconnect/imx/imx8mp.c create mode 100644
> > include/dt-bindings/interconnect/fsl,imx8mp.h
> >
> > --
> > 2.25.1
>