All of lore.kernel.org
 help / color / mirror / Atom feed
* [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks
@ 2020-02-27 10:05 Markus Reichl
       [not found] ` <cb872bd4-1dd1-56fe-2370-181796b55f77-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Markus Reichl @ 2020-02-27 10:05 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Jerome Brunet,
	Doug Anderson, Heiko Stuebner

Hi Stephen,

on recent linux-next (from 20200214 on)my rk3399-roc-pc board refuses to boot.
(s. below dmesg) with __clk_core_init: Failed to get phase for clk 'sdmmc_drv'

Git bisecting points to the following commit:

2760878662a290ac57cff8a5a8d8bda8f4dddc37 is the first bad commit
commit 2760878662a290ac57cff8a5a8d8bda8f4dddc37
Author: Stephen Boyd <sboyd@kernel.org>
Date:   Wed Feb 5 15:28:02 2020 -0800

     clk: Bail out when calculating phase fails during clk registration
     
     Bail out of clk registration if we fail to get the phase for a clk that
     has a clk_ops::get_phase() callback. Print a warning too so that driver
     authors can easily figure out that some clk is unable to read back phase
     information at boot.
     
     Cc: Douglas Anderson <dianders@chromium.org>
     Cc: Heiko Stuebner <heiko@sntech.de>
     Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
     Signed-off-by: Stephen Boyd <sboyd@kernel.org>
     Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org
     Acked-by: Jerome Brunet <jbrunet@baylibre.com>

  drivers/clk/clk.c | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.6.0-rc3-next-20200226 (root@roc) (gcc version 9.2.1 20200220 (Debian 9.2.1-29)) #16 SMP PREEMPT Wed Feb 26 10:10:05 CET 2020
[    0.000000] Machine model: Firefly ROC-RK3399-PC Mezzanine Board
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xf3ffe100-0xf3ffffff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000200000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f7ffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000200000-0x00000000f7ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.0
[    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: kernel page table isolation forced OFF by mitigations=off
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999432
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=tty1 console=ttyS2,1500000 swiotlb=1 root=/dev/nvme0n1p1 rootwait rw rootfstype=ext4 init=/sbin/init mitigations=off
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x3ffbf000-0x3ffff000] (0MB)
[    0.000000] Memory: 3910884K/4061184K available (6908K kernel code, 512K rwdata, 2680K rodata, 1728K init, 355K bss, 117532K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 256 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: 16 PPIs implemented
[    0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
[    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
[    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @f3480000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x00000000f3440000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000f3450000
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
[    0.000000] random: get_random_bytes called from start_kernel+0x538/0x6bc with crng_init=0
[    0.000000] __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
[    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_drv: -22
[    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_sample: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock sdio_drv: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock sdio_sample: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_pm: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref100m: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core_cru: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_emmc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_emmc_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_emmc_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmccore: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmcgrf: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_perilp0_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_perilp0_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_intmem: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_tzma: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem2: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem3: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem4: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem5: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dcf: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac0_perilp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac1_perilp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_rom: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dcf: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock cpll_fclk_cm0s_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock gpll_fclk_cm0s_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock fclk_cm0s: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock sclk_m0_perilp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock dclk_m0_perilp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_m0_perilp_dec: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock cpll_hclk_perilp1_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock gpll_hclk_perilp1_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s2: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_spdif: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi5: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdioaudio_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart2: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart3: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c7: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c5: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c6: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c2: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c3: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mailbox0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_saradc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_tsadc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024ns: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024s: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi2: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi4: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp_sgrf: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_saradc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_tsadc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1_pll_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2_pll_src: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi1: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio_grf: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp22: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp22: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdmi_ctrl: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dp_ctrl: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp22: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_gasket: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_dp_core: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_ctrl: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_sfr: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_cec: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_pre: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_pre: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_noc: -17
[    0.000000] rockchip_clk_register_branches: failed to register clock dclk_vop0_div: -17
[    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[    0.000000] Mem abort info:
[    0.000000]   ESR = 0x96000004
[    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
[    0.000000]   SET = 0, FnV = 0
[    0.000000]   EA = 0, S1PTW = 0
[    0.000000] Data abort info:
[    0.000000]   ISV = 0, ISS = 0x00000004
[    0.000000]   CM = 0, WnR = 0
[    0.000000] [0000000000000000] user address but active_mm is swapper
[    0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc3-next-20200226 #16
[    0.000000] Hardware name: Firefly ROC-RK3399-PC Mezzanine Board (DT)
[    0.000000] pstate: 40000085 (nZcv daIf -PAN -UAO)
[    0.000000] pc : __pi_strcmp+0x18/0x154
[    0.000000] lr : __clk_lookup_subtree+0x20/0x78
[    0.000000] sp : ffff800010ba3b40
[    0.000000] x29: ffff800010ba3b40 x28: ffff0000f356e528
[    0.000000] x27: 0000000000000001 x26: 0000000000000000
[    0.000000] x25: 0000000000000000 x24: ffff800010be9508
[    0.000000] x23: ffff0000f356e500 x22: ffff0000f356d600
[    0.000000] x21: ffff800010c68000 x20: ffff80001091dff8
[    0.000000] x19: ffff0000f356d500 x18: 0000000000000010
[    0.000000] x17: 0000000000000000 x16: 000000007081244d
[    0.000000] x15: ffff800010bb19a8 x14: 6f765f6b6c636420
[    0.000000] x13: 6b636f6c63207265 x12: 747369676572206f
[    0.000000] x11: 0000000000000005 x10: 0101010101010101
[    0.000000] x9 : 0000000000000000 x8 : 7f7f7f7f7f7f7f7f
[    0.000000] x7 : 0000000000000000 x6 : 070f07342c12021d
[    0.000000] x5 : 1d02122c34070f07 x4 : 0000000000000000
[    0.000000] x3 : 8c6d8d6beecdee00 x2 : 000000000000006d
[    0.000000] x1 : ffff80001091dff8 x0 : 0000000000000000
[    0.000000] Call trace:
[    0.000000]  __pi_strcmp+0x18/0x154
[    0.000000]  __clk_lookup_subtree+0x40/0x78
[    0.000000]  __clk_lookup_subtree+0x40/0x78
[    0.000000]  clk_core_lookup+0x38/0x98
[    0.000000]  __clk_register+0x120/0x798
[    0.000000]  clk_hw_register+0x1c/0x58
[    0.000000]  __clk_hw_register_composite+0x1e0/0x2c0
[    0.000000]  clk_register_composite+0x40/0x58
[    0.000000]  rockchip_clk_register_branches+0x388/0x908
[    0.000000]  rk3399_clk_init+0xb0/0x150
[    0.000000]  of_clk_init+0x1e8/0x284
[    0.000000]  time_init+0x10/0x44
[    0.000000]  start_kernel+0x558/0x6bc
[    0.000000] Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
[    0.000000] ---[ end trace 8ad2f94645b7db99 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---











Gruß,
-- 
Markus Reichl

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks
       [not found] ` <cb872bd4-1dd1-56fe-2370-181796b55f77-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
@ 2020-02-27 10:39   ` Jerome Brunet
       [not found]     ` <1jd0a09uw4.fsf-de0UBZ+tuabJPAktV+lpxxGQ6p3D1CpGZeezCHUQhQ4@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Jerome Brunet @ 2020-02-27 10:39 UTC (permalink / raw)
  To: Markus Reichl, Stephen Boyd
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Doug Anderson,
	Heiko Stuebner


On Thu 27 Feb 2020 at 11:05, Markus Reichl <m.reichl@fivetechno.de> wrote:

> Hi Stephen,
>
> on recent linux-next (from 20200214 on)my rk3399-roc-pc board refuses to boot.
> (s. below dmesg) with __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>
> Git bisecting points to the following commit:

Hi Markus,

I think you mentioned earlier that you already had Maxime's fixup [0]
but it is not clear it with this report. Could you please clarify ?

Anyway, it looks to me that the problem is coming from
drivers/clk/rockchip/clk-mmc-phase.c:55

This HW has both a coarse phase setting and a fine delay-based
setting.

Delay based phase cannot be computed if the rate is zero (if the clock
is orphaned for ex)

However, I think it is still valid for CCF to call .get_phase() and
except an answer, even the rate of the clock is zero.

IOW, if the rate is 0, I think .get_phase() should not return -EINVAL.
It should return 0 (0Hz => constant signal => no phase shift). 

[0]: https://lkml.kernel.org/r/20200225134248.919889-1-maxime@cerno.tech

>
> 2760878662a290ac57cff8a5a8d8bda8f4dddc37 is the first bad commit
> commit 2760878662a290ac57cff8a5a8d8bda8f4dddc37
> Author: Stephen Boyd <sboyd@kernel.org>
> Date:   Wed Feb 5 15:28:02 2020 -0800
>
>     clk: Bail out when calculating phase fails during clk registration
>       Bail out of clk registration if we fail to get the phase for a clk
> that
>     has a clk_ops::get_phase() callback. Print a warning too so that driver
>     authors can easily figure out that some clk is unable to read back phase
>     information at boot.
>       Cc: Douglas Anderson <dianders@chromium.org>
>     Cc: Heiko Stuebner <heiko@sntech.de>
>     Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
>     Signed-off-by: Stephen Boyd <sboyd@kernel.org>
>     Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org
>     Acked-by: Jerome Brunet <jbrunet@baylibre.com>
>
>  drivers/clk/clk.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
> [    0.000000] Linux version 5.6.0-rc3-next-20200226 (root@roc) (gcc version 9.2.1 20200220 (Debian 9.2.1-29)) #16 SMP PREEMPT Wed Feb 26 10:10:05 CET 2020
> [    0.000000] Machine model: Firefly ROC-RK3399-PC Mezzanine Board
> [    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
> [    0.000000] printk: bootconsole [uart8250] enabled
> [    0.000000] efi: Getting EFI parameters from FDT:
> [    0.000000] efi: UEFI not found.
> [    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
> [    0.000000] NUMA: No NUMA configuration found
> [    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
> [    0.000000] NUMA: NODE_DATA [mem 0xf3ffe100-0xf3ffffff]
> [    0.000000] Zone ranges:
> [    0.000000]   DMA      [mem 0x0000000000200000-0x000000003fffffff]
> [    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f7ffffff]
> [    0.000000]   Normal   empty
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x0000000000200000-0x00000000f7ffffff]
> [    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
> [    0.000000] psci: probing for conduit method from DT.
> [    0.000000] psci: PSCIv1.1 detected in firmware.
> [    0.000000] psci: Using standard PSCI v0.2 function IDs
> [    0.000000] psci: MIGRATE_INFO_TYPE not supported.
> [    0.000000] psci: SMC Calling Convention v1.0
> [    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
> [    0.000000] Detected VIPT I-cache on CPU0
> [    0.000000] CPU features: detected: ARM erratum 845719
> [    0.000000] CPU features: detected: GIC system register CPU interface
> [    0.000000] CPU features: kernel page table isolation forced OFF by mitigations=off
> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999432
> [    0.000000] Policy zone: DMA32
> [    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=tty1 console=ttyS2,1500000 swiotlb=1 root=/dev/nvme0n1p1 rootwait rw rootfstype=ext4 init=/sbin/init mitigations=off
> [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
> [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> [    0.000000] software IO TLB: mapped [mem 0x3ffbf000-0x3ffff000] (0MB)
> [    0.000000] Memory: 3910884K/4061184K available (6908K kernel code, 512K rwdata, 2680K rodata, 1728K init, 355K bss, 117532K reserved, 32768K cma-reserved)
> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
> [    0.000000]  Tasks RCU enabled.
> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
> [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
> [    0.000000] GICv3: 256 SPIs implemented
> [    0.000000] GICv3: 0 Extended SPIs implemented
> [    0.000000] GICv3: Distributor has no Range Selector support
> [    0.000000] GICv3: 16 PPIs implemented
> [    0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
> [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
> [    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
> [    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @f3480000 (flat, esz 8, psz 64K, shr 0)
> [    0.000000] ITS: using cache flushing for cmd queue
> [    0.000000] GICv3: using LPI property table @0x00000000f3440000
> [    0.000000] GIC: using cache flushing for LPI property table
> [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000f3450000
> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
> [    0.000000] random: get_random_bytes called from start_kernel+0x538/0x6bc with crng_init=0
> [    0.000000] __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_drv: -22
> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_sample: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_drv: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_sample: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_pm: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref100m: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core_cru: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_emmc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_emmc_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_emmc_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmccore: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmcgrf: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_perilp0_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_perilp0_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_intmem: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_tzma: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem2: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem3: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem4: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem5: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dcf: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac0_perilp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac1_perilp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_rom: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dcf: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_fclk_cm0s_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_fclk_cm0s_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock fclk_cm0s: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock sclk_m0_perilp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_m0_perilp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_m0_perilp_dec: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_hclk_perilp1_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_hclk_perilp1_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s2: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_spdif: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi5: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdioaudio_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart2: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart3: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c7: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c5: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c6: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c2: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c3: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mailbox0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_saradc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_tsadc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024ns: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024s: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi2: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi4: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp_sgrf: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_saradc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_tsadc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1_pll_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2_pll_src: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi1: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio_grf: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp22: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp22: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdmi_ctrl: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dp_ctrl: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp22: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_gasket: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_dp_core: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_ctrl: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_sfr: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_cec: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_pre: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_pre: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_noc: -17
> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_vop0_div: -17
> [    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
> [    0.000000] Mem abort info:
> [    0.000000]   ESR = 0x96000004
> [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
> [    0.000000]   SET = 0, FnV = 0
> [    0.000000]   EA = 0, S1PTW = 0
> [    0.000000] Data abort info:
> [    0.000000]   ISV = 0, ISS = 0x00000004
> [    0.000000]   CM = 0, WnR = 0
> [    0.000000] [0000000000000000] user address but active_mm is swapper
> [    0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> [    0.000000] Modules linked in:
> [    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc3-next-20200226 #16
> [    0.000000] Hardware name: Firefly ROC-RK3399-PC Mezzanine Board (DT)
> [    0.000000] pstate: 40000085 (nZcv daIf -PAN -UAO)
> [    0.000000] pc : __pi_strcmp+0x18/0x154
> [    0.000000] lr : __clk_lookup_subtree+0x20/0x78
> [    0.000000] sp : ffff800010ba3b40
> [    0.000000] x29: ffff800010ba3b40 x28: ffff0000f356e528
> [    0.000000] x27: 0000000000000001 x26: 0000000000000000
> [    0.000000] x25: 0000000000000000 x24: ffff800010be9508
> [    0.000000] x23: ffff0000f356e500 x22: ffff0000f356d600
> [    0.000000] x21: ffff800010c68000 x20: ffff80001091dff8
> [    0.000000] x19: ffff0000f356d500 x18: 0000000000000010
> [    0.000000] x17: 0000000000000000 x16: 000000007081244d
> [    0.000000] x15: ffff800010bb19a8 x14: 6f765f6b6c636420
> [    0.000000] x13: 6b636f6c63207265 x12: 747369676572206f
> [    0.000000] x11: 0000000000000005 x10: 0101010101010101
> [    0.000000] x9 : 0000000000000000 x8 : 7f7f7f7f7f7f7f7f
> [    0.000000] x7 : 0000000000000000 x6 : 070f07342c12021d
> [    0.000000] x5 : 1d02122c34070f07 x4 : 0000000000000000
> [    0.000000] x3 : 8c6d8d6beecdee00 x2 : 000000000000006d
> [    0.000000] x1 : ffff80001091dff8 x0 : 0000000000000000
> [    0.000000] Call trace:
> [    0.000000]  __pi_strcmp+0x18/0x154
> [    0.000000]  __clk_lookup_subtree+0x40/0x78
> [    0.000000]  __clk_lookup_subtree+0x40/0x78
> [    0.000000]  clk_core_lookup+0x38/0x98
> [    0.000000]  __clk_register+0x120/0x798
> [    0.000000]  clk_hw_register+0x1c/0x58
> [    0.000000]  __clk_hw_register_composite+0x1e0/0x2c0
> [    0.000000]  clk_register_composite+0x40/0x58
> [    0.000000]  rockchip_clk_register_branches+0x388/0x908
> [    0.000000]  rk3399_clk_init+0xb0/0x150
> [    0.000000]  of_clk_init+0x1e8/0x284
> [    0.000000]  time_init+0x10/0x44
> [    0.000000]  start_kernel+0x558/0x6bc
> [    0.000000] Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
> [    0.000000] ---[ end trace 8ad2f94645b7db99 ]---
> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
> [    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---
>
>
>
>
>
>
>
>
>
>
>
> Gruß,


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks
       [not found]     ` <1jd0a09uw4.fsf-de0UBZ+tuabJPAktV+lpxxGQ6p3D1CpGZeezCHUQhQ4@public.gmane.org>
@ 2020-02-27 10:53       ` Markus Reichl
       [not found]         ` <6ab3da2a-5634-fff0-9077-d521eec2200e-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
  2020-02-28  1:12       ` [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks【请注意,邮件由linux-rockchip-bounces+shawn.lin=rock-chips.com@lists.infradead.org代发】 Shawn Lin
  1 sibling, 1 reply; 8+ messages in thread
From: Markus Reichl @ 2020-02-27 10:53 UTC (permalink / raw)
  To: Jerome Brunet, Stephen Boyd
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Doug Anderson,
	Heiko Stuebner

Hi Jerome,

Am 27.02.20 um 11:39 schrieb Jerome Brunet:
> 
> On Thu 27 Feb 2020 at 11:05, Markus Reichl <m.reichl@fivetechno.de> wrote:
> 
>> Hi Stephen,
>>
>> on recent linux-next (from 20200214 on)my rk3399-roc-pc board refuses to boot.
>> (s. below dmesg) with __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>>
>> Git bisecting points to the following commit:
> 
> Hi Markus,
> 
> I think you mentioned earlier that you already had Maxime's fixup [0]
> but it is not clear it with this report. Could you please clarify ?

I did not know about this fixup yet, thanks for pointing me.
I tried it now on -next of today but it does not fix booting for me.
I get same error log.
> 
> Anyway, it looks to me that the problem is coming from
> drivers/clk/rockchip/clk-mmc-phase.c:55
> 
> This HW has both a coarse phase setting and a fine delay-based
> setting.
> 
> Delay based phase cannot be computed if the rate is zero (if the clock
> is orphaned for ex)
> 
> However, I think it is still valid for CCF to call .get_phase() and
> except an answer, even the rate of the clock is zero.
> 
> IOW, if the rate is 0, I think .get_phase() should not return -EINVAL.
> It should return 0 (0Hz => constant signal => no phase shift).

Thanks for explanation.

Gruß,
-- 
Markus Reichl
> 
> [0]: https://lkml.kernel.org/r/20200225134248.919889-1-maxime@cerno.tech
> 
>>
>> 2760878662a290ac57cff8a5a8d8bda8f4dddc37 is the first bad commit
>> commit 2760878662a290ac57cff8a5a8d8bda8f4dddc37
>> Author: Stephen Boyd <sboyd@kernel.org>
>> Date:   Wed Feb 5 15:28:02 2020 -0800
>>
>>     clk: Bail out when calculating phase fails during clk registration
>>       Bail out of clk registration if we fail to get the phase for a clk
>> that
>>     has a clk_ops::get_phase() callback. Print a warning too so that driver
>>     authors can easily figure out that some clk is unable to read back phase
>>     information at boot.
>>       Cc: Douglas Anderson <dianders@chromium.org>
>>     Cc: Heiko Stuebner <heiko@sntech.de>
>>     Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
>>     Signed-off-by: Stephen Boyd <sboyd@kernel.org>
>>     Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org
>>     Acked-by: Jerome Brunet <jbrunet@baylibre.com>
>>
>>  drivers/clk/clk.c | 7 ++++++-
>>  1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
>> [    0.000000] Linux version 5.6.0-rc3-next-20200226 (root@roc) (gcc version 9.2.1 20200220 (Debian 9.2.1-29)) #16 SMP PREEMPT Wed Feb 26 10:10:05 CET 2020
>> [    0.000000] Machine model: Firefly ROC-RK3399-PC Mezzanine Board
>> [    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
>> [    0.000000] printk: bootconsole [uart8250] enabled
>> [    0.000000] efi: Getting EFI parameters from FDT:
>> [    0.000000] efi: UEFI not found.
>> [    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
>> [    0.000000] NUMA: No NUMA configuration found
>> [    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
>> [    0.000000] NUMA: NODE_DATA [mem 0xf3ffe100-0xf3ffffff]
>> [    0.000000] Zone ranges:
>> [    0.000000]   DMA      [mem 0x0000000000200000-0x000000003fffffff]
>> [    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f7ffffff]
>> [    0.000000]   Normal   empty
>> [    0.000000] Movable zone start for each node
>> [    0.000000] Early memory node ranges
>> [    0.000000]   node   0: [mem 0x0000000000200000-0x00000000f7ffffff]
>> [    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
>> [    0.000000] psci: probing for conduit method from DT.
>> [    0.000000] psci: PSCIv1.1 detected in firmware.
>> [    0.000000] psci: Using standard PSCI v0.2 function IDs
>> [    0.000000] psci: MIGRATE_INFO_TYPE not supported.
>> [    0.000000] psci: SMC Calling Convention v1.0
>> [    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
>> [    0.000000] Detected VIPT I-cache on CPU0
>> [    0.000000] CPU features: detected: ARM erratum 845719
>> [    0.000000] CPU features: detected: GIC system register CPU interface
>> [    0.000000] CPU features: kernel page table isolation forced OFF by mitigations=off
>> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999432
>> [    0.000000] Policy zone: DMA32
>> [    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=tty1 console=ttyS2,1500000 swiotlb=1 root=/dev/nvme0n1p1 rootwait rw rootfstype=ext4 init=/sbin/init mitigations=off
>> [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
>> [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
>> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
>> [    0.000000] software IO TLB: mapped [mem 0x3ffbf000-0x3ffff000] (0MB)
>> [    0.000000] Memory: 3910884K/4061184K available (6908K kernel code, 512K rwdata, 2680K rodata, 1728K init, 355K bss, 117532K reserved, 32768K cma-reserved)
>> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
>> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
>> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
>> [    0.000000]  Tasks RCU enabled.
>> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
>> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
>> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
>> [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
>> [    0.000000] GICv3: 256 SPIs implemented
>> [    0.000000] GICv3: 0 Extended SPIs implemented
>> [    0.000000] GICv3: Distributor has no Range Selector support
>> [    0.000000] GICv3: 16 PPIs implemented
>> [    0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
>> [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
>> [    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
>> [    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @f3480000 (flat, esz 8, psz 64K, shr 0)
>> [    0.000000] ITS: using cache flushing for cmd queue
>> [    0.000000] GICv3: using LPI property table @0x00000000f3440000
>> [    0.000000] GIC: using cache flushing for LPI property table
>> [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000f3450000
>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
>> [    0.000000] random: get_random_bytes called from start_kernel+0x538/0x6bc with crng_init=0
>> [    0.000000] __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_drv: -22
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_sample: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_drv: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_sample: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_pm: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref100m: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core_cru: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_emmc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_emmc_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_emmc_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmccore: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmcgrf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_perilp0_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_perilp0_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_intmem: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_tzma: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem3: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem4: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem5: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dcf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac0_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac1_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_rom: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dcf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_fclk_cm0s_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_fclk_cm0s_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock fclk_cm0s: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sclk_m0_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_m0_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_m0_perilp_dec: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_hclk_perilp1_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_hclk_perilp1_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_spdif: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi5: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdioaudio_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart3: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c7: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c5: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c6: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c3: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mailbox0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_saradc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_tsadc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024ns: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024s: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi4: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp_sgrf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_saradc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_tsadc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1_pll_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2_pll_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio_grf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp22: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp22: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdmi_ctrl: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dp_ctrl: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp22: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_gasket: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_dp_core: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_ctrl: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_sfr: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_cec: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_pre: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_pre: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_vop0_div: -17
>> [    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
>> [    0.000000] Mem abort info:
>> [    0.000000]   ESR = 0x96000004
>> [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
>> [    0.000000]   SET = 0, FnV = 0
>> [    0.000000]   EA = 0, S1PTW = 0
>> [    0.000000] Data abort info:
>> [    0.000000]   ISV = 0, ISS = 0x00000004
>> [    0.000000]   CM = 0, WnR = 0
>> [    0.000000] [0000000000000000] user address but active_mm is swapper
>> [    0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
>> [    0.000000] Modules linked in:
>> [    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc3-next-20200226 #16
>> [    0.000000] Hardware name: Firefly ROC-RK3399-PC Mezzanine Board (DT)
>> [    0.000000] pstate: 40000085 (nZcv daIf -PAN -UAO)
>> [    0.000000] pc : __pi_strcmp+0x18/0x154
>> [    0.000000] lr : __clk_lookup_subtree+0x20/0x78
>> [    0.000000] sp : ffff800010ba3b40
>> [    0.000000] x29: ffff800010ba3b40 x28: ffff0000f356e528
>> [    0.000000] x27: 0000000000000001 x26: 0000000000000000
>> [    0.000000] x25: 0000000000000000 x24: ffff800010be9508
>> [    0.000000] x23: ffff0000f356e500 x22: ffff0000f356d600
>> [    0.000000] x21: ffff800010c68000 x20: ffff80001091dff8
>> [    0.000000] x19: ffff0000f356d500 x18: 0000000000000010
>> [    0.000000] x17: 0000000000000000 x16: 000000007081244d
>> [    0.000000] x15: ffff800010bb19a8 x14: 6f765f6b6c636420
>> [    0.000000] x13: 6b636f6c63207265 x12: 747369676572206f
>> [    0.000000] x11: 0000000000000005 x10: 0101010101010101
>> [    0.000000] x9 : 0000000000000000 x8 : 7f7f7f7f7f7f7f7f
>> [    0.000000] x7 : 0000000000000000 x6 : 070f07342c12021d
>> [    0.000000] x5 : 1d02122c34070f07 x4 : 0000000000000000
>> [    0.000000] x3 : 8c6d8d6beecdee00 x2 : 000000000000006d
>> [    0.000000] x1 : ffff80001091dff8 x0 : 0000000000000000
>> [    0.000000] Call trace:
>> [    0.000000]  __pi_strcmp+0x18/0x154
>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>> [    0.000000]  clk_core_lookup+0x38/0x98
>> [    0.000000]  __clk_register+0x120/0x798
>> [    0.000000]  clk_hw_register+0x1c/0x58
>> [    0.000000]  __clk_hw_register_composite+0x1e0/0x2c0
>> [    0.000000]  clk_register_composite+0x40/0x58
>> [    0.000000]  rockchip_clk_register_branches+0x388/0x908
>> [    0.000000]  rk3399_clk_init+0xb0/0x150
>> [    0.000000]  of_clk_init+0x1e8/0x284
>> [    0.000000]  time_init+0x10/0x44
>> [    0.000000]  start_kernel+0x558/0x6bc
>> [    0.000000] Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
>> [    0.000000] ---[ end trace 8ad2f94645b7db99 ]---
>> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
>> [    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---


Gruß,
-- 
Markus Reichl

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks
       [not found]         ` <6ab3da2a-5634-fff0-9077-d521eec2200e-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
@ 2020-02-27 10:54           ` Jerome Brunet
       [not found]             ` <1jblpk9u6p.fsf-de0UBZ+tuabJPAktV+lpxxGQ6p3D1CpGZeezCHUQhQ4@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Jerome Brunet @ 2020-02-27 10:54 UTC (permalink / raw)
  To: Markus Reichl, Stephen Boyd
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Doug Anderson,
	Heiko Stuebner


On Thu 27 Feb 2020 at 11:53, Markus Reichl <m.reichl@fivetechno.de> wrote:

> Hi Jerome,
>
> Am 27.02.20 um 11:39 schrieb Jerome Brunet:
>>
>> On Thu 27 Feb 2020 at 11:05, Markus Reichl <m.reichl@fivetechno.de> wrote:
>>
>>> Hi Stephen,
>>>
>>> on recent linux-next (from 20200214 on)my rk3399-roc-pc board refuses to boot.
>>> (s. below dmesg) with __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>>>
>>> Git bisecting points to the following commit:
>>
>> Hi Markus,
>>
>> I think you mentioned earlier that you already had Maxime's fixup [0]
>> but it is not clear it with this report. Could you please clarify ?
>
> I did not know about this fixup yet, thanks for pointing me.
> I tried it now on -next of today but it does not fix booting for me.
> I get same error log.
>>
>> Anyway, it looks to me that the problem is coming from
>> drivers/clk/rockchip/clk-mmc-phase.c:55
>>
>> This HW has both a coarse phase setting and a fine delay-based
>> setting.
>>
>> Delay based phase cannot be computed if the rate is zero (if the clock
>> is orphaned for ex)
>>
>> However, I think it is still valid for CCF to call .get_phase() and
>> except an answer, even the rate of the clock is zero.
>>
>> IOW, if the rate is 0, I think .get_phase() should not return -EINVAL.
>> It should return 0 (0Hz => constant signal => no phase shift).
>
> Thanks for explanation.

Would you mind trying to make this change and report back ?

>
> Gruß,
> -- 
> Markus Reichl
>>
>> [0]: https://lkml.kernel.org/r/20200225134248.919889-1-maxime@cerno.tech
>>
>>>
>>> 2760878662a290ac57cff8a5a8d8bda8f4dddc37 is the first bad commit
>>> commit 2760878662a290ac57cff8a5a8d8bda8f4dddc37
>>> Author: Stephen Boyd <sboyd@kernel.org>
>>> Date:   Wed Feb 5 15:28:02 2020 -0800
>>>
>>>     clk: Bail out when calculating phase fails during clk registration
>>>       Bail out of clk registration if we fail to get the phase for a clk
>>> that
>>>     has a clk_ops::get_phase() callback. Print a warning too so that driver
>>>     authors can easily figure out that some clk is unable to read back phase
>>>     information at boot.
>>>       Cc: Douglas Anderson <dianders@chromium.org>
>>>     Cc: Heiko Stuebner <heiko@sntech.de>
>>>     Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
>>>     Signed-off-by: Stephen Boyd <sboyd@kernel.org>
>>>     Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org
>>>     Acked-by: Jerome Brunet <jbrunet@baylibre.com>
>>>
>>>  drivers/clk/clk.c | 7 ++++++-
>>>  1 file changed, 6 insertions(+), 1 deletion(-)
>>>
>>> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
>>> [    0.000000] Linux version 5.6.0-rc3-next-20200226 (root@roc) (gcc version 9.2.1 20200220 (Debian 9.2.1-29)) #16 SMP PREEMPT Wed Feb 26 10:10:05 CET 2020
>>> [    0.000000] Machine model: Firefly ROC-RK3399-PC Mezzanine Board
>>> [    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
>>> [    0.000000] printk: bootconsole [uart8250] enabled
>>> [    0.000000] efi: Getting EFI parameters from FDT:
>>> [    0.000000] efi: UEFI not found.
>>> [    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
>>> [    0.000000] NUMA: No NUMA configuration found
>>> [    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
>>> [    0.000000] NUMA: NODE_DATA [mem 0xf3ffe100-0xf3ffffff]
>>> [    0.000000] Zone ranges:
>>> [    0.000000]   DMA      [mem 0x0000000000200000-0x000000003fffffff]
>>> [    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f7ffffff]
>>> [    0.000000]   Normal   empty
>>> [    0.000000] Movable zone start for each node
>>> [    0.000000] Early memory node ranges
>>> [    0.000000]   node   0: [mem 0x0000000000200000-0x00000000f7ffffff]
>>> [    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
>>> [    0.000000] psci: probing for conduit method from DT.
>>> [    0.000000] psci: PSCIv1.1 detected in firmware.
>>> [    0.000000] psci: Using standard PSCI v0.2 function IDs
>>> [    0.000000] psci: MIGRATE_INFO_TYPE not supported.
>>> [    0.000000] psci: SMC Calling Convention v1.0
>>> [    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
>>> [    0.000000] Detected VIPT I-cache on CPU0
>>> [    0.000000] CPU features: detected: ARM erratum 845719
>>> [    0.000000] CPU features: detected: GIC system register CPU interface
>>> [    0.000000] CPU features: kernel page table isolation forced OFF by mitigations=off
>>> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999432
>>> [    0.000000] Policy zone: DMA32
>>> [    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=tty1 console=ttyS2,1500000 swiotlb=1 root=/dev/nvme0n1p1 rootwait rw rootfstype=ext4 init=/sbin/init mitigations=off
>>> [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
>>> [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
>>> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
>>> [    0.000000] software IO TLB: mapped [mem 0x3ffbf000-0x3ffff000] (0MB)
>>> [    0.000000] Memory: 3910884K/4061184K available (6908K kernel code, 512K rwdata, 2680K rodata, 1728K init, 355K bss, 117532K reserved, 32768K cma-reserved)
>>> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
>>> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
>>> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
>>> [    0.000000]  Tasks RCU enabled.
>>> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
>>> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
>>> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
>>> [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
>>> [    0.000000] GICv3: 256 SPIs implemented
>>> [    0.000000] GICv3: 0 Extended SPIs implemented
>>> [    0.000000] GICv3: Distributor has no Range Selector support
>>> [    0.000000] GICv3: 16 PPIs implemented
>>> [    0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
>>> [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
>>> [    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
>>> [    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @f3480000 (flat, esz 8, psz 64K, shr 0)
>>> [    0.000000] ITS: using cache flushing for cmd queue
>>> [    0.000000] GICv3: using LPI property table @0x00000000f3440000
>>> [    0.000000] GIC: using cache flushing for LPI property table
>>> [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000f3450000
>>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
>>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
>>> [    0.000000] random: get_random_bytes called from start_kernel+0x538/0x6bc with crng_init=0
>>> [    0.000000] __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_drv: -22
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_sample: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_drv: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_sample: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_pm: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref100m: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core_cru: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_emmc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_emmc_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_emmc_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmccore: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmcgrf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_perilp0_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_perilp0_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_intmem: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_tzma: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem3: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem4: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem5: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dcf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac0_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac1_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_rom: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dcf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_fclk_cm0s_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_fclk_cm0s_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock fclk_cm0s: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sclk_m0_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_m0_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_m0_perilp_dec: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_hclk_perilp1_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_hclk_perilp1_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_spdif: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi5: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdioaudio_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart3: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c7: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c5: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c6: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c3: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mailbox0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_saradc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_tsadc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024ns: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024s: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi4: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp_sgrf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_saradc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_tsadc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1_pll_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2_pll_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio_grf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp22: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp22: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdmi_ctrl: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dp_ctrl: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp22: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_gasket: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_dp_core: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_ctrl: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_sfr: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_cec: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_pre: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_pre: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_vop0_div: -17
>>> [    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
>>> [    0.000000] Mem abort info:
>>> [    0.000000]   ESR = 0x96000004
>>> [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
>>> [    0.000000]   SET = 0, FnV = 0
>>> [    0.000000]   EA = 0, S1PTW = 0
>>> [    0.000000] Data abort info:
>>> [    0.000000]   ISV = 0, ISS = 0x00000004
>>> [    0.000000]   CM = 0, WnR = 0
>>> [    0.000000] [0000000000000000] user address but active_mm is swapper
>>> [    0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
>>> [    0.000000] Modules linked in:
>>> [    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc3-next-20200226 #16
>>> [    0.000000] Hardware name: Firefly ROC-RK3399-PC Mezzanine Board (DT)
>>> [    0.000000] pstate: 40000085 (nZcv daIf -PAN -UAO)
>>> [    0.000000] pc : __pi_strcmp+0x18/0x154
>>> [    0.000000] lr : __clk_lookup_subtree+0x20/0x78
>>> [    0.000000] sp : ffff800010ba3b40
>>> [    0.000000] x29: ffff800010ba3b40 x28: ffff0000f356e528
>>> [    0.000000] x27: 0000000000000001 x26: 0000000000000000
>>> [    0.000000] x25: 0000000000000000 x24: ffff800010be9508
>>> [    0.000000] x23: ffff0000f356e500 x22: ffff0000f356d600
>>> [    0.000000] x21: ffff800010c68000 x20: ffff80001091dff8
>>> [    0.000000] x19: ffff0000f356d500 x18: 0000000000000010
>>> [    0.000000] x17: 0000000000000000 x16: 000000007081244d
>>> [    0.000000] x15: ffff800010bb19a8 x14: 6f765f6b6c636420
>>> [    0.000000] x13: 6b636f6c63207265 x12: 747369676572206f
>>> [    0.000000] x11: 0000000000000005 x10: 0101010101010101
>>> [    0.000000] x9 : 0000000000000000 x8 : 7f7f7f7f7f7f7f7f
>>> [    0.000000] x7 : 0000000000000000 x6 : 070f07342c12021d
>>> [    0.000000] x5 : 1d02122c34070f07 x4 : 0000000000000000
>>> [    0.000000] x3 : 8c6d8d6beecdee00 x2 : 000000000000006d
>>> [    0.000000] x1 : ffff80001091dff8 x0 : 0000000000000000
>>> [    0.000000] Call trace:
>>> [    0.000000]  __pi_strcmp+0x18/0x154
>>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>>> [    0.000000]  clk_core_lookup+0x38/0x98
>>> [    0.000000]  __clk_register+0x120/0x798
>>> [    0.000000]  clk_hw_register+0x1c/0x58
>>> [    0.000000]  __clk_hw_register_composite+0x1e0/0x2c0
>>> [    0.000000]  clk_register_composite+0x40/0x58
>>> [    0.000000]  rockchip_clk_register_branches+0x388/0x908
>>> [    0.000000]  rk3399_clk_init+0xb0/0x150
>>> [    0.000000]  of_clk_init+0x1e8/0x284
>>> [    0.000000]  time_init+0x10/0x44
>>> [    0.000000]  start_kernel+0x558/0x6bc
>>> [    0.000000] Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
>>> [    0.000000] ---[ end trace 8ad2f94645b7db99 ]---
>>> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
>>> [    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---
>
>
> Gruß,


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks
       [not found]             ` <1jblpk9u6p.fsf-de0UBZ+tuabJPAktV+lpxxGQ6p3D1CpGZeezCHUQhQ4@public.gmane.org>
@ 2020-02-27 11:02               ` Markus Reichl
       [not found]                 ` <e5c6071b-5798-674d-7115-c45192aa3000-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Markus Reichl @ 2020-02-27 11:02 UTC (permalink / raw)
  To: Jerome Brunet, Stephen Boyd
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Doug Anderson,
	Heiko Stuebner

Hi Jerome,

Am 27.02.20 um 11:54 schrieb Jerome Brunet:
> 
> On Thu 27 Feb 2020 at 11:53, Markus Reichl <m.reichl@fivetechno.de> wrote:
> 
>> Hi Jerome,
>>
>> Am 27.02.20 um 11:39 schrieb Jerome Brunet:
>>>
>>> On Thu 27 Feb 2020 at 11:05, Markus Reichl <m.reichl@fivetechno.de> wrote:
>>>
>>>> Hi Stephen,
>>>>
>>>> on recent linux-next (from 20200214 on)my rk3399-roc-pc board refuses to boot.
>>>> (s. below dmesg) with __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>>>>
>>>> Git bisecting points to the following commit:
>>>
>>> Hi Markus,
>>>
>>> I think you mentioned earlier that you already had Maxime's fixup [0]
>>> but it is not clear it with this report. Could you please clarify ?
>>
>> I did not know about this fixup yet, thanks for pointing me.
>> I tried it now on -next of today but it does not fix booting for me.
>> I get same error log.
>>>
>>> Anyway, it looks to me that the problem is coming from
>>> drivers/clk/rockchip/clk-mmc-phase.c:55
>>>
>>> This HW has both a coarse phase setting and a fine delay-based
>>> setting.
>>>
>>> Delay based phase cannot be computed if the rate is zero (if the clock
>>> is orphaned for ex)
>>>
>>> However, I think it is still valid for CCF to call .get_phase() and
>>> except an answer, even the rate of the clock is zero.
>>>
>>> IOW, if the rate is 0, I think .get_phase() should not return -EINVAL.
>>> It should return 0 (0Hz => constant signal => no phase shift).
>>
>> Thanks for explanation.
> 
> Would you mind trying to make this change and report back ?

return 0; fixes booting. Thanks.

> 
>>
>> Gruß,
>> -- 
>> Markus Reichl
>>>
>>> [0]: https://lkml.kernel.org/r/20200225134248.919889-1-maxime@cerno.tech
>>>
>>>>
>>>> 2760878662a290ac57cff8a5a8d8bda8f4dddc37 is the first bad commit
>>>> commit 2760878662a290ac57cff8a5a8d8bda8f4dddc37
>>>> Author: Stephen Boyd <sboyd@kernel.org>
>>>> Date:   Wed Feb 5 15:28:02 2020 -0800
>>>>
>>>>     clk: Bail out when calculating phase fails during clk registration
>>>>       Bail out of clk registration if we fail to get the phase for a clk
>>>> that
>>>>     has a clk_ops::get_phase() callback. Print a warning too so that driver
>>>>     authors can easily figure out that some clk is unable to read back phase
>>>>     information at boot.
>>>>       Cc: Douglas Anderson <dianders@chromium.org>
>>>>     Cc: Heiko Stuebner <heiko@sntech.de>
>>>>     Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
>>>>     Signed-off-by: Stephen Boyd <sboyd@kernel.org>
>>>>     Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org
>>>>     Acked-by: Jerome Brunet <jbrunet@baylibre.com>
>>>>
>>>>  drivers/clk/clk.c | 7 ++++++-
>>>>  1 file changed, 6 insertions(+), 1 deletion(-)
>>>>
>>>> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
>>>> [    0.000000] Linux version 5.6.0-rc3-next-20200226 (root@roc) (gcc version 9.2.1 20200220 (Debian 9.2.1-29)) #16 SMP PREEMPT Wed Feb 26 10:10:05 CET 2020
>>>> [    0.000000] Machine model: Firefly ROC-RK3399-PC Mezzanine Board
>>>> [    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
>>>> [    0.000000] printk: bootconsole [uart8250] enabled
>>>> [    0.000000] efi: Getting EFI parameters from FDT:
>>>> [    0.000000] efi: UEFI not found.
>>>> [    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
>>>> [    0.000000] NUMA: No NUMA configuration found
>>>> [    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
>>>> [    0.000000] NUMA: NODE_DATA [mem 0xf3ffe100-0xf3ffffff]
>>>> [    0.000000] Zone ranges:
>>>> [    0.000000]   DMA      [mem 0x0000000000200000-0x000000003fffffff]
>>>> [    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f7ffffff]
>>>> [    0.000000]   Normal   empty
>>>> [    0.000000] Movable zone start for each node
>>>> [    0.000000] Early memory node ranges
>>>> [    0.000000]   node   0: [mem 0x0000000000200000-0x00000000f7ffffff]
>>>> [    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
>>>> [    0.000000] psci: probing for conduit method from DT.
>>>> [    0.000000] psci: PSCIv1.1 detected in firmware.
>>>> [    0.000000] psci: Using standard PSCI v0.2 function IDs
>>>> [    0.000000] psci: MIGRATE_INFO_TYPE not supported.
>>>> [    0.000000] psci: SMC Calling Convention v1.0
>>>> [    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
>>>> [    0.000000] Detected VIPT I-cache on CPU0
>>>> [    0.000000] CPU features: detected: ARM erratum 845719
>>>> [    0.000000] CPU features: detected: GIC system register CPU interface
>>>> [    0.000000] CPU features: kernel page table isolation forced OFF by mitigations=off
>>>> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999432
>>>> [    0.000000] Policy zone: DMA32
>>>> [    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=tty1 console=ttyS2,1500000 swiotlb=1 root=/dev/nvme0n1p1 rootwait rw rootfstype=ext4 init=/sbin/init mitigations=off
>>>> [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
>>>> [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
>>>> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
>>>> [    0.000000] software IO TLB: mapped [mem 0x3ffbf000-0x3ffff000] (0MB)
>>>> [    0.000000] Memory: 3910884K/4061184K available (6908K kernel code, 512K rwdata, 2680K rodata, 1728K init, 355K bss, 117532K reserved, 32768K cma-reserved)
>>>> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
>>>> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
>>>> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
>>>> [    0.000000]  Tasks RCU enabled.
>>>> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
>>>> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
>>>> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
>>>> [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
>>>> [    0.000000] GICv3: 256 SPIs implemented
>>>> [    0.000000] GICv3: 0 Extended SPIs implemented
>>>> [    0.000000] GICv3: Distributor has no Range Selector support
>>>> [    0.000000] GICv3: 16 PPIs implemented
>>>> [    0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
>>>> [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
>>>> [    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
>>>> [    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @f3480000 (flat, esz 8, psz 64K, shr 0)
>>>> [    0.000000] ITS: using cache flushing for cmd queue
>>>> [    0.000000] GICv3: using LPI property table @0x00000000f3440000
>>>> [    0.000000] GIC: using cache flushing for LPI property table
>>>> [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000f3450000
>>>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
>>>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
>>>> [    0.000000] random: get_random_bytes called from start_kernel+0x538/0x6bc with crng_init=0
>>>> [    0.000000] __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_drv: -22
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_sample: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_drv: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_sample: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_pm: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref100m: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core_cru: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_emmc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_emmc_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_emmc_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmccore: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmcgrf: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_perilp0_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_perilp0_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_intmem: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_tzma: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem2: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem3: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem4: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem5: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dcf: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac0_perilp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac1_perilp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_rom: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dcf: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_fclk_cm0s_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_fclk_cm0s_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock fclk_cm0s: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sclk_m0_perilp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_m0_perilp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_m0_perilp_dec: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_hclk_perilp1_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_hclk_perilp1_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s2: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_spdif: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi5: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdioaudio_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart2: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart3: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c7: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c5: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c6: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c2: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c3: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mailbox0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_saradc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_tsadc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024ns: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024s: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi2: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi4: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp_sgrf: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_saradc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_tsadc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1_pll_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2_pll_src: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi1: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio_grf: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp22: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp22: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdmi_ctrl: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dp_ctrl: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp22: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_gasket: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_dp_core: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_ctrl: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_sfr: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_cec: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_pre: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_pre: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_noc: -17
>>>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_vop0_div: -17
>>>> [    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
>>>> [    0.000000] Mem abort info:
>>>> [    0.000000]   ESR = 0x96000004
>>>> [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
>>>> [    0.000000]   SET = 0, FnV = 0
>>>> [    0.000000]   EA = 0, S1PTW = 0
>>>> [    0.000000] Data abort info:
>>>> [    0.000000]   ISV = 0, ISS = 0x00000004
>>>> [    0.000000]   CM = 0, WnR = 0
>>>> [    0.000000] [0000000000000000] user address but active_mm is swapper
>>>> [    0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
>>>> [    0.000000] Modules linked in:
>>>> [    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc3-next-20200226 #16
>>>> [    0.000000] Hardware name: Firefly ROC-RK3399-PC Mezzanine Board (DT)
>>>> [    0.000000] pstate: 40000085 (nZcv daIf -PAN -UAO)
>>>> [    0.000000] pc : __pi_strcmp+0x18/0x154
>>>> [    0.000000] lr : __clk_lookup_subtree+0x20/0x78
>>>> [    0.000000] sp : ffff800010ba3b40
>>>> [    0.000000] x29: ffff800010ba3b40 x28: ffff0000f356e528
>>>> [    0.000000] x27: 0000000000000001 x26: 0000000000000000
>>>> [    0.000000] x25: 0000000000000000 x24: ffff800010be9508
>>>> [    0.000000] x23: ffff0000f356e500 x22: ffff0000f356d600
>>>> [    0.000000] x21: ffff800010c68000 x20: ffff80001091dff8
>>>> [    0.000000] x19: ffff0000f356d500 x18: 0000000000000010
>>>> [    0.000000] x17: 0000000000000000 x16: 000000007081244d
>>>> [    0.000000] x15: ffff800010bb19a8 x14: 6f765f6b6c636420
>>>> [    0.000000] x13: 6b636f6c63207265 x12: 747369676572206f
>>>> [    0.000000] x11: 0000000000000005 x10: 0101010101010101
>>>> [    0.000000] x9 : 0000000000000000 x8 : 7f7f7f7f7f7f7f7f
>>>> [    0.000000] x7 : 0000000000000000 x6 : 070f07342c12021d
>>>> [    0.000000] x5 : 1d02122c34070f07 x4 : 0000000000000000
>>>> [    0.000000] x3 : 8c6d8d6beecdee00 x2 : 000000000000006d
>>>> [    0.000000] x1 : ffff80001091dff8 x0 : 0000000000000000
>>>> [    0.000000] Call trace:
>>>> [    0.000000]  __pi_strcmp+0x18/0x154
>>>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>>>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>>>> [    0.000000]  clk_core_lookup+0x38/0x98
>>>> [    0.000000]  __clk_register+0x120/0x798
>>>> [    0.000000]  clk_hw_register+0x1c/0x58
>>>> [    0.000000]  __clk_hw_register_composite+0x1e0/0x2c0
>>>> [    0.000000]  clk_register_composite+0x40/0x58
>>>> [    0.000000]  rockchip_clk_register_branches+0x388/0x908
>>>> [    0.000000]  rk3399_clk_init+0xb0/0x150
>>>> [    0.000000]  of_clk_init+0x1e8/0x284
>>>> [    0.000000]  time_init+0x10/0x44
>>>> [    0.000000]  start_kernel+0x558/0x6bc
>>>> [    0.000000] Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
>>>> [    0.000000] ---[ end trace 8ad2f94645b7db99 ]---
>>>> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
>>>> [    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---
>>
>>
>> Gruß,
> 
> 

Gruß,
-- 
Markus Reichl

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks【请注意,邮件由linux-rockchip-bounces+shawn.lin=rock-chips.com@lists.infradead.org代发】
       [not found]     ` <1jd0a09uw4.fsf-de0UBZ+tuabJPAktV+lpxxGQ6p3D1CpGZeezCHUQhQ4@public.gmane.org>
  2020-02-27 10:53       ` Markus Reichl
@ 2020-02-28  1:12       ` Shawn Lin
       [not found]         ` <7245c894-c7ff-da50-5ca7-33d41c8f6dd0-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Shawn Lin @ 2020-02-28  1:12 UTC (permalink / raw)
  To: Jerome Brunet, Markus Reichl, Stephen Boyd
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	shawn.lin-TNX95d0MmH7DzftRWevZcw, Doug Anderson, Heiko Stuebner


On 2020/2/27 18:39, Jerome Brunet wrote:
> 
> On Thu 27 Feb 2020 at 11:05, Markus Reichl <m.reichl@fivetechno.de> wrote:
> 
>> Hi Stephen,
>>
>> on recent linux-next (from 20200214 on)my rk3399-roc-pc board refuses to boot.
>> (s. below dmesg) with __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>>
>> Git bisecting points to the following commit:
> 
> Hi Markus,
> 
> I think you mentioned earlier that you already had Maxime's fixup [0]
> but it is not clear it with this report. Could you please clarify ?
> 
> Anyway, it looks to me that the problem is coming from
> drivers/clk/rockchip/clk-mmc-phase.c:55
> 
> This HW has both a coarse phase setting and a fine delay-based
> setting.
> 
> Delay based phase cannot be computed if the rate is zero (if the clock
> is orphaned for ex)
> 
> However, I think it is still valid for CCF to call .get_phase() and
> except an answer, even the rate of the clock is zero.
> 
> IOW, if the rate is 0, I think .get_phase() should not return -EINVAL.
> It should return 0 (0Hz => constant signal => no phase shift).

Just a drive-by comment, but why constant signal means no phase shift?

Shouldn't the phase should be something against its counterpart? e.g, if 
there's no mmc cmd or data in flight, how could we know its phase from
the interface..

And why it should return 0? some clk HW entities has a default phase
against its counterpart in the comsumer side, maybe 90 or 180 degree.

> 
> [0]: https://lkml.kernel.org/r/20200225134248.919889-1-maxime@cerno.tech
> 
>>
>> 2760878662a290ac57cff8a5a8d8bda8f4dddc37 is the first bad commit
>> commit 2760878662a290ac57cff8a5a8d8bda8f4dddc37
>> Author: Stephen Boyd <sboyd@kernel.org>
>> Date:   Wed Feb 5 15:28:02 2020 -0800
>>
>>      clk: Bail out when calculating phase fails during clk registration
>>        Bail out of clk registration if we fail to get the phase for a clk
>> that
>>      has a clk_ops::get_phase() callback. Print a warning too so that driver
>>      authors can easily figure out that some clk is unable to read back phase
>>      information at boot.
>>        Cc: Douglas Anderson <dianders@chromium.org>
>>      Cc: Heiko Stuebner <heiko@sntech.de>
>>      Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
>>      Signed-off-by: Stephen Boyd <sboyd@kernel.org>
>>      Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org
>>      Acked-by: Jerome Brunet <jbrunet@baylibre.com>
>>
>>   drivers/clk/clk.c | 7 ++++++-
>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
>> [    0.000000] Linux version 5.6.0-rc3-next-20200226 (root@roc) (gcc version 9.2.1 20200220 (Debian 9.2.1-29)) #16 SMP PREEMPT Wed Feb 26 10:10:05 CET 2020
>> [    0.000000] Machine model: Firefly ROC-RK3399-PC Mezzanine Board
>> [    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
>> [    0.000000] printk: bootconsole [uart8250] enabled
>> [    0.000000] efi: Getting EFI parameters from FDT:
>> [    0.000000] efi: UEFI not found.
>> [    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
>> [    0.000000] NUMA: No NUMA configuration found
>> [    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
>> [    0.000000] NUMA: NODE_DATA [mem 0xf3ffe100-0xf3ffffff]
>> [    0.000000] Zone ranges:
>> [    0.000000]   DMA      [mem 0x0000000000200000-0x000000003fffffff]
>> [    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f7ffffff]
>> [    0.000000]   Normal   empty
>> [    0.000000] Movable zone start for each node
>> [    0.000000] Early memory node ranges
>> [    0.000000]   node   0: [mem 0x0000000000200000-0x00000000f7ffffff]
>> [    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
>> [    0.000000] psci: probing for conduit method from DT.
>> [    0.000000] psci: PSCIv1.1 detected in firmware.
>> [    0.000000] psci: Using standard PSCI v0.2 function IDs
>> [    0.000000] psci: MIGRATE_INFO_TYPE not supported.
>> [    0.000000] psci: SMC Calling Convention v1.0
>> [    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
>> [    0.000000] Detected VIPT I-cache on CPU0
>> [    0.000000] CPU features: detected: ARM erratum 845719
>> [    0.000000] CPU features: detected: GIC system register CPU interface
>> [    0.000000] CPU features: kernel page table isolation forced OFF by mitigations=off
>> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999432
>> [    0.000000] Policy zone: DMA32
>> [    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=tty1 console=ttyS2,1500000 swiotlb=1 root=/dev/nvme0n1p1 rootwait rw rootfstype=ext4 init=/sbin/init mitigations=off
>> [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
>> [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
>> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
>> [    0.000000] software IO TLB: mapped [mem 0x3ffbf000-0x3ffff000] (0MB)
>> [    0.000000] Memory: 3910884K/4061184K available (6908K kernel code, 512K rwdata, 2680K rodata, 1728K init, 355K bss, 117532K reserved, 32768K cma-reserved)
>> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
>> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
>> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
>> [    0.000000]  Tasks RCU enabled.
>> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
>> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
>> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
>> [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
>> [    0.000000] GICv3: 256 SPIs implemented
>> [    0.000000] GICv3: 0 Extended SPIs implemented
>> [    0.000000] GICv3: Distributor has no Range Selector support
>> [    0.000000] GICv3: 16 PPIs implemented
>> [    0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
>> [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
>> [    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
>> [    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @f3480000 (flat, esz 8, psz 64K, shr 0)
>> [    0.000000] ITS: using cache flushing for cmd queue
>> [    0.000000] GICv3: using LPI property table @0x00000000f3440000
>> [    0.000000] GIC: using cache flushing for LPI property table
>> [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000f3450000
>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
>> [    0.000000] random: get_random_bytes called from start_kernel+0x538/0x6bc with crng_init=0
>> [    0.000000] __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_drv: -22
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_sample: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_drv: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_sample: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_pm: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref100m: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core_cru: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_emmc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_emmc_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_emmc_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmccore: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmcgrf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_perilp0_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_perilp0_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_intmem: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_tzma: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem3: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem4: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem5: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dcf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac0_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac1_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_rom: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dcf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_fclk_cm0s_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_fclk_cm0s_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock fclk_cm0s: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock sclk_m0_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_m0_perilp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_m0_perilp_dec: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_hclk_perilp1_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_hclk_perilp1_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_spdif: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi5: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdioaudio_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart3: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c7: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c5: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c6: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c3: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mailbox0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_saradc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_tsadc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024ns: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024s: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi4: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp_sgrf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_saradc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_tsadc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1_pll_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2_pll_src: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi1: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio_grf: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp22: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp22: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdmi_ctrl: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dp_ctrl: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp22: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_gasket: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_dp_core: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_ctrl: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_sfr: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_cec: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_pre: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_pre: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_noc: -17
>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_vop0_div: -17
>> [    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
>> [    0.000000] Mem abort info:
>> [    0.000000]   ESR = 0x96000004
>> [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
>> [    0.000000]   SET = 0, FnV = 0
>> [    0.000000]   EA = 0, S1PTW = 0
>> [    0.000000] Data abort info:
>> [    0.000000]   ISV = 0, ISS = 0x00000004
>> [    0.000000]   CM = 0, WnR = 0
>> [    0.000000] [0000000000000000] user address but active_mm is swapper
>> [    0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
>> [    0.000000] Modules linked in:
>> [    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc3-next-20200226 #16
>> [    0.000000] Hardware name: Firefly ROC-RK3399-PC Mezzanine Board (DT)
>> [    0.000000] pstate: 40000085 (nZcv daIf -PAN -UAO)
>> [    0.000000] pc : __pi_strcmp+0x18/0x154
>> [    0.000000] lr : __clk_lookup_subtree+0x20/0x78
>> [    0.000000] sp : ffff800010ba3b40
>> [    0.000000] x29: ffff800010ba3b40 x28: ffff0000f356e528
>> [    0.000000] x27: 0000000000000001 x26: 0000000000000000
>> [    0.000000] x25: 0000000000000000 x24: ffff800010be9508
>> [    0.000000] x23: ffff0000f356e500 x22: ffff0000f356d600
>> [    0.000000] x21: ffff800010c68000 x20: ffff80001091dff8
>> [    0.000000] x19: ffff0000f356d500 x18: 0000000000000010
>> [    0.000000] x17: 0000000000000000 x16: 000000007081244d
>> [    0.000000] x15: ffff800010bb19a8 x14: 6f765f6b6c636420
>> [    0.000000] x13: 6b636f6c63207265 x12: 747369676572206f
>> [    0.000000] x11: 0000000000000005 x10: 0101010101010101
>> [    0.000000] x9 : 0000000000000000 x8 : 7f7f7f7f7f7f7f7f
>> [    0.000000] x7 : 0000000000000000 x6 : 070f07342c12021d
>> [    0.000000] x5 : 1d02122c34070f07 x4 : 0000000000000000
>> [    0.000000] x3 : 8c6d8d6beecdee00 x2 : 000000000000006d
>> [    0.000000] x1 : ffff80001091dff8 x0 : 0000000000000000
>> [    0.000000] Call trace:
>> [    0.000000]  __pi_strcmp+0x18/0x154
>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>> [    0.000000]  clk_core_lookup+0x38/0x98
>> [    0.000000]  __clk_register+0x120/0x798
>> [    0.000000]  clk_hw_register+0x1c/0x58
>> [    0.000000]  __clk_hw_register_composite+0x1e0/0x2c0
>> [    0.000000]  clk_register_composite+0x40/0x58
>> [    0.000000]  rockchip_clk_register_branches+0x388/0x908
>> [    0.000000]  rk3399_clk_init+0xb0/0x150
>> [    0.000000]  of_clk_init+0x1e8/0x284
>> [    0.000000]  time_init+0x10/0x44
>> [    0.000000]  start_kernel+0x558/0x6bc
>> [    0.000000] Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
>> [    0.000000] ---[ end trace 8ad2f94645b7db99 ]---
>> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
>> [    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Gruß,
> 
> 
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
> 



_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks
       [not found]                 ` <e5c6071b-5798-674d-7115-c45192aa3000-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
@ 2020-03-03 18:24                   ` Enric Balletbo Serra
  0 siblings, 0 replies; 8+ messages in thread
From: Enric Balletbo Serra @ 2020-03-03 18:24 UTC (permalink / raw)
  To: Markus Reichl
  Cc: Stephen Boyd, open list:ARM/Rockchip SoC...,
	Heiko Stuebner, Doug Anderson, Jerome Brunet

Hi all,

Missatge de Markus Reichl <m.reichl@fivetechno.de> del dia dj., 27 de
febr. 2020 a les 12:02:
>
> Hi Jerome,
>
> Am 27.02.20 um 11:54 schrieb Jerome Brunet:
> >
> > On Thu 27 Feb 2020 at 11:53, Markus Reichl <m.reichl@fivetechno.de> wrote:
> >
> >> Hi Jerome,
> >>
> >> Am 27.02.20 um 11:39 schrieb Jerome Brunet:
> >>>
> >>> On Thu 27 Feb 2020 at 11:05, Markus Reichl <m.reichl@fivetechno.de> wrote:
> >>>
> >>>> Hi Stephen,
> >>>>
> >>>> on recent linux-next (from 20200214 on)my rk3399-roc-pc board refuses to boot.
> >>>> (s. below dmesg) with __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
> >>>>
> >>>> Git bisecting points to the following commit:
> >>>
> >>> Hi Markus,
> >>>
> >>> I think you mentioned earlier that you already had Maxime's fixup [0]
> >>> but it is not clear it with this report. Could you please clarify ?
> >>
> >> I did not know about this fixup yet, thanks for pointing me.
> >> I tried it now on -next of today but it does not fix booting for me.
> >> I get same error log.
> >>>
> >>> Anyway, it looks to me that the problem is coming from
> >>> drivers/clk/rockchip/clk-mmc-phase.c:55
> >>>
> >>> This HW has both a coarse phase setting and a fine delay-based
> >>> setting.
> >>>
> >>> Delay based phase cannot be computed if the rate is zero (if the clock
> >>> is orphaned for ex)
> >>>
> >>> However, I think it is still valid for CCF to call .get_phase() and
> >>> except an answer, even the rate of the clock is zero.
> >>>
> >>> IOW, if the rate is 0, I think .get_phase() should not return -EINVAL.
> >>> It should return 0 (0Hz => constant signal => no phase shift).
> >>
> >> Thanks for explanation.
> >
> > Would you mind trying to make this change and report back ?
>
> return 0; fixes booting. Thanks.
>

Is anyone preparing a fix and sending upstream for that? The issue is
there for some time now and is a bit annoying.

Thanks,
 Enric

> >
> >>
> >> Gruß,
> >> --
> >> Markus Reichl
> >>>
> >>> [0]: https://lkml.kernel.org/r/20200225134248.919889-1-maxime@cerno.tech
> >>>
> >>>>
> >>>> 2760878662a290ac57cff8a5a8d8bda8f4dddc37 is the first bad commit
> >>>> commit 2760878662a290ac57cff8a5a8d8bda8f4dddc37
> >>>> Author: Stephen Boyd <sboyd@kernel.org>
> >>>> Date:   Wed Feb 5 15:28:02 2020 -0800
> >>>>
> >>>>     clk: Bail out when calculating phase fails during clk registration
> >>>>       Bail out of clk registration if we fail to get the phase for a clk
> >>>> that
> >>>>     has a clk_ops::get_phase() callback. Print a warning too so that driver
> >>>>     authors can easily figure out that some clk is unable to read back phase
> >>>>     information at boot.
> >>>>       Cc: Douglas Anderson <dianders@chromium.org>
> >>>>     Cc: Heiko Stuebner <heiko@sntech.de>
> >>>>     Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
> >>>>     Signed-off-by: Stephen Boyd <sboyd@kernel.org>
> >>>>     Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org
> >>>>     Acked-by: Jerome Brunet <jbrunet@baylibre.com>
> >>>>
> >>>>  drivers/clk/clk.c | 7 ++++++-
> >>>>  1 file changed, 6 insertions(+), 1 deletion(-)
> >>>>
> >>>> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
> >>>> [    0.000000] Linux version 5.6.0-rc3-next-20200226 (root@roc) (gcc version 9.2.1 20200220 (Debian 9.2.1-29)) #16 SMP PREEMPT Wed Feb 26 10:10:05 CET 2020
> >>>> [    0.000000] Machine model: Firefly ROC-RK3399-PC Mezzanine Board
> >>>> [    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
> >>>> [    0.000000] printk: bootconsole [uart8250] enabled
> >>>> [    0.000000] efi: Getting EFI parameters from FDT:
> >>>> [    0.000000] efi: UEFI not found.
> >>>> [    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
> >>>> [    0.000000] NUMA: No NUMA configuration found
> >>>> [    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
> >>>> [    0.000000] NUMA: NODE_DATA [mem 0xf3ffe100-0xf3ffffff]
> >>>> [    0.000000] Zone ranges:
> >>>> [    0.000000]   DMA      [mem 0x0000000000200000-0x000000003fffffff]
> >>>> [    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f7ffffff]
> >>>> [    0.000000]   Normal   empty
> >>>> [    0.000000] Movable zone start for each node
> >>>> [    0.000000] Early memory node ranges
> >>>> [    0.000000]   node   0: [mem 0x0000000000200000-0x00000000f7ffffff]
> >>>> [    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
> >>>> [    0.000000] psci: probing for conduit method from DT.
> >>>> [    0.000000] psci: PSCIv1.1 detected in firmware.
> >>>> [    0.000000] psci: Using standard PSCI v0.2 function IDs
> >>>> [    0.000000] psci: MIGRATE_INFO_TYPE not supported.
> >>>> [    0.000000] psci: SMC Calling Convention v1.0
> >>>> [    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
> >>>> [    0.000000] Detected VIPT I-cache on CPU0
> >>>> [    0.000000] CPU features: detected: ARM erratum 845719
> >>>> [    0.000000] CPU features: detected: GIC system register CPU interface
> >>>> [    0.000000] CPU features: kernel page table isolation forced OFF by mitigations=off
> >>>> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999432
> >>>> [    0.000000] Policy zone: DMA32
> >>>> [    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=tty1 console=ttyS2,1500000 swiotlb=1 root=/dev/nvme0n1p1 rootwait rw rootfstype=ext4 init=/sbin/init mitigations=off
> >>>> [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
> >>>> [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
> >>>> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> >>>> [    0.000000] software IO TLB: mapped [mem 0x3ffbf000-0x3ffff000] (0MB)
> >>>> [    0.000000] Memory: 3910884K/4061184K available (6908K kernel code, 512K rwdata, 2680K rodata, 1728K init, 355K bss, 117532K reserved, 32768K cma-reserved)
> >>>> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
> >>>> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
> >>>> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
> >>>> [    0.000000]  Tasks RCU enabled.
> >>>> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
> >>>> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
> >>>> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
> >>>> [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
> >>>> [    0.000000] GICv3: 256 SPIs implemented
> >>>> [    0.000000] GICv3: 0 Extended SPIs implemented
> >>>> [    0.000000] GICv3: Distributor has no Range Selector support
> >>>> [    0.000000] GICv3: 16 PPIs implemented
> >>>> [    0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
> >>>> [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
> >>>> [    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
> >>>> [    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @f3480000 (flat, esz 8, psz 64K, shr 0)
> >>>> [    0.000000] ITS: using cache flushing for cmd queue
> >>>> [    0.000000] GICv3: using LPI property table @0x00000000f3440000
> >>>> [    0.000000] GIC: using cache flushing for LPI property table
> >>>> [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000f3450000
> >>>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
> >>>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
> >>>> [    0.000000] random: get_random_bytes called from start_kernel+0x538/0x6bc with crng_init=0
> >>>> [    0.000000] __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_drv: -22
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_sample: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_drv: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_sample: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_pm: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref100m: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core_cru: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_emmc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_emmc_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_emmc_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmccore: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmcgrf: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_perilp0_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_perilp0_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_intmem: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_tzma: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem2: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem3: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem4: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem5: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dcf: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac0_perilp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac1_perilp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_rom: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dcf: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_fclk_cm0s_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_fclk_cm0s_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock fclk_cm0s: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sclk_m0_perilp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_m0_perilp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_m0_perilp_dec: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_hclk_perilp1_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_hclk_perilp1_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s2: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_spdif: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi5: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdioaudio_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart2: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart3: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c7: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c5: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c6: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c2: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c3: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mailbox0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_saradc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_tsadc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024ns: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024s: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi2: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi4: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp_sgrf: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_saradc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_tsadc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1_pll_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2_pll_src: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi1: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio_grf: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp22: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp22: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdmi_ctrl: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dp_ctrl: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp22: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_gasket: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_dp_core: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_ctrl: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_sfr: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_cec: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_pre: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_pre: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_noc: -17
> >>>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_vop0_div: -17
> >>>> [    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
> >>>> [    0.000000] Mem abort info:
> >>>> [    0.000000]   ESR = 0x96000004
> >>>> [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
> >>>> [    0.000000]   SET = 0, FnV = 0
> >>>> [    0.000000]   EA = 0, S1PTW = 0
> >>>> [    0.000000] Data abort info:
> >>>> [    0.000000]   ISV = 0, ISS = 0x00000004
> >>>> [    0.000000]   CM = 0, WnR = 0
> >>>> [    0.000000] [0000000000000000] user address but active_mm is swapper
> >>>> [    0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> >>>> [    0.000000] Modules linked in:
> >>>> [    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc3-next-20200226 #16
> >>>> [    0.000000] Hardware name: Firefly ROC-RK3399-PC Mezzanine Board (DT)
> >>>> [    0.000000] pstate: 40000085 (nZcv daIf -PAN -UAO)
> >>>> [    0.000000] pc : __pi_strcmp+0x18/0x154
> >>>> [    0.000000] lr : __clk_lookup_subtree+0x20/0x78
> >>>> [    0.000000] sp : ffff800010ba3b40
> >>>> [    0.000000] x29: ffff800010ba3b40 x28: ffff0000f356e528
> >>>> [    0.000000] x27: 0000000000000001 x26: 0000000000000000
> >>>> [    0.000000] x25: 0000000000000000 x24: ffff800010be9508
> >>>> [    0.000000] x23: ffff0000f356e500 x22: ffff0000f356d600
> >>>> [    0.000000] x21: ffff800010c68000 x20: ffff80001091dff8
> >>>> [    0.000000] x19: ffff0000f356d500 x18: 0000000000000010
> >>>> [    0.000000] x17: 0000000000000000 x16: 000000007081244d
> >>>> [    0.000000] x15: ffff800010bb19a8 x14: 6f765f6b6c636420
> >>>> [    0.000000] x13: 6b636f6c63207265 x12: 747369676572206f
> >>>> [    0.000000] x11: 0000000000000005 x10: 0101010101010101
> >>>> [    0.000000] x9 : 0000000000000000 x8 : 7f7f7f7f7f7f7f7f
> >>>> [    0.000000] x7 : 0000000000000000 x6 : 070f07342c12021d
> >>>> [    0.000000] x5 : 1d02122c34070f07 x4 : 0000000000000000
> >>>> [    0.000000] x3 : 8c6d8d6beecdee00 x2 : 000000000000006d
> >>>> [    0.000000] x1 : ffff80001091dff8 x0 : 0000000000000000
> >>>> [    0.000000] Call trace:
> >>>> [    0.000000]  __pi_strcmp+0x18/0x154
> >>>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
> >>>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
> >>>> [    0.000000]  clk_core_lookup+0x38/0x98
> >>>> [    0.000000]  __clk_register+0x120/0x798
> >>>> [    0.000000]  clk_hw_register+0x1c/0x58
> >>>> [    0.000000]  __clk_hw_register_composite+0x1e0/0x2c0
> >>>> [    0.000000]  clk_register_composite+0x40/0x58
> >>>> [    0.000000]  rockchip_clk_register_branches+0x388/0x908
> >>>> [    0.000000]  rk3399_clk_init+0xb0/0x150
> >>>> [    0.000000]  of_clk_init+0x1e8/0x284
> >>>> [    0.000000]  time_init+0x10/0x44
> >>>> [    0.000000]  start_kernel+0x558/0x6bc
> >>>> [    0.000000] Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
> >>>> [    0.000000] ---[ end trace 8ad2f94645b7db99 ]---
> >>>> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
> >>>> [    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---
> >>
> >>
> >> Gruß,
> >
> >
>
> Gruß,
> --
> Markus Reichl
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks【请注意,邮件由linux-rockchip-bounces+shawn.lin=rock-chips.com@lists.infradead.org代发】
       [not found]         ` <7245c894-c7ff-da50-5ca7-33d41c8f6dd0-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
@ 2020-03-03 19:17           ` Jerome Brunet
  0 siblings, 0 replies; 8+ messages in thread
From: Jerome Brunet @ 2020-03-03 19:17 UTC (permalink / raw)
  To: Shawn Lin, Markus Reichl, Stephen Boyd
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Doug Anderson,
	Heiko Stuebner


On Fri 28 Feb 2020 at 02:12, Shawn Lin <shawn.lin@rock-chips.com> wrote:

> On 2020/2/27 18:39, Jerome Brunet wrote:
>>
>> On Thu 27 Feb 2020 at 11:05, Markus Reichl <m.reichl@fivetechno.de> wrote:
>>
>>> Hi Stephen,
>>>
>>> on recent linux-next (from 20200214 on)my rk3399-roc-pc board refuses to boot.
>>> (s. below dmesg) with __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>>>
>>> Git bisecting points to the following commit:
>>
>> Hi Markus,
>>
>> I think you mentioned earlier that you already had Maxime's fixup [0]
>> but it is not clear it with this report. Could you please clarify ?
>>
>> Anyway, it looks to me that the problem is coming from
>> drivers/clk/rockchip/clk-mmc-phase.c:55
>>
>> This HW has both a coarse phase setting and a fine delay-based
>> setting.
>>
>> Delay based phase cannot be computed if the rate is zero (if the clock
>> is orphaned for ex)
>>
>> However, I think it is still valid for CCF to call .get_phase() and
>> except an answer, even the rate of the clock is zero.
>>
>> IOW, if the rate is 0, I think .get_phase() should not return -EINVAL.
>> It should return 0 (0Hz => constant signal => no phase shift).
>
> Just a drive-by comment, but why constant signal means no phase shift?

the phase shift is measured between 2 periodic signals. If the parent
signal is constant (and most likely the child) there is no (measurable)
phase shift, like there is no (measurable) rate.

>
> Shouldn't the phase should be something against its counterpart?

It is. In CCF, the phase param is the phase shift between the clock and
its parent.

> e.g, if
> there's no mmc cmd or data in flight, how could we know its phase from
> the interface..
>
> And why it should return 0? some clk HW entities has a default phase
> against its counterpart in the comsumer side, maybe 90 or 180 degree.
>
>>
>> [0]: https://lkml.kernel.org/r/20200225134248.919889-1-maxime@cerno.tech
>>
>>>
>>> 2760878662a290ac57cff8a5a8d8bda8f4dddc37 is the first bad commit
>>> commit 2760878662a290ac57cff8a5a8d8bda8f4dddc37
>>> Author: Stephen Boyd <sboyd@kernel.org>
>>> Date:   Wed Feb 5 15:28:02 2020 -0800
>>>
>>>      clk: Bail out when calculating phase fails during clk registration
>>>        Bail out of clk registration if we fail to get the phase for a clk
>>> that
>>>      has a clk_ops::get_phase() callback. Print a warning too so that driver
>>>      authors can easily figure out that some clk is unable to read back phase
>>>      information at boot.
>>>        Cc: Douglas Anderson <dianders@chromium.org>
>>>      Cc: Heiko Stuebner <heiko@sntech.de>
>>>      Suggested-by: Jerome Brunet <jbrunet@baylibre.com>
>>>      Signed-off-by: Stephen Boyd <sboyd@kernel.org>
>>>      Link: https://lkml.kernel.org/r/20200205232802.29184-5-sboyd@kernel.org
>>>      Acked-by: Jerome Brunet <jbrunet@baylibre.com>
>>>
>>>   drivers/clk/clk.c | 7 ++++++-
>>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>>
>>> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
>>> [    0.000000] Linux version 5.6.0-rc3-next-20200226 (root@roc) (gcc version 9.2.1 20200220 (Debian 9.2.1-29)) #16 SMP PREEMPT Wed Feb 26 10:10:05 CET 2020
>>> [    0.000000] Machine model: Firefly ROC-RK3399-PC Mezzanine Board
>>> [    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
>>> [    0.000000] printk: bootconsole [uart8250] enabled
>>> [    0.000000] efi: Getting EFI parameters from FDT:
>>> [    0.000000] efi: UEFI not found.
>>> [    0.000000] cma: Reserved 32 MiB at 0x00000000f6000000
>>> [    0.000000] NUMA: No NUMA configuration found
>>> [    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
>>> [    0.000000] NUMA: NODE_DATA [mem 0xf3ffe100-0xf3ffffff]
>>> [    0.000000] Zone ranges:
>>> [    0.000000]   DMA      [mem 0x0000000000200000-0x000000003fffffff]
>>> [    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000f7ffffff]
>>> [    0.000000]   Normal   empty
>>> [    0.000000] Movable zone start for each node
>>> [    0.000000] Early memory node ranges
>>> [    0.000000]   node   0: [mem 0x0000000000200000-0x00000000f7ffffff]
>>> [    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
>>> [    0.000000] psci: probing for conduit method from DT.
>>> [    0.000000] psci: PSCIv1.1 detected in firmware.
>>> [    0.000000] psci: Using standard PSCI v0.2 function IDs
>>> [    0.000000] psci: MIGRATE_INFO_TYPE not supported.
>>> [    0.000000] psci: SMC Calling Convention v1.0
>>> [    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
>>> [    0.000000] Detected VIPT I-cache on CPU0
>>> [    0.000000] CPU features: detected: ARM erratum 845719
>>> [    0.000000] CPU features: detected: GIC system register CPU interface
>>> [    0.000000] CPU features: kernel page table isolation forced OFF by mitigations=off
>>> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 999432
>>> [    0.000000] Policy zone: DMA32
>>> [    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=tty1 console=ttyS2,1500000 swiotlb=1 root=/dev/nvme0n1p1 rootwait rw rootfstype=ext4 init=/sbin/init mitigations=off
>>> [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
>>> [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
>>> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
>>> [    0.000000] software IO TLB: mapped [mem 0x3ffbf000-0x3ffff000] (0MB)
>>> [    0.000000] Memory: 3910884K/4061184K available (6908K kernel code, 512K rwdata, 2680K rodata, 1728K init, 355K bss, 117532K reserved, 32768K cma-reserved)
>>> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
>>> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
>>> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
>>> [    0.000000]  Tasks RCU enabled.
>>> [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
>>> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
>>> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
>>> [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
>>> [    0.000000] GICv3: 256 SPIs implemented
>>> [    0.000000] GICv3: 0 Extended SPIs implemented
>>> [    0.000000] GICv3: Distributor has no Range Selector support
>>> [    0.000000] GICv3: 16 PPIs implemented
>>> [    0.000000] GICv3: no VLPI support, no direct LPI support, no RVPEID support
>>> [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
>>> [    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
>>> [    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @f3480000 (flat, esz 8, psz 64K, shr 0)
>>> [    0.000000] ITS: using cache flushing for cmd queue
>>> [    0.000000] GICv3: using LPI property table @0x00000000f3440000
>>> [    0.000000] GIC: using cache flushing for LPI property table
>>> [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000f3450000
>>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
>>> [    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
>>> [    0.000000] random: get_random_bytes called from start_kernel+0x538/0x6bc with crng_init=0
>>> [    0.000000] __clk_core_init: Failed to get phase for clk 'sdmmc_drv'
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_drv: -22
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdmmc_sample: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_drv: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sdio_sample: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_pm: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref100m: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pciephy_ref: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core_cru: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_pcie_core: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_emmc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_emmc_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_emmc_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmccore: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmc_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_emmcgrf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_aclk_perilp0_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_aclk_perilp0_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_intmem: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_tzma: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem3: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem4: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_intmem5: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dcf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac0_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_dmac1_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_perilp0_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_rom: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m_crypto1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_s_crypto1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp0_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dcf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_crypto1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_fclk_cm0s_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_fclk_cm0s_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock fclk_cm0s: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock sclk_m0_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_m0_perilp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_m0_perilp_dec: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_m0_perilp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock cpll_hclk_perilp1_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock gpll_hclk_perilp1_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_perilp1_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_i2s2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_spdif: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdio: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi5: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_sdioaudio_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_uart3: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c7: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c5: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c6: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_rki2c3: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mailbox0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_saradc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_tsadc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024ns: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_efuse1024s: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_spi4: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp_sgrf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_perilp1_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_saradc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_tsadc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1_pll_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2_pll_src: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_testout2: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vio_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_mipi_dsi1: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_vio_grf: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_hdcp22: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_hdcp22: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdmi_ctrl: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_dp_ctrl: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_hdcp22: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_gasket: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_dp_core: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock pclk_edp_ctrl: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_sfr: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock clk_hdmi_cec: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_pre: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_pre: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock aclk_vop0_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock hclk_vop0_noc: -17
>>> [    0.000000] rockchip_clk_register_branches: failed to register clock dclk_vop0_div: -17
>>> [    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
>>> [    0.000000] Mem abort info:
>>> [    0.000000]   ESR = 0x96000004
>>> [    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
>>> [    0.000000]   SET = 0, FnV = 0
>>> [    0.000000]   EA = 0, S1PTW = 0
>>> [    0.000000] Data abort info:
>>> [    0.000000]   ISV = 0, ISS = 0x00000004
>>> [    0.000000]   CM = 0, WnR = 0
>>> [    0.000000] [0000000000000000] user address but active_mm is swapper
>>> [    0.000000] Internal error: Oops: 96000004 [#1] PREEMPT SMP
>>> [    0.000000] Modules linked in:
>>> [    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-rc3-next-20200226 #16
>>> [    0.000000] Hardware name: Firefly ROC-RK3399-PC Mezzanine Board (DT)
>>> [    0.000000] pstate: 40000085 (nZcv daIf -PAN -UAO)
>>> [    0.000000] pc : __pi_strcmp+0x18/0x154
>>> [    0.000000] lr : __clk_lookup_subtree+0x20/0x78
>>> [    0.000000] sp : ffff800010ba3b40
>>> [    0.000000] x29: ffff800010ba3b40 x28: ffff0000f356e528
>>> [    0.000000] x27: 0000000000000001 x26: 0000000000000000
>>> [    0.000000] x25: 0000000000000000 x24: ffff800010be9508
>>> [    0.000000] x23: ffff0000f356e500 x22: ffff0000f356d600
>>> [    0.000000] x21: ffff800010c68000 x20: ffff80001091dff8
>>> [    0.000000] x19: ffff0000f356d500 x18: 0000000000000010
>>> [    0.000000] x17: 0000000000000000 x16: 000000007081244d
>>> [    0.000000] x15: ffff800010bb19a8 x14: 6f765f6b6c636420
>>> [    0.000000] x13: 6b636f6c63207265 x12: 747369676572206f
>>> [    0.000000] x11: 0000000000000005 x10: 0101010101010101
>>> [    0.000000] x9 : 0000000000000000 x8 : 7f7f7f7f7f7f7f7f
>>> [    0.000000] x7 : 0000000000000000 x6 : 070f07342c12021d
>>> [    0.000000] x5 : 1d02122c34070f07 x4 : 0000000000000000
>>> [    0.000000] x3 : 8c6d8d6beecdee00 x2 : 000000000000006d
>>> [    0.000000] x1 : ffff80001091dff8 x0 : 0000000000000000
>>> [    0.000000] Call trace:
>>> [    0.000000]  __pi_strcmp+0x18/0x154
>>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>>> [    0.000000]  __clk_lookup_subtree+0x40/0x78
>>> [    0.000000]  clk_core_lookup+0x38/0x98
>>> [    0.000000]  __clk_register+0x120/0x798
>>> [    0.000000]  clk_hw_register+0x1c/0x58
>>> [    0.000000]  __clk_hw_register_composite+0x1e0/0x2c0
>>> [    0.000000]  clk_register_composite+0x40/0x58
>>> [    0.000000]  rockchip_clk_register_branches+0x388/0x908
>>> [    0.000000]  rk3399_clk_init+0xb0/0x150
>>> [    0.000000]  of_clk_init+0x1e8/0x284
>>> [    0.000000]  time_init+0x10/0x44
>>> [    0.000000]  start_kernel+0x558/0x6bc
>>> [    0.000000] Code: f24008ff 540002e1 f2400807 54000141 (f8408402)
>>> [    0.000000] ---[ end trace 8ad2f94645b7db99 ]---
>>> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
>>> [    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Gruß,
>>
>>
>> _______________________________________________
>> Linux-rockchip mailing list
>> Linux-rockchip@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>>


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-03-03 19:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-27 10:05 [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks Markus Reichl
     [not found] ` <cb872bd4-1dd1-56fe-2370-181796b55f77-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
2020-02-27 10:39   ` Jerome Brunet
     [not found]     ` <1jd0a09uw4.fsf-de0UBZ+tuabJPAktV+lpxxGQ6p3D1CpGZeezCHUQhQ4@public.gmane.org>
2020-02-27 10:53       ` Markus Reichl
     [not found]         ` <6ab3da2a-5634-fff0-9077-d521eec2200e-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
2020-02-27 10:54           ` Jerome Brunet
     [not found]             ` <1jblpk9u6p.fsf-de0UBZ+tuabJPAktV+lpxxGQ6p3D1CpGZeezCHUQhQ4@public.gmane.org>
2020-02-27 11:02               ` Markus Reichl
     [not found]                 ` <e5c6071b-5798-674d-7115-c45192aa3000-SRyzfwRm/0rPTwkrwQOX7A@public.gmane.org>
2020-03-03 18:24                   ` Enric Balletbo Serra
2020-02-28  1:12       ` [BUG BISECT] arm64: clk: rockchip: rk3399 board does not find it's clocks【请注意,邮件由linux-rockchip-bounces+shawn.lin=rock-chips.com@lists.infradead.org代发】 Shawn Lin
     [not found]         ` <7245c894-c7ff-da50-5ca7-33d41c8f6dd0-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2020-03-03 19:17           ` Jerome Brunet

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.