DP83TC814S-Q1: NETDEV WATCHDOG: eth0 (qcom-emac): transmit queue 0 timed out

Part Number: DP83TC814S-Q1

Tool/software:

Hi Expert!

We are using DP83TC814S-Q1 in our custom HW.

Current we are facing NETDEV WATCHDOG: eth0 (qcom-emac): transmit queue 0 timed out issue.

and 

[ 88.546564] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[ 99.270130] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered

[   88.060175] NETDEV WATCHDOG: eth0 (qcom-emac): transmit queue 0 timed out
[   88.060183] Modules linked in: ci13xxx_msm phy_msm_usb embms_kernel(O) qcom_emac of_mdio dp83tc812 libphy
[   88.060209] CPU: 0 PID: 17 Comm: kworker/0:1 Tainted: G           O   3.18.120-perf #6
[   88.060260] Workqueue: events_power_efficient phy_change [libphy]
[   88.060268] Backtrace:
[   88.060287] [<c0012434>] (dump_backtrace) from [<c00126b8>] (show_stack+0x18/0x1c)
[   88.060296]  r7:00000137 r6:c0a49314 r5:00000009 r4:cee39ba4
[   88.060318] [<c00126a0>] (show_stack) from [<c07b210c>] (dump_stack+0x20/0x28)
[   88.060333] [<c07b20ec>] (dump_stack) from [<c001f390>] (warn_slowpath_common+0x6c/0x8c)
[   88.060346] [<c001f324>] (warn_slowpath_common) from [<c001f3f4>] (warn_slowpath_fmt+0x44/0x64)
[   88.060353]  r8:c064bc1c r7:00000074 r6:c0b5de81 r5:00000000 r4:c0ade008
[   88.060373] [<c001f3b4>] (warn_slowpath_fmt) from [<c064bdcc>] (dev_watchdog+0x1b0/0x298)
[   88.060381]  r3:cb2b5000 r2:c0a492db
[   88.060390]  r4:cb2b5000
[   88.060405] [<c064bc1c>] (dev_watchdog) from [<c005e8c8>] (call_timer_fn.constprop.3+0x2c/0xa8)
[   88.060413]  r7:c064bc1c r6:ffffe000 r5:00000102 r4:ffffe000
[   88.060432] [<c005e89c>] (call_timer_fn.constprop.3) from [<c005ec24>] (run_timer_softirq+0x2e0/0x300)
[   88.060439]  r7:cee39c34 r6:ffffe000 r5:cb2b5218 r4:c0b80680
[   88.060458] [<c005e944>] (run_timer_softirq) from [<c00225c0>] (__do_softirq+0x1b4/0x23c)
[   88.060466]  r10:c0b5e740 r9:00000102 r8:c0b5e744 r7:ffffe000 r6:c0b5e700 r5:00000202
[   88.060481]  r4:40000001
[   88.060493] [<c002240c>] (__do_softirq) from [<c0022938>] (irq_exit+0x88/0xf8)
[   88.060501]  r10:c07b5fcc r9:cd4e71c0 r8:00000001 r7:cec08000 r6:00000000 r5:c0af4f64
[   88.060516]  r4:00000000
[   88.060529] [<c00228b0>] (irq_exit) from [<c00524cc>] (__handle_domain_irq+0x70/0x98)
[   88.060537]  r5:c0af4f64 r4:00000000
[   88.060551] [<c005245c>] (__handle_domain_irq) from [<c00086a8>] (gic_handle_irq+0x40/0x58)
[   88.060560]  r9:cd4e71c0 r8:cee39d98 r7:cee39d5c r6:cee39d28 r5:c0aded14 r4:c2a02000
[   88.060581] [<c0008668>] (gic_handle_irq) from [<c0013154>] (__irq_svc+0x54/0x90)
[   88.060590] Exception stack(0xcee39d28 to 0xcee39d70)
[   88.060602] 9d20:                   cec34e40 00000002 00000000 cee39d78 cec34e40 ca081000
[   88.060615] 9d40: ffffe000 00000002 cee39d98 cd4e71c0 c07b5fcc cee39d94 cee39d98 cee39d78
[   88.060625] 9d60: c07b5cf4 c003ef54 600f0013 ffffffff
[   88.060633]  r7:cee39d5c r6:ffffffff r5:600f0013 r4:c003ef54
[   88.060653] [<c003ef14>] (finish_task_switch.constprop.13) from [<c07b5cf4>] (__schedule+0x220/0x468)
[   88.060660]  r7:c0ae6df8 r6:c0aead00 r5:cee38000 r4:cee2ce40
[   88.060677] [<c07b5ad4>] (__schedule) from [<c07b5fcc>] (schedule+0x90/0x9c)
[   88.060685]  r10:cee20e80 r9:ffffe000 r8:ffffffff r7:cee2ce40 r6:cb267c58 r5:c0ade008
[   88.060700]  r4:ffffe000
[   88.060712] [<c07b5f3c>] (schedule) from [<c07b62f4>] (schedule_preempt_disabled+0x28/0x44)
[   88.060726] [<c07b62cc>] (schedule_preempt_disabled) from [<c07b7ba4>] (__mutex_lock_slowpath+0xb0/0x1c8)
[   88.060734]  r5:c0ade008 r4:cb267c54
[   88.060748] [<c07b7af4>] (__mutex_lock_slowpath) from [<c07b7cec>] (mutex_lock+0x30/0x34)
[   88.060755]  r9:00000000 r8:00000013 r7:00000000 r6:ce06e400 r5:cb267c54 r4:cb267c00
[   88.060792] [<c07b7cbc>] (mutex_lock) from [<bf0031b4>] (mdiobus_write+0x4c/0x7c [libphy])
[   88.060823] [<bf003168>] (mdiobus_write [libphy]) from [<bf00e1c0>] (dp83812_config_intr+0xe0/0x100 [dp83tc812])
[   88.060831]  r9:00000000 r8:cf172800 r7:00000000 r6:ce06e400 r5:ce06e400 r4:ce06e400
[   88.060866] [<bf00e0e0>] (dp83812_config_intr [dp83tc812]) from [<bf000050>] (phy_config_interrupt+0x24/0x30 [libphy])
[   88.060874]  r5:ce06e400 r4:ce06e5e0
[   88.060915] [<bf00002c>] (phy_config_interrupt [libphy]) from [<bf0004cc>] (phy_disable_interrupts+0x18/0x40 [libphy])
[   88.060983] [<bf0004b4>] (phy_disable_interrupts [libphy]) from [<bf000e5c>] (phy_change+0x2c/0x130 [libphy])
[   88.060991]  r5:ce06e5e0 r4:ce06e5e0
[   88.061022] [<bf000e30>] (phy_change [libphy]) from [<c0034c70>] (process_one_work+0x1d4/0x33c)
[   88.061030]  r7:00000000 r6:c0ae9f24 r5:ce06e5e0 r4:cee20e80
[   88.061049] [<c0034a9c>] (process_one_work) from [<c0034e08>] (process_scheduled_works+0x30/0x34)
[   88.061057]  r10:cee20e80 r9:00000000 r8:cee20e98 r7:c0ae9f34 r6:c0ae9f24 r5:cee20e98
[   88.061073]  r4:cee20e80
[   88.061088] [<c0034dd8>] (process_scheduled_works) from [<c0035c38>] (worker_thread+0x374/0x470)
[   88.061095]  r5:c0ae9f24 r4:ffffe000
[   88.061112] [<c00358c4>] (worker_thread) from [<c0039e94>] (kthread+0xe4/0xf8)
[   88.061119]  r10:00000000 r9:00000000 r8:00000000 r7:c00358c4 r6:cee20e80 r5:00000000
[   88.061134]  r4:cee24580
[   88.061148] [<c0039db0>] (kthread) from [<c000e558>] (ret_from_fork+0x14/0x3c)
[   88.061155]  r7:00000000 r6:00000000 r5:c0039db0 r4:cee24580
[   88.061169] ---[ end trace 1b11a8455e6edfdd ]---
[   88.280156] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
[   88.281411] dp83812_read_straps: Strap is 0x4000
[   88.546564] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[   99.270130] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered

Kindly check and update.

Thanks,

Muthukumar. S

  • Hi Muthukumar,

    My understanding of the issue is that SGMII link is not achieved, is it correct?

    Is MDI link able to be achieved? Are you able to read/write registers? If so, please share a register dump from 0x0-0x1E.

    Thanks,

    David

  • Hi David Creger,

    Please find the register dump data.

    / #
    / # phytool read eth0/0/0
    0x2100
    / # phytool read eth0/0/1
    0x0065
    / # phytool read eth0/0/2
    0x2000
    / # phytool read eth0/0/3
    0xa261
    / # phytool read eth0/0/4
    0x0001
    / # phytool read eth0/0/5
    0000
    / # phytool read eth0/0/6
    0000
    / # phytool read eth0/0/7
    0x2001
    / # phytool read eth0/0/8
    0000
    / # phytool read eth0/0/9
    0000
    / # phytool read eth0/0/a
    0x2100
    / # phytool read eth0/0/b
    0x2100
    / # phytool read eth0/0/c
    0x2100
    / # phytool read eth0/0/d
    0x2100
    / # phytool read eth0/0/e
    0x2100
    / # phytool read eth0/0/f
    0x2100
    / # phytool read eth0/0/10
    0x0100
    / # phytool read eth0/0/11
    0000
    / # phytool read eth0/0/12
    0000
    / # phytool read eth0/0/13
    0x401f
    / # phytool read eth0/0/14
    0x8001
    / # phytool read eth0/0/15
    0000
    / # phytool read eth0/0/16
    0x0005
    / # phytool read eth0/0/17
    0x010b
    / # phytool read eth0/0/18
    0x8000
    / # phytool read eth0/0/19
    0000
    / # phytool read eth0/0/0a
    0x2100
    / # phytool read eth0/0/0b
    0x2100
    / # phytool read eth0/0/0c
    0x2100
    / # phytool read eth0/0/0d
    0x2100
    / # phytool read eth0/0/0e
    0x2100

    After 5mins ethernet connection established, but it not happened every time, sometimes ethernet connection not established at all. 

    [  318.010162] NETDEV WATCHDOG: eth0 (qcom-emac): transmit queue 0 timed out
    [  318.010170] Modules linked in: qcom_emac of_mdio dp83tc812 libphy ci13xxx_msm phy_msm_usb embms_kernel(O)
    [  318.010197] CPU: 0 PID: 0 Comm: swapper Tainted: G           O   3.18.120-perf #1
    [  318.010206] Backtrace: 
    [  318.010226] [<c0012434>] (dump_backtrace) from [<c00126b8>] (show_stack+0x18/0x1c)
    [  318.010234]  r7:00000137 r6:c0a4b1a4 r5:00000009 r4:c0ad9cfc
    [  318.010257] [<c00126a0>] (show_stack) from [<c07b210c>] (dump_stack+0x20/0x28)
    [  318.010271] [<c07b20ec>] (dump_stack) from [<c001f390>] (warn_slowpath_common+0x6c/0x8c)
    [  318.010284] [<c001f324>] (warn_slowpath_common) from [<c001f3f4>] (warn_slowpath_fmt+0x44/0x64)
    [  318.010292]  r8:c064bc1c r7:00000074 r6:c0b5fe81 r5:00000000 r4:c0ae0008
    [  318.010312] [<c001f3b4>] (warn_slowpath_fmt) from [<c064bdcc>] (dev_watchdog+0x1b0/0x298)
    [  318.010319]  r3:cda10000 r2:c0a4b16b
    [  318.010328]  r4:cda10000
    [  318.010343] [<c064bc1c>] (dev_watchdog) from [<c005e8c8>] (call_timer_fn.constprop.3+0x2c/0xa8)
    [  318.010351]  r7:c064bc1c r6:ffffe000 r5:00000101 r4:ffffe000
    [  318.010369] [<c005e89c>] (call_timer_fn.constprop.3) from [<c005ec24>] (run_timer_softirq+0x2e0/0x300)
    [  318.010377]  r7:c0ad9d8c r6:ffffe000 r5:cda10218 r4:c0b82680
    [  318.010396] [<c005e944>] (run_timer_softirq) from [<c00225c0>] (__do_softirq+0x1b4/0x23c)
    [  318.010403]  r10:c0b60740 r9:00000101 r8:c0b60744 r7:ffffe000 r6:c0b60700 r5:00000202
    [  318.010444]  r4:40000001
    [  318.010458] [<c002240c>] (__do_softirq) from [<c0022938>] (irq_exit+0x88/0xf8)
    [  318.010465]  r10:00000000 r9:c0b1d1c8 r8:00000001 r7:cec08000 r6:00000000 r5:c0af6f64
    [  318.010480]  r4:00000000
    [  318.010494] [<c00228b0>] (irq_exit) from [<c00524cc>] (__handle_domain_irq+0x70/0x98)
    [  318.010501]  r5:c0af6f64 r4:00000000
    [  318.010516] [<c005245c>] (__handle_domain_irq) from [<c00086a8>] (gic_handle_irq+0x40/0x58)
    [  318.010524]  r9:c0b1d1c8 r8:00000001 r7:c0ad9eb4 r6:c0ad9e80 r5:c0ae0d14 r4:c2a02000
    [  318.010545] [<c0008668>] (gic_handle_irq) from [<c0013154>] (__irq_svc+0x54/0x90)
    [  318.010554] Exception stack(0xc0ad9e80 to 0xc0ad9ec8)
    [  318.010567] 9e80: 0000016d 00000000 0000000a 000003e8 00000000 ce67a010 8d4fdf3b 83126e97
    [  318.010580] 9ea0: 00000001 c0b1d1c8 00000000 c0ad9f24 00000000 c0ad9ed0 c0065e10 c04c5530
    [  318.010589] 9ec0: 00070013 ffffffff
    [  318.010596]  r7:c0ad9eb4 r6:ffffffff r5:00070013 r4:c04c5530
    [  318.010620] [<c04c5238>] (lpm_cpuidle_enter) from [<c04c1aec>] (cpuidle_enter_state+0x50/0x150)
    [  318.010628]  r10:c0ae0008 r9:c0aecd00 r8:00000000 r7:ce67a800 r6:c0b1d1c8 r5:0000004a
    [  318.010643]  r4:0adf75cf
    [  318.010657] [<c04c1a9c>] (cpuidle_enter_state) from [<c04c1cdc>] (cpuidle_enter+0x1c/0x20)
    [  318.010665]  r10:c0acc23c r9:c0aecd00 r8:00000000 r7:c0ae00b0 r6:ce67a800 r5:c0b1d1c8
    [  318.010680]  r4:00000000
    [  318.010695] [<c04c1cc0>] (cpuidle_enter) from [<c00491dc>] (cpu_startup_entry+0x180/0x1e0)
    [  318.010709] [<c004905c>] (cpu_startup_entry) from [<c07af814>] (rest_init+0x78/0x90)
    [  318.010717]  r7:c0ae0008 r4:00000002
    [  318.010733] [<c07af79c>] (rest_init) from [<c0a98d0c>] (start_kernel+0x394/0x418)
    [  318.010741]  r5:c0b5ffc0 r4:c0ae0988
    [  318.010756] [<c0a98978>] (start_kernel) from [<80008078>] (0x80008078)
    [  318.010764] ---[ end trace 5bf9565d9caa71e8 ]---
    [  318.230140] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  318.231489] dp83812_read_straps: Strap is 0x0
    [  318.231521] dp83812_chip_init into
    [  318.486771] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  329.230140] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  329.231523] dp83812_read_straps: Strap is 0x0
    [  329.231554] dp83812_chip_init into
    [  329.481461] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  340.230138] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  340.231564] dp83812_read_straps: Strap is 0x0
    [  340.231596] dp83812_chip_init into
    [  340.479978] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  351.230143] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  351.231511] dp83812_read_straps: Strap is 0x0
    [  351.231543] dp83812_chip_init into
    [  351.472299] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  362.230133] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  362.231509] dp83812_read_straps: Strap is 0x0
    [  362.231541] dp83812_chip_init into
    [  362.487002] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  373.230144] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  373.231490] dp83812_read_straps: Strap is 0x0
    [  373.231523] dp83812_chip_init into
    [  373.490522] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  384.230144] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  384.231497] dp83812_read_straps: Strap is 0x0
    [  384.231529] dp83812_chip_init into
    [  384.475267] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  395.012912] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  395.012929] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  395.012951] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  395.012963] ->action():   (null)
    [  395.012971]    IRQ_NOPROBE set
    [  395.012978]  IRQ_NOREQUEST set
    [  395.012985]   IRQ_NOTHREAD set
    [  395.230156] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  395.231494] dp83812_read_straps: Strap is 0x0
    [  395.231527] dp83812_chip_init into
    [  395.477675] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  406.230145] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  406.231825] dp83812_read_straps: Strap is 0x0
    [  406.231858] dp83812_chip_init into
    [  406.481585] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  417.012981] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  417.012998] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  417.013019] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  417.013032] ->action():   (null)
    [  417.013040]    IRQ_NOPROBE set
    [  417.013047]  IRQ_NOREQUEST set
    [  417.013054]   IRQ_NOTHREAD set
    [  417.230154] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  417.231583] dp83812_read_straps: Strap is 0x0
    [  417.231618] dp83812_chip_init into
    [  417.474867] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  428.230150] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  428.231378] dp83812_read_straps: Strap is 0x0
    [  428.231412] dp83812_chip_init into
    [  428.481928] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  439.230144] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  439.231477] dp83812_read_straps: Strap is 0x0
    [  439.231508] dp83812_chip_init into
    [  439.502258] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  450.230145] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  450.231614] dp83812_read_straps: Strap is 0x0
    [  450.231647] dp83812_chip_init into
    [  450.475667] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  461.230143] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  461.231600] dp83812_read_straps: Strap is 0x0
    [  461.231633] dp83812_chip_init into
    [  461.509324] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  472.230146] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  472.231583] dp83812_read_straps: Strap is 0x0
    [  472.231618] dp83812_chip_init into
    [  472.481597] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  483.230147] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  483.231504] dp83812_read_straps: Strap is 0x0
    [  483.231536] dp83812_chip_init into
    [  483.479369] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  494.013326] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  494.013344] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  494.013365] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  494.013377] ->action():   (null)
    [  494.013385]    IRQ_NOPROBE set
    [  494.013392]  IRQ_NOREQUEST set
    [  494.013399]   IRQ_NOTHREAD set
    [  494.230144] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  494.231498] dp83812_read_straps: Strap is 0x0
    [  494.231530] dp83812_chip_init into
    [  494.473874] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  505.013095] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  505.013113] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  505.013136] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  505.013148] ->action():   (null)
    [  505.013156]    IRQ_NOPROBE set
    [  505.013163]  IRQ_NOREQUEST set
    [  505.013170]   IRQ_NOTHREAD set
    [  505.230140] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  505.231495] dp83812_read_straps: Strap is 0x0
    [  505.231526] dp83812_chip_init into
    [  505.477787] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  516.230146] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  516.231551] dp83812_read_straps: Strap is 0x0
    [  516.231585] dp83812_chip_init into
    [  516.474949] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  527.230159] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  527.231761] dp83812_read_straps: Strap is 0x0
    [  527.231807] dp83812_chip_init into
    [  527.472614] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  538.230145] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  538.231516] dp83812_read_straps: Strap is 0x0
    [  538.231549] dp83812_chip_init into
    [  538.486069] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  549.230141] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  549.231381] dp83812_read_straps: Strap is 0x0
    [  549.231415] dp83812_chip_init into
    [  549.482584] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  560.230155] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  560.231521] dp83812_read_straps: Strap is 0x0
    [  560.231552] dp83812_chip_init into
    [  560.473947] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  571.230152] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  571.231678] dp83812_read_straps: Strap is 0x0
    [  571.231711] dp83812_chip_init into
    [  571.473812] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  582.230141] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  582.231519] dp83812_read_straps: Strap is 0x0
    [  582.231550] dp83812_chip_init into
    [  582.474872] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  593.013406] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  593.013423] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  593.013445] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  593.013458] ->action():   (null)
    [  593.013465]    IRQ_NOPROBE set
    [  593.013472]  IRQ_NOREQUEST set
    [  593.013479]   IRQ_NOTHREAD set
    [  593.230164] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  593.231750] dp83812_read_straps: Strap is 0x0
    [  593.231784] dp83812_chip_init into
    [  593.474415] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  604.230144] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  604.231505] dp83812_read_straps: Strap is 0x0
    [  604.231535] dp83812_chip_init into
    [  604.495442] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  615.230145] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  615.231504] dp83812_read_straps: Strap is 0x0
    [  615.231535] dp83812_chip_init into
    [  615.483033] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  626.230144] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  626.231519] dp83812_read_straps: Strap is 0x0
    [  626.231549] dp83812_chip_init into
    [  626.471814] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  637.230142] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  637.231575] dp83812_read_straps: Strap is 0x0
    [  637.231608] dp83812_chip_init into
    [  637.473618] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  648.230197] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  648.231721] dp83812_read_straps: Strap is 0x0
    [  648.231752] dp83812_chip_init into
    [  648.474343] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  659.230138] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  659.231394] dp83812_read_straps: Strap is 0x0
    [  659.231425] dp83812_chip_init into
    [  659.493021] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  670.012823] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  670.012840] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  670.012861] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  670.012874] ->action():   (null)
    [  670.012882]    IRQ_NOPROBE set
    [  670.012889]  IRQ_NOREQUEST set
    [  670.012896]   IRQ_NOTHREAD set
    [  670.230143] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  670.231510] dp83812_read_straps: Strap is 0x0
    [  670.231541] dp83812_chip_init into
    [  670.478482] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  681.230131] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  681.231501] dp83812_read_straps: Strap is 0x0
    [  681.231533] dp83812_chip_init into
    [  681.471609] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  692.230143] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  692.231632] dp83812_read_straps: Strap is 0x0
    [  692.231663] dp83812_chip_init into
    [  692.506580] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  703.230167] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  703.231660] dp83812_read_straps: Strap is 0x0
    [  703.231693] dp83812_chip_init into
    [  703.477053] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  714.230140] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  714.231508] dp83812_read_straps: Strap is 0x0
    [  714.231538] dp83812_chip_init into
    [  714.511288] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  725.230146] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  725.231654] dp83812_read_straps: Strap is 0x0
    [  725.231685] dp83812_chip_init into
    [  725.488528] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  736.012948] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  736.012965] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  736.012987] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  736.012999] ->action():   (null)
    [  736.013007]    IRQ_NOPROBE set
    [  736.013014]  IRQ_NOREQUEST set
    [  736.013021]   IRQ_NOTHREAD set
    [  736.230142] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  736.231509] dp83812_read_straps: Strap is 0x0
    [  736.231542] dp83812_chip_init into
    [  736.485588] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  747.230142] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  747.231523] dp83812_read_straps: Strap is 0x0
    [  747.231556] dp83812_chip_init into
    [  747.471993] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  758.230255] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  758.231705] dp83812_read_straps: Strap is 0x0
    [  758.231736] dp83812_chip_init into
    [  758.473486] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  769.230150] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  769.231686] dp83812_read_straps: Strap is 0x0
    [  769.231719] dp83812_chip_init into
    [  769.491091] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  780.230134] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  780.231629] dp83812_read_straps: Strap is 0x0
    [  780.231662] dp83812_chip_init into
    [  780.513771] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  791.230139] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  791.231660] dp83812_read_straps: Strap is 0x0
    [  791.231695] dp83812_chip_init into
    [  791.482889] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  802.230144] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  802.231506] dp83812_read_straps: Strap is 0x0
    [  802.231536] dp83812_chip_init into
    [  802.477286] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  808.240186] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  808.241664] dp83812_read_straps: Strap is 0x0
    [  808.241697] dp83812_chip_init into
    [  808.492934] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  814.240143] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  814.241608] dp83812_read_straps: Strap is 0x0
    [  814.241639] dp83812_chip_init into
    [  814.489299] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  820.240147] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  820.241500] dp83812_read_straps: Strap is 0x0
    [  820.241531] dp83812_chip_init into
    [  820.490524] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  826.240151] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  826.241864] dp83812_read_straps: Strap is 0x0
    [  826.241910] dp83812_chip_init into
    [  826.486304] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  832.240140] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  832.241419] dp83812_read_straps: Strap is 0x0
    [  832.241449] dp83812_chip_init into
    [  832.487109] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  838.241067] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  838.243701] dp83812_read_straps: Strap is 0x0
    [  838.243736] dp83812_chip_init into
    [  838.488351] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  844.240184] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  844.241676] dp83812_read_straps: Strap is 0x0
    [  844.241708] dp83812_chip_init into
    [  844.501630] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  850.023336] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  850.023354] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  850.023376] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  850.023389] ->action():   (null)
    [  850.023396]    IRQ_NOPROBE set
    [  850.023403]  IRQ_NOREQUEST set
    [  850.023410]   IRQ_NOTHREAD set
    [  850.240150] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  850.241486] dp83812_read_straps: Strap is 0x0
    [  850.241518] dp83812_chip_init into
    [  850.503852] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  856.240167] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  856.241902] dp83812_read_straps: Strap is 0x0
    [  856.241935] dp83812_chip_init into
    [  856.494106] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  862.240148] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  862.241601] dp83812_read_straps: Strap is 0x0
    [  862.241635] dp83812_chip_init into
    [  862.524190] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  868.240154] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  868.241524] dp83812_read_straps: Strap is 0x0
    [  868.241555] dp83812_chip_init into
    [  868.518849] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  874.240143] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  874.241564] dp83812_read_straps: Strap is 0x0
    [  874.241597] dp83812_chip_init into
    [  874.523717] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  880.240144] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  880.241512] dp83812_read_straps: Strap is 0x0
    [  880.241546] dp83812_chip_init into
    [  880.547279] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  886.240151] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  886.241669] dp83812_read_straps: Strap is 0x0
    [  886.241702] dp83812_chip_init into
    [  886.489644] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  892.023624] irq 51, desc: cee0c240, depth: 0, count: 0, unhandled: 0
    [  892.023641] ->handle_irq():  c0274db4, msm_gpio_irq_handler+0x0/0x128
    [  892.023663] ->irq_data.chip(): c0af7298, gic_chip+0x0/0x74
    [  892.023675] ->action():   (null)
    [  892.023683]    IRQ_NOPROBE set
    [  892.023690]  IRQ_NOREQUEST set
    [  892.023697]   IRQ_NOTHREAD set
    [  892.240155] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  892.241585] dp83812_read_straps: Strap is 0x0
    [  892.241621] dp83812_chip_init into
    [  892.488889] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  898.240174] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  898.241799] dp83812_read_straps: Strap is 0x0
    [  898.241829] dp83812_chip_init into
    [  898.488052] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  904.240134] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  904.241503] dp83812_read_straps: Strap is 0x0
    [  904.241537] dp83812_chip_init into
    [  904.499001] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
    [  910.240142] qcom-emac 7c40000.qcom,emac eth0: PHY reset triggered
    [  910.241497] dp83812_read_straps: Strap is 0x0
    [  910.241531] dp83812_chip_init into
    [  910.503499] qcom-emac 7c40000.qcom,emac eth0: Link is Up - 10Mbps/Half - flow control off

    Do we missed anything from our end?

    Thanks & Regards,

    Muthukumar. S

  • Hi Muthukumar,

    Thanks for sharing the register dump. Can you please also read register 0x45D, 0x608, and 0x60A, 0x60D, and share the value both in good case and bad case. 

    Please also share the schematic for review.

    Thanks,

    David

  • Hello David Creger

    Please find the schematic, 

    I will read and share the register data.

    Note: issue not yet resolved. mistakenly click the resolved option.

    Best Regards,

    Muthukumar. S

  • Hello David Creger,

    Please find the 0x45D, 0x608, and 0x60A, 0x60D register value of the good case

    / # phytool read eth0/0/0
    0x2100
    / # phytool read eth0/0/0x45D
    0000
    / # phytool read eth0/0/0x608
    0000
    / # phytool read eth0/0/0x60A
    0x0100
    / #
    / # phytool read eth0/0/0x60D
    0x401f
    / #

    bad case

    / # phytool read eth0/0/0x45D
    0000
    / #
    / # phytool read eth0/0/0x608
    0x0001
    / #
    / # phytool read eth0/0/0x60A
    0x0100
    / #
    / # phytool read eth0/0/0x60D
    0x401f
    / #

    As per our analysis, In Bad case - sgmii_autoneg_en(0x608) got disabled.

    Any configuration / driver change needs to update for this?

    Kindly check and update.

    Regards,

    Muthukumar. S

  • Hello Muthukumar, 

    David is currently on leave and will respond soon on 7/8. 

    Regards,

    Avtar

  • Hello David Creger

    Any update?

    Regards,

    Muthukumar. S

  • Hi Muthukumar,

    I am not sure the register reads are completed successfully. Note that the requested registers are extended registers, hence the extended register access procedure is required. Can you please read the same registers as above using the following sequence for each one?

    Thanks,

    David