mbox series

[V4,0/7] imx: blk-ctrl: Add interconnect for i.MX8MP

Message ID 20220708085632.1918323-1-peng.fan@oss.nxp.com
Headers show
Series imx: blk-ctrl: Add interconnect for i.MX8MP | expand

Message

Peng Fan (OSS) July 8, 2022, 8:56 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

V4:
 Because the header is not included when adding NoC node, the fsl,imx8mp.h
 needs be included in this patchset. So include it in patch 6

V3:
 Move adding NoC node patch to i.MX8MP ICC driver patchset
 Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.

V2:
 Use a low bandwidth value instead INT_MAX
 Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
 Add A-b tag from DT maintainer

i.MX8MP NoC settings is invalid after related power domain up. So
need to set valid values after power domain up.

This patchset is to bind interconnect for each entry in blk ctrl.

This patchset is not include DVFS DDRC feature.

Peng Fan (7):
  dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
    ctrl
  dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
    ctrl
  dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
    ctrl
  soc: imx: add icc paths for i.MX8MP media blk ctrl
  soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
  arm64: dts: imx8mp: add interconnects for media blk ctrl
  arm64: dts: imx8mp: add interconnect for hsio blk ctrl

 .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
 .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
 .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
 arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
 drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
 drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
 6 files changed, 125 insertions(+)

Comments

Peng Fan (OSS) Aug. 9, 2022, 1:33 a.m. UTC | #1
Hi Shawn,

Ping..

Thanks,
Peng.

On 7/8/2022 4:56 PM, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> V4:
>   Because the header is not included when adding NoC node, the fsl,imx8mp.h
>   needs be included in this patchset. So include it in patch 6
> 
> V3:
>   Move adding NoC node patch to i.MX8MP ICC driver patchset
>   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> 
> V2:
>   Use a low bandwidth value instead INT_MAX
>   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
>   Add A-b tag from DT maintainer
> 
> i.MX8MP NoC settings is invalid after related power domain up. So
> need to set valid values after power domain up.
> 
> This patchset is to bind interconnect for each entry in blk ctrl.
> 
> This patchset is not include DVFS DDRC feature.
> 
> Peng Fan (7):
>    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
>      ctrl
>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
>      ctrl
>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
>      ctrl
>    soc: imx: add icc paths for i.MX8MP media blk ctrl
>    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
>    arm64: dts: imx8mp: add interconnects for media blk ctrl
>    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> 
>   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
>   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
>   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
>   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
>   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
>   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
>   6 files changed, 125 insertions(+)
>
Shawn Guo Aug. 17, 2022, 9:05 a.m. UTC | #2
On Fri, Jul 08, 2022 at 04:56:25PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> V4:
>  Because the header is not included when adding NoC node, the fsl,imx8mp.h
>  needs be included in this patchset. So include it in patch 6
> 
> V3:
>  Move adding NoC node patch to i.MX8MP ICC driver patchset
>  Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> 
> V2:
>  Use a low bandwidth value instead INT_MAX
>  Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
>  Add A-b tag from DT maintainer
> 
> i.MX8MP NoC settings is invalid after related power domain up. So
> need to set valid values after power domain up.
> 
> This patchset is to bind interconnect for each entry in blk ctrl.
> 
> This patchset is not include DVFS DDRC feature.
> 
> Peng Fan (7):
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
>     ctrl
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
>     ctrl
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
>     ctrl
>   soc: imx: add icc paths for i.MX8MP media blk ctrl
>   soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
>   arm64: dts: imx8mp: add interconnects for media blk ctrl
>   arm64: dts: imx8mp: add interconnect for hsio blk ctrl

Applied all, thanks!
Tim Harvey Oct. 11, 2022, 8:10 p.m. UTC | #3
On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
>
> From: Peng Fan <peng.fan@nxp.com>
>
> V4:
>  Because the header is not included when adding NoC node, the fsl,imx8mp.h
>  needs be included in this patchset. So include it in patch 6
>
> V3:
>  Move adding NoC node patch to i.MX8MP ICC driver patchset
>  Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
>
> V2:
>  Use a low bandwidth value instead INT_MAX
>  Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
>  Add A-b tag from DT maintainer
>
> i.MX8MP NoC settings is invalid after related power domain up. So
> need to set valid values after power domain up.
>
> This patchset is to bind interconnect for each entry in blk ctrl.
>
> This patchset is not include DVFS DDRC feature.
>
> Peng Fan (7):
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
>     ctrl
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
>     ctrl
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
>     ctrl
>   soc: imx: add icc paths for i.MX8MP media blk ctrl
>   soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
>   arm64: dts: imx8mp: add interconnects for media blk ctrl
>   arm64: dts: imx8mp: add interconnect for hsio blk ctrl
>
>  .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
>  .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
>  .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
>  drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
>  drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
>  6 files changed, 125 insertions(+)
>
> --
> 2.25.1
>

Hi Peng,

I built origin/master from commit 041bc24d867a today for an imx8mp
board and am running into errors that appear to be introduced by this
series:
[   15.177372] platform 381f0040.usb-phy: deferred probe pending
[   15.183155] platform 382f0040.usb-phy: deferred probe pending
[   15.188928] platform 33800000.pcie: deferred probe pending
[   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
[   15.200287] platform 38330000.blk-ctrl: deferred probe pending
[   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
[   15.211974] platform 32f10100.usb: deferred probe pending
[   15.217382] platform 32f10108.usb: deferred probe pending
[   15.222791] platform cpufreq-dt: deferred probe pending
# cat /sys/kernel/debug/devices_deferred
381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
cpufreq-dt

Is there a driver I'm perhaps missing that is needed now or are there
some patches that come from a different unmerged tree needed?

Best Regards,

Tim
Marek Vasut Oct. 11, 2022, 11:13 p.m. UTC | #4
On 10/11/22 22:10, Tim Harvey wrote:
> On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
>>
>> From: Peng Fan <peng.fan@nxp.com>
>>
>> V4:
>>   Because the header is not included when adding NoC node, the fsl,imx8mp.h
>>   needs be included in this patchset. So include it in patch 6
>>
>> V3:
>>   Move adding NoC node patch to i.MX8MP ICC driver patchset
>>   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
>>
>> V2:
>>   Use a low bandwidth value instead INT_MAX
>>   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
>>   Add A-b tag from DT maintainer
>>
>> i.MX8MP NoC settings is invalid after related power domain up. So
>> need to set valid values after power domain up.
>>
>> This patchset is to bind interconnect for each entry in blk ctrl.
>>
>> This patchset is not include DVFS DDRC feature.
>>
>> Peng Fan (7):
>>    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
>>      ctrl
>>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
>>      ctrl
>>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
>>      ctrl
>>    soc: imx: add icc paths for i.MX8MP media blk ctrl
>>    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
>>    arm64: dts: imx8mp: add interconnects for media blk ctrl
>>    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
>>
>>   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
>>   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
>>   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
>>   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
>>   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
>>   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
>>   6 files changed, 125 insertions(+)
>>
>> --
>> 2.25.1
>>
> 
> Hi Peng,
> 
> I built origin/master from commit 041bc24d867a today for an imx8mp
> board and am running into errors that appear to be introduced by this
> series:
> [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> [   15.188928] platform 33800000.pcie: deferred probe pending
> [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> [   15.211974] platform 32f10100.usb: deferred probe pending
> [   15.217382] platform 32f10108.usb: deferred probe pending
> [   15.222791] platform cpufreq-dt: deferred probe pending
> # cat /sys/kernel/debug/devices_deferred
> 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> cpufreq-dt
> 
> Is there a driver I'm perhaps missing that is needed now or are there
> some patches that come from a different unmerged tree needed?

Do you have these enabled ?

CONFIG_INTERCONNECT_IMX8MM=y
CONFIG_INTERCONNECT_IMX8MN=y
CONFIG_INTERCONNECT_IMX8MQ=y
CONFIG_INTERCONNECT_IMX8MP=y
Tim Harvey Oct. 12, 2022, 6:46 p.m. UTC | #5
On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
>
> On 10/11/22 22:10, Tim Harvey wrote:
> > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> >>
> >> From: Peng Fan <peng.fan@nxp.com>
> >>
> >> V4:
> >>   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> >>   needs be included in this patchset. So include it in patch 6
> >>
> >> V3:
> >>   Move adding NoC node patch to i.MX8MP ICC driver patchset
> >>   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> >>
> >> V2:
> >>   Use a low bandwidth value instead INT_MAX
> >>   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> >>   Add A-b tag from DT maintainer
> >>
> >> i.MX8MP NoC settings is invalid after related power domain up. So
> >> need to set valid values after power domain up.
> >>
> >> This patchset is to bind interconnect for each entry in blk ctrl.
> >>
> >> This patchset is not include DVFS DDRC feature.
> >>
> >> Peng Fan (7):
> >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> >>      ctrl
> >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> >>      ctrl
> >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> >>      ctrl
> >>    soc: imx: add icc paths for i.MX8MP media blk ctrl
> >>    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> >>    arm64: dts: imx8mp: add interconnects for media blk ctrl
> >>    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> >>
> >>   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> >>   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> >>   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> >>   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> >>   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> >>   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> >>   6 files changed, 125 insertions(+)
> >>
> >> --
> >> 2.25.1
> >>
> >
> > Hi Peng,
> >
> > I built origin/master from commit 041bc24d867a today for an imx8mp
> > board and am running into errors that appear to be introduced by this
> > series:
> > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > [   15.188928] platform 33800000.pcie: deferred probe pending
> > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > [   15.211974] platform 32f10100.usb: deferred probe pending
> > [   15.217382] platform 32f10108.usb: deferred probe pending
> > [   15.222791] platform cpufreq-dt: deferred probe pending
> > # cat /sys/kernel/debug/devices_deferred
> > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > cpufreq-dt
> >
> > Is there a driver I'm perhaps missing that is needed now or are there
> > some patches that come from a different unmerged tree needed?
>
> Do you have these enabled ?
>
> CONFIG_INTERCONNECT_IMX8MM=y
> CONFIG_INTERCONNECT_IMX8MN=y
> CONFIG_INTERCONNECT_IMX8MQ=y
> CONFIG_INTERCONNECT_IMX8MP=y

Marek,

Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.

Best Regards,

Tim
Tim Harvey Oct. 13, 2022, 6:23 p.m. UTC | #6
On Wed, Oct 12, 2022 at 11:46 AM Tim Harvey <tharvey@gateworks.com> wrote:
>
> On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
> >
> > On 10/11/22 22:10, Tim Harvey wrote:
> > > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> > >>
> > >> From: Peng Fan <peng.fan@nxp.com>
> > >>
> > >> V4:
> > >>   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> > >>   needs be included in this patchset. So include it in patch 6
> > >>
> > >> V3:
> > >>   Move adding NoC node patch to i.MX8MP ICC driver patchset
> > >>   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> > >>
> > >> V2:
> > >>   Use a low bandwidth value instead INT_MAX
> > >>   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> > >>   Add A-b tag from DT maintainer
> > >>
> > >> i.MX8MP NoC settings is invalid after related power domain up. So
> > >> need to set valid values after power domain up.
> > >>
> > >> This patchset is to bind interconnect for each entry in blk ctrl.
> > >>
> > >> This patchset is not include DVFS DDRC feature.
> > >>
> > >> Peng Fan (7):
> > >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> > >>      ctrl
> > >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> > >>      ctrl
> > >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> > >>      ctrl
> > >>    soc: imx: add icc paths for i.MX8MP media blk ctrl
> > >>    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> > >>    arm64: dts: imx8mp: add interconnects for media blk ctrl
> > >>    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> > >>
> > >>   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> > >>   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> > >>   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> > >>   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> > >>   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> > >>   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> > >>   6 files changed, 125 insertions(+)
> > >>
> > >> --
> > >> 2.25.1
> > >>
> > >
> > > Hi Peng,
> > >
> > > I built origin/master from commit 041bc24d867a today for an imx8mp
> > > board and am running into errors that appear to be introduced by this
> > > series:
> > > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > > [   15.188928] platform 33800000.pcie: deferred probe pending
> > > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > > [   15.211974] platform 32f10100.usb: deferred probe pending
> > > [   15.217382] platform 32f10108.usb: deferred probe pending
> > > [   15.222791] platform cpufreq-dt: deferred probe pending
> > > # cat /sys/kernel/debug/devices_deferred
> > > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > cpufreq-dt
> > >
> > > Is there a driver I'm perhaps missing that is needed now or are there
> > > some patches that come from a different unmerged tree needed?
> >
> > Do you have these enabled ?
> >
> > CONFIG_INTERCONNECT_IMX8MM=y
> > CONFIG_INTERCONNECT_IMX8MN=y
> > CONFIG_INTERCONNECT_IMX8MQ=y
> > CONFIG_INTERCONNECT_IMX8MP=y
>
> Marek,
>
> Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.
>
> Best Regards,
>
> Tim

I see this issue on origin/master 1440f5760228 using
arch/arm64/configs/defconfig.

It seems to me that the imx8m*_blk_ctrl_probe will all defer now until
perhaps all the drivers using interconnects can probe, such as
g1/lcdif etc?

Some added debugging shows me:
[   14.951371] of_icc_bulk_get path lcdif-rd err=-517
[   14.956205] devm_of_icc_bulk_get ret=-517
[   14.960562] imx8m_blk_ctrl_probe failed -517
[   14.967191] of_icc_bulk_get path g1 err=-517
[   14.971487] devm_of_icc_bulk_get ret=-517
[   14.975614] imx8m_blk_ctrl_probe failed -517
[   14.982200] of_icc_bulk_get path usb1 err=-517
[   14.986680] devm_of_icc_bulk_get ret=-517
[   14.990709] imx8mp_blk_ctrl_probe 0:usb1
[   14.994641] imx8mp_blk_ctrl_probe 1:usb2
[   15.002086] platform 381f0040.usb-phy: deferred probe pending
[   15.007875] platform 382f0040.usb-phy: deferred probe pending
[   15.013636] platform 32f00000.pcie-phy: deferred probe pending
[   15.019480] platform 33800000.pcie: deferred probe pending
[   15.024975] platform 32ec0000.blk-ctrl: deferred probe pending
[   15.030819] platform 38330000.blk-ctrl: deferred probe pending
[   15.036662] platform 32f10000.blk-ctrl: deferred probe pending
[   15.042503] platform 32f10100.usb: deferred probe pending
[   15.047912] platform 32f10108.usb: deferred probe pending

Best Regards,

Tim
Lucas Stach Oct. 13, 2022, 9:49 p.m. UTC | #7
Hi Tim,

Am Donnerstag, dem 13.10.2022 um 11:23 -0700 schrieb Tim Harvey:
> On Wed, Oct 12, 2022 at 11:46 AM Tim Harvey <tharvey@gateworks.com> wrote:
> > 
> > On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
> > > 
> > > On 10/11/22 22:10, Tim Harvey wrote:
> > > > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> > > > > 
> > > > > From: Peng Fan <peng.fan@nxp.com>
> > > > > 
> > > > > V4:
> > > > >   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> > > > >   needs be included in this patchset. So include it in patch 6
> > > > > 
> > > > > V3:
> > > > >   Move adding NoC node patch to i.MX8MP ICC driver patchset
> > > > >   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> > > > > 
> > > > > V2:
> > > > >   Use a low bandwidth value instead INT_MAX
> > > > >   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> > > > >   Add A-b tag from DT maintainer
> > > > > 
> > > > > i.MX8MP NoC settings is invalid after related power domain up. So
> > > > > need to set valid values after power domain up.
> > > > > 
> > > > > This patchset is to bind interconnect for each entry in blk ctrl.
> > > > > 
> > > > > This patchset is not include DVFS DDRC feature.
> > > > > 
> > > > > Peng Fan (7):
> > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> > > > >      ctrl
> > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> > > > >      ctrl
> > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> > > > >      ctrl
> > > > >    soc: imx: add icc paths for i.MX8MP media blk ctrl
> > > > >    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> > > > >    arm64: dts: imx8mp: add interconnects for media blk ctrl
> > > > >    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> > > > > 
> > > > >   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> > > > >   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> > > > >   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> > > > >   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> > > > >   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> > > > >   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> > > > >   6 files changed, 125 insertions(+)
> > > > > 
> > > > > --
> > > > > 2.25.1
> > > > > 
> > > > 
> > > > Hi Peng,
> > > > 
> > > > I built origin/master from commit 041bc24d867a today for an imx8mp
> > > > board and am running into errors that appear to be introduced by this
> > > > series:
> > > > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > > > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > > > [   15.188928] platform 33800000.pcie: deferred probe pending
> > > > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > > > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > > > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > > > [   15.211974] platform 32f10100.usb: deferred probe pending
> > > > [   15.217382] platform 32f10108.usb: deferred probe pending
> > > > [   15.222791] platform cpufreq-dt: deferred probe pending
> > > > # cat /sys/kernel/debug/devices_deferred
> > > > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > > > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > > > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > cpufreq-dt
> > > > 
> > > > Is there a driver I'm perhaps missing that is needed now or are there
> > > > some patches that come from a different unmerged tree needed?
> > > 
> > > Do you have these enabled ?
> > > 
> > > CONFIG_INTERCONNECT_IMX8MM=y
> > > CONFIG_INTERCONNECT_IMX8MN=y
> > > CONFIG_INTERCONNECT_IMX8MQ=y
> > > CONFIG_INTERCONNECT_IMX8MP=y
> > 
> > Marek,
> > 
> > Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.
> > 
> > Best Regards,
> > 
> > Tim
> 
> I see this issue on origin/master 1440f5760228 using
> arch/arm64/configs/defconfig.
> 
> It seems to me that the imx8m*_blk_ctrl_probe will all defer now until
> perhaps all the drivers using interconnects can probe, such as
> g1/lcdif etc?
> 
> Some added debugging shows me:
> [   14.951371] of_icc_bulk_get path lcdif-rd err=-517
> [   14.956205] devm_of_icc_bulk_get ret=-517
> [   14.960562] imx8m_blk_ctrl_probe failed -517
> [   14.967191] of_icc_bulk_get path g1 err=-517
> [   14.971487] devm_of_icc_bulk_get ret=-517
> [   14.975614] imx8m_blk_ctrl_probe failed -517
> [   14.982200] of_icc_bulk_get path usb1 err=-517
> [   14.986680] devm_of_icc_bulk_get ret=-517
> [   14.990709] imx8mp_blk_ctrl_probe 0:usb1
> [   14.994641] imx8mp_blk_ctrl_probe 1:usb2
> [   15.002086] platform 381f0040.usb-phy: deferred probe pending
> [   15.007875] platform 382f0040.usb-phy: deferred probe pending
> [   15.013636] platform 32f00000.pcie-phy: deferred probe pending
> [   15.019480] platform 33800000.pcie: deferred probe pending
> [   15.024975] platform 32ec0000.blk-ctrl: deferred probe pending
> [   15.030819] platform 38330000.blk-ctrl: deferred probe pending
> [   15.036662] platform 32f10000.blk-ctrl: deferred probe pending
> [   15.042503] platform 32f10100.usb: deferred probe pending
> [   15.047912] platform 32f10108.usb: deferred probe pending
> 
Do you have CONFIG_ARM_IMX_BUS_DEVFREQ enabled? This one will actually
instantiate the interconnect devices for the interconnect drivers to
hang onto. Once the interconnect is probed the blk-ctrl drivers should
probe. There is no dependency into leaf peripheral devices.

Regards,
Lucas
Tim Harvey Oct. 17, 2022, 6:53 p.m. UTC | #8
On Thu, Oct 13, 2022 at 2:49 PM Lucas Stach <l.stach@pengutronix.de> wrote:
>
> Hi Tim,
>
> Am Donnerstag, dem 13.10.2022 um 11:23 -0700 schrieb Tim Harvey:
> > On Wed, Oct 12, 2022 at 11:46 AM Tim Harvey <tharvey@gateworks.com> wrote:
> > >
> > > On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
> > > >
> > > > On 10/11/22 22:10, Tim Harvey wrote:
> > > > > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> > > > > >
> > > > > > From: Peng Fan <peng.fan@nxp.com>
> > > > > >
> > > > > > V4:
> > > > > >   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> > > > > >   needs be included in this patchset. So include it in patch 6
> > > > > >
> > > > > > V3:
> > > > > >   Move adding NoC node patch to i.MX8MP ICC driver patchset
> > > > > >   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> > > > > >
> > > > > > V2:
> > > > > >   Use a low bandwidth value instead INT_MAX
> > > > > >   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> > > > > >   Add A-b tag from DT maintainer
> > > > > >
> > > > > > i.MX8MP NoC settings is invalid after related power domain up. So
> > > > > > need to set valid values after power domain up.
> > > > > >
> > > > > > This patchset is to bind interconnect for each entry in blk ctrl.
> > > > > >
> > > > > > This patchset is not include DVFS DDRC feature.
> > > > > >
> > > > > > Peng Fan (7):
> > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> > > > > >      ctrl
> > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> > > > > >      ctrl
> > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> > > > > >      ctrl
> > > > > >    soc: imx: add icc paths for i.MX8MP media blk ctrl
> > > > > >    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> > > > > >    arm64: dts: imx8mp: add interconnects for media blk ctrl
> > > > > >    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> > > > > >
> > > > > >   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> > > > > >   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> > > > > >   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> > > > > >   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> > > > > >   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> > > > > >   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> > > > > >   6 files changed, 125 insertions(+)
> > > > > >
> > > > > > --
> > > > > > 2.25.1
> > > > > >
> > > > >
> > > > > Hi Peng,
> > > > >
> > > > > I built origin/master from commit 041bc24d867a today for an imx8mp
> > > > > board and am running into errors that appear to be introduced by this
> > > > > series:
> > > > > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > > > > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > > > > [   15.188928] platform 33800000.pcie: deferred probe pending
> > > > > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > > > > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > > > > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > > > > [   15.211974] platform 32f10100.usb: deferred probe pending
> > > > > [   15.217382] platform 32f10108.usb: deferred probe pending
> > > > > [   15.222791] platform cpufreq-dt: deferred probe pending
> > > > > # cat /sys/kernel/debug/devices_deferred
> > > > > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > > > > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > > > > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > > cpufreq-dt
> > > > >
> > > > > Is there a driver I'm perhaps missing that is needed now or are there
> > > > > some patches that come from a different unmerged tree needed?
> > > >
> > > > Do you have these enabled ?
> > > >
> > > > CONFIG_INTERCONNECT_IMX8MM=y
> > > > CONFIG_INTERCONNECT_IMX8MN=y
> > > > CONFIG_INTERCONNECT_IMX8MQ=y
> > > > CONFIG_INTERCONNECT_IMX8MP=y
> > >
> > > Marek,
> > >
> > > Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.
> > >
> > > Best Regards,
> > >
> > > Tim
> >
> > I see this issue on origin/master 1440f5760228 using
> > arch/arm64/configs/defconfig.
> >
> > It seems to me that the imx8m*_blk_ctrl_probe will all defer now until
> > perhaps all the drivers using interconnects can probe, such as
> > g1/lcdif etc?
> >
> > Some added debugging shows me:
> > [   14.951371] of_icc_bulk_get path lcdif-rd err=-517
> > [   14.956205] devm_of_icc_bulk_get ret=-517
> > [   14.960562] imx8m_blk_ctrl_probe failed -517
> > [   14.967191] of_icc_bulk_get path g1 err=-517
> > [   14.971487] devm_of_icc_bulk_get ret=-517
> > [   14.975614] imx8m_blk_ctrl_probe failed -517
> > [   14.982200] of_icc_bulk_get path usb1 err=-517
> > [   14.986680] devm_of_icc_bulk_get ret=-517
> > [   14.990709] imx8mp_blk_ctrl_probe 0:usb1
> > [   14.994641] imx8mp_blk_ctrl_probe 1:usb2
> > [   15.002086] platform 381f0040.usb-phy: deferred probe pending
> > [   15.007875] platform 382f0040.usb-phy: deferred probe pending
> > [   15.013636] platform 32f00000.pcie-phy: deferred probe pending
> > [   15.019480] platform 33800000.pcie: deferred probe pending
> > [   15.024975] platform 32ec0000.blk-ctrl: deferred probe pending
> > [   15.030819] platform 38330000.blk-ctrl: deferred probe pending
> > [   15.036662] platform 32f10000.blk-ctrl: deferred probe pending
> > [   15.042503] platform 32f10100.usb: deferred probe pending
> > [   15.047912] platform 32f10108.usb: deferred probe pending
> >
> Do you have CONFIG_ARM_IMX_BUS_DEVFREQ enabled? This one will actually
> instantiate the interconnect devices for the interconnect drivers to
> hang onto. Once the interconnect is probed the blk-ctrl drivers should
> probe. There is no dependency into leaf peripheral devices.
>
> Regards,
> Lucas
>

Lucas,

That's configured as a module in arch/arm64/configs/defconfig - making
it static still does not help. I am booting a static kernel with no
modules here so there must be something else required that is
configured as a module that wasn't needed before this series?

I haven't had much time to look into this. I'm simply using
arch/arm64/configs/defconfig and CONFIG_INITRAMFS_SOURCE set to a
rootfs I use for quick testing. If there is indeed now one or more
modules required before USB and PCIe are available I wonder if they
should be made static in arch/arm64/configs/defconfig? If not then I
don't know what the point in having the PCI and USB drivers static is.

Best Regards,

Tim