Thread (17 messages) 17 messages, 5 authors, 2022-10-26

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

From: Tim Harvey <tharvey@gateworks.com>
Date: 2022-10-17 18:54:14
Also in: linux-devicetree, linux-pm, lkml

On Thu, Oct 13, 2022 at 2:49 PM Lucas Stach [off-list ref] wrote:
Hi Tim,

Am Donnerstag, dem 13.10.2022 um 11:23 -0700 schrieb Tim Harvey:
quoted
On Wed, Oct 12, 2022 at 11:46 AM Tim Harvey [off-list ref] wrote:
quoted
On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut [off-list ref] wrote:
quoted
On 10/11/22 22:10, Tim Harvey wrote:
quoted
On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) [off-list ref] wrote:
quoted
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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help