This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-AM62-LP:am65_cpsw_nuss_resume 失败

Guru**** 2535750 points
Other Parts Discussed in Thread: SK-AM62-LP

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1550740/sk-am62-lp-am65_cpsw_nuss_resume-failed

器件型号:SK-AM62-LP


工具/软件:

尊敬的先生:

 我们将测试暂停并恢复应力测试、 然后我们发现 eth1 可以在 28 次后用“ifconfig eth1 up“点亮。  

然后我们检查 kmsg 信息为 bellow、它报告 am65 cpsw nuss resume 错误。

如何解决? 希望得到您的建议。 谢谢!

 

Aug 05 12:32:05 fvt-5g-tbox kernel: mmc_sdio_resume ++ 
Aug 05 12:32:05 fvt-5g-tbox kernel: FXDEBUG:mmc_pwrseq_simple_pre_power_on++: 2 
Aug 05 12:32:05 fvt-5g-tbox kernel: FXDEBUG:mmc_pwrseq_up_simple_set_gpios_value++ : 1 
Aug 05 12:32:05 fvt-5g-tbox kernel: FXDEBUG:mmc_pwrseq_up_simple_set_gpios_value-- : 1 
Aug 05 12:32:05 fvt-5g-tbox kernel: FXDEBUG:mmc_pwrseq_simple_pre_power_on-- 
Aug 05 12:32:05 fvt-5g-tbox kernel: sh: page allocation failure: order:5, mode:0xc00(GFP_NOIO), nodemask=(null),cpuset=/,mems_allowed=0
Aug 05 12:32:05 fvt-5g-tbox kernel: CPU: 0 PID: 170017 Comm: sh Tainted: G           O       6.6.58-ti #1
Aug 05 12:32:05 fvt-5g-tbox kernel: Hardware name: Texas Instruments AM62x LP SK (DT)
Aug 05 12:32:05 fvt-5g-tbox kernel: Call trace:
Aug 05 12:32:05 fvt-5g-tbox kernel:  dump_backtrace+0x90/0xe8
Aug 05 12:32:05 fvt-5g-tbox kernel:  show_stack+0x18/0x24
Aug 05 12:32:05 fvt-5g-tbox kernel:  dump_stack_lvl+0x48/0x60
Aug 05 12:32:05 fvt-5g-tbox kernel:  dump_stack+0x18/0x24
Aug 05 12:32:05 fvt-5g-tbox kernel:  warn_alloc+0x128/0x1ac
Aug 05 12:32:05 fvt-5g-tbox kernel:  __alloc_pages+0xc18/0xc9c
Aug 05 12:32:05 fvt-5g-tbox kernel:  __dma_direct_alloc_pages.isra.0+0xa8/0x244
Aug 05 12:32:05 fvt-5g-tbox kernel:  dma_direct_alloc+0x20c/0x318
Aug 05 12:32:05 fvt-5g-tbox kernel:  dma_alloc_attrs+0x88/0xfc
Aug 05 12:32:05 fvt-5g-tbox kernel:  k3_cppi_desc_pool_create_name+0xf4/0xe6c [k3_cppi_desc_pool]
Aug 05 12:32:05 fvt-5g-tbox kernel:  am65_cpsw_nuss_init_tx_chns+0x100/0x3b4 [ti_am65_cpsw_nuss]
Aug 05 12:32:05 fvt-5g-tbox kernel:  am65_cpsw_nuss_resume+0x20/0x14c [ti_am65_cpsw_nuss]
Aug 05 12:32:05 fvt-5g-tbox kernel:  pm_generic_resume+0x2c/0x44
Aug 05 12:32:05 fvt-5g-tbox kernel:  ti_sci_pd_resume+0x20/0x2c
Aug 05 12:32:05 fvt-5g-tbox kernel:  __device_resume+0x84/0x230
Aug 05 12:32:05 fvt-5g-tbox kernel:  dpm_resume+0x9c/0x120
Aug 05 12:32:05 fvt-5g-tbox kernel:  dpm_resume_end+0x18/0x30
Aug 05 12:32:05 fvt-5g-tbox kernel:  suspend_devices_and_enter+0x488/0x550
Aug 05 12:32:05 fvt-5g-tbox kernel:  pm_suspend+0x1ac/0x260
Aug 05 12:32:05 fvt-5g-tbox kernel:  state_store+0x80/0xec
Aug 05 12:32:05 fvt-5g-tbox kernel:  kobj_attr_store+0x18/0x2c
Aug 05 12:32:05 fvt-5g-tbox kernel:  sysfs_kf_write+0x44/0x54
Aug 05 12:32:05 fvt-5g-tbox kernel:  kernfs_fop_write_iter+0x120/0x1cc
Aug 05 12:32:05 fvt-5g-tbox kernel:  vfs_write+0x1c0/0x308
Aug 05 12:32:05 fvt-5g-tbox kernel:  ksys_write+0x74/0x10c
Aug 05 12:32:05 fvt-5g-tbox kernel:  __arm64_sys_write+0x1c/0x28
Aug 05 12:32:05 fvt-5g-tbox kernel:  invoke_syscall+0x48/0x114
Aug 05 12:32:05 fvt-5g-tbox kernel:  el0_svc_common.constprop.0+0xc0/0xe0
Aug 05 12:32:05 fvt-5g-tbox kernel:  do_el0_svc+0x1c/0x28
Aug 05 12:32:05 fvt-5g-tbox kernel:  el0_svc+0x2c/0x84
Aug 05 12:32:05 fvt-5g-tbox kernel:  el0t_64_sync_handler+0x120/0x12c
Aug 05 12:32:05 fvt-5g-tbox kernel:  el0t_64_sync+0x190/0x194
Aug 05 12:32:05 fvt-5g-tbox kernel: Mem-Info:
Aug 05 12:32:05 fvt-5g-tbox kernel: active_anon:118 inactive_anon:70386 isolated_anon:0
                                     active_file:2506 inactive_file:1837 isolated_file:0
                                     unevictable:0 dirty:15 writeback:0
                                     slab_reclaimable:2108 slab_unreclaimable:7138
                                     mapped:2771 shmem:214 pagetables:741
                                     sec_pagetables:0 bounce:0
                                     kernel_misc_reclaimable:0
                                     free:2197 free_pcp:0 free_cma:0
Aug 05 12:32:05 fvt-5g-tbox kernel: Node 0 active_anon:472kB inactive_anon:281544kB active_file:10024kB inactive_file:7348kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:110>
Aug 05 12:32:05 fvt-5g-tbox kernel: DMA free:8788kB boost:4096kB min:6508kB low:7108kB high:7708kB reserved_highatomic:2048KB active_anon:472kB inactive_anon:281544kB active_file:10024kB in>
Aug 05 12:32:05 fvt-5g-tbox kernel: lowmem_reserve[]: 0 0 0 0
Aug 05 12:32:05 fvt-5g-tbox kernel: DMA: 1033*4kB (UMEH) 156*8kB (UMEH) 66*16kB (UMEH) 31*32kB (UMEH) 12*64kB (UMH) 3*128kB (H) 1*256kB (H) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 8836kB
Aug 05 12:32:05 fvt-5g-tbox kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
Aug 05 12:32:05 fvt-5g-tbox kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=32768kB
Aug 05 12:32:05 fvt-5g-tbox kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
Aug 05 12:32:05 fvt-5g-tbox kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=64kB
Aug 05 12:32:05 fvt-5g-tbox kernel: 4568 total pagecache pages
Aug 05 12:32:05 fvt-5g-tbox kernel: 0 pages in swap cache
Aug 05 12:32:05 fvt-5g-tbox kernel: Free swap  = 0kB
Aug 05 12:32:05 fvt-5g-tbox kernel: Total swap = 0kB
Aug 05 12:32:05 fvt-5g-tbox kernel: 114688 pages RAM
Aug 05 12:32:05 fvt-5g-tbox kernel: 0 pages HighMem/MovableOnly
Aug 05 12:32:05 fvt-5g-tbox kernel: 23107 pages reserved
Aug 05 12:32:05 fvt-5g-tbox kernel: 0 pages hwpoisoned
Aug 05 12:32:05 fvt-5g-tbox kernel: am65-cpsw-nuss 8000000.ethernet: Failed to create poll -12
Aug 05 12:32:05 fvt-5g-tbox kernel: am65-cpsw-nuss 8000000.ethernet: PM: dpm_run_callback(): ti_sci_pd_resume+0x0/0x2c returns -12
Aug 05 12:32:05 fvt-5g-tbox kernel: am65-cpsw-nuss 8000000.ethernet: PM: failed to resume: error -12

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    1.您使用的是哪个 Linux SDK 版本?

    2.它是在 TI EVM 还是定制电路板上进行测试? TI EVM 上是否是 SK-AM62-LP 板?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Daolin:

     感谢 您的答复。

    1.您使用的是哪个 Linux SDK 版本?

    > Linux 内核版本为 6.6.58

     2.它是在 TI EVM 还是定制电路板上进行测试? TI EVM 上是否是 SK-AM62-LP 板?

    >在我们的定制电路板上进行测试、而不是在 TI EVM 上进行测试

    BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Daolin:

     有好消息吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:  

    对延迟响应表示歉意。

    您是否能够在 TI EVM 上重现此问题?

    您如何测试暂停和恢复? 您能否提供具体的步骤来说明您是如何做到这一点的?

    是否始终正是使 eth1 上升的 28 倍导致此恢复错误?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好;

    >您是否能够在 TI EVM 上重现此问题?

     应该是测试、我们在暂停时卸载 phy 驱动程序、并且 phy 与 EVM 不同(我们使用 Realtek)。

    >  您如何测试暂停和恢复? 您能否提供具体的步骤来说明您是如何做到这一点的?

      正常输入暂停 USD 通过“echo mem >/sys/power/state “,然后唤醒,不同的是我们卸载 phy 驱动程序,然后在恢复后重新加载它。 但它发生了  am65_cpsw_Nuss 温度。  

    >是否总是正 28 次带来 eth1 上升,导致这个恢复错误?

    问题发生的概率相对较低;数字“28"仅“仅代表上一轮测试的次数、以及问题表现未确定时所需的测试次数。

     

    内核调试跟踪消息对此问题不起作用???

    BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、西安

    一些评论。

    这是 MCU LPM 唤醒的正常状态。

    root@am62xx-lp-evm:~# dmesg | grep am65
    [    1.790253] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
    [    1.803129] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [    1.810258] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    1.817153] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [    1.833600] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [    9.479485] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [    9.489096] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [   13.588876] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
    [   94.547203] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [   94.619298] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [   94.628648] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [   94.628673] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [   97.684541] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off

    请在此回调函数 am65_cpsw_nuss_resume () 中再次检查 CPSW 崩溃

    因为一旦 SoC 退出 MCU LPM、它将再次调用此方程式。

    您的驱动程序应该在“am65_cpsw_Nuss_init_tx_chns ()“中崩溃

    static int am65_cpsw_nuss_resume(struct device *dev)
    {
    	struct am65_cpsw_common *common = dev_get_drvdata(dev);
    	struct am65_cpsw_host *host_p = am65_common_get_host(common);
    	struct am65_cpsw_port *port;
    	struct net_device *ndev;
    	int i, ret;
    
    	ret = am65_cpsw_nuss_init_tx_chns(common);
    	if (ret)
    		return ret;
    	ret = am65_cpsw_nuss_init_rx_chns(common);
    	if (ret)
    		return ret;

     

    嗨、Daolin

    我想知道什么可能的重新分配导致“k3_cppi_desc_pool_create_name ()“返回失败了吗?

    在 cpsw bind PHY 驱动程序之前似乎出现内部错误。

    		tx_chn->desc_pool = k3_cppi_desc_pool_create_name(tx_chn->dma_dev,
    								  tx_chn->descs_num,
    								  hdesc_size,
    								  tx_chn->tx_chn_name);
    		if (IS_ERR(tx_chn->desc_pool)) {
    			ret = PTR_ERR(tx_chn->desc_pool);
    			dev_err(dev, "Failed to create poll %d\n", ret);
    			goto err;
    		}

    谢谢你。

    Gibbs

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Daolin

    还有一个问题、需要仔细检查。

    我将一些调试代码放入 am65-cpsw-nuss.c 中、并尝试重新构建内核和相关的以太网驱动程序。

    我发现在替换 Linux 内核和目标板重新启动时“cpsw-proxy-client.ko"后“后、“my stuff debug message“没有出现。

    我怀疑我更换了错误的驱动程序模块。

    请告诉我、在修改  am65-cpsw-nuss 时、哪一个在 rootfs 中是正确的驱动程序文件、需要升级

    谢谢你。

    Gibbs

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gibbs、  

    [报价 userid=“533255" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1550740/sk-am62-lp-am65_cpsw_nuss_resume-failed/6001339

    我发现在替换 Linux 内核和目标板重新启动时“cpsw-proxy-client.ko"后“后、“my stuff debug message“没有出现。

    我怀疑我更换了错误的驱动程序模块。

    [/报价]

    重建 Linux 内核映像和模块时、是否确保将所有模块安装到 rootfs(以及复制到新构建的映像上?)。 我将确保所有模块都已安装、而不仅仅是单个“cpsw-proxy-client.ko"。“。

    如果它更改为 am65-cpsw-nuss.c、则我期望安装等效模块(很可能是“am65-cpsw-nuss.ko")“)。

    我是否知道可能的重新分配会导致“k3_cppi_desc_pool_create_name ()“返回失败?

    根据“am65-cpsw-nuss 8000000.ethernet:failed to create poll –12"消息“消息、返回内核错误代码为表示“内存不足“-很可能是由于系统无法为 CPSW CPPI(CPSW 内部主机端口)描述符分配内存。  

    我正在内部检查 cpsw 挂起和恢复应该如何运行、以及 am65-cpsw-nuss-resume 函数是否可能存在一些问题。 我计划明天回来提供更新。 如果您明天没有收到回复、请致电本主题。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    附加问题:进入暂停模式后唤醒系统的具体步骤是什么?

    通过“echo mem >/sys/power/state “、然后唤醒
    、正常输入暂停 USD

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gibbs、  

    关于驱动程序替换、这是一个双重检查、 因为 在 Linux buid 成功后我找不到“am65-cpsw-nuss.ko"

    为了澄清一下、am65_cpsw_Nuss 驱动程序是内置内核还是内置为内核配置中的模块? 如果它是内置的、则应该编译为“am65-cpsw-nuss.o",“,而、而不是“am65-cpsw-nuss.ko"。“。  

    例如、当我对 am65_cpsw_nuss.c 进行简单更改时、当我进行编译并且内核中内置了驱动程序时、可以看到以下内容。  

    $~/ti-processor-sdk-linux-rt-am62xx-evm-10.01.10.04/board-support/ti-linux-kernel-6.6.58+git-ti-rt$ git diff
    diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
    index a8b5c137c..bfb17dcbf 100644
    --- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
    +++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
    @@ -3671,6 +3671,8 @@ static int am65_cpsw_nuss_resume(struct device *dev)
        struct net_device *ndev;
        int i, ret;
    
    +    printk("DEBUG_DQ: am65_cpsw_nuss_resume\n");
    +
        ret = am65_cpsw_nuss_init_tx_chns(common);
        if (ret)
            return ret;
    $~/ti-processor-sdk-linux-rt-am62xx-evm-10.01.10.04/board-support/ti-linux-kernel-6.6.58+git-ti-rt$ 
    
    $~/ti-processor-sdk-linux-rt-am62xx-evm-10.01.10.04/board-support/ti-linux-kernel-6.6.58+git-ti-rt$ make -j20 ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image
     CALL  scripts/checksyscalls.sh
     CC   drivers/net/ethernet/ti/am65-cpsw-nuss.o
     AR   drivers/net/ethernet/ti/built-in.a
     AR   drivers/net/ethernet/built-in.a
     AR   drivers/net/built-in.a
     AR   drivers/built-in.a
     AR   built-in.a
     AR   vmlinux.a
     LD   vmlinux.o
     OBJCOPY modules.builtin.modinfo
     GEN   modules.builtin
     MODPOST vmlinux.symvers
     UPD   include/generated/utsversion.h
     CC   init/version-timestamp.o
     LD   vmlinux
     NM   System.map
     SORTTAB vmlinux
     OBJCOPY arch/arm64/boot/Image
     
    $~/ti-processor-sdk-linux-rt-am62xx-evm-10.01.10.04/board-support/ti-linux-kernel-6.6.58+git-ti-rt$ make -j20 ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" modules
     CALL  scripts/checksyscalls.sh
     MODPOST Module.symvers
    

    重复测试后、此问题似乎仅在定制的电路板中发生、而不是 AM62-LP-EVM

    您是否能够在内核 6.12 或 SDK 11.1(最新 SDK)上进行测试?

    此外、发生错误时、CPSW 以太网是否连接到另一个器件?

    在内部、我们认为这是一个 DMA 分配问题、如 k3_cppi_desc_pool_create_name 函数的调用跟踪失败所示。 但我们需要一种重新创建问题的方法来进一步调试。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    然后我们检查 kmsg 信息为 bellow、它报告 am65 cpsw nuss resume error。

    另外、您能否共享完整的错误日志、它在开始时看起来是切断的。

     它应该是测试的、我们在暂停时卸载 phy 驱动程序、且 phy 与 EVM 不同(我们使用 Realtek)。

    此外、您能否具体分享卸载 phy 驱动程序所意味的内容。 您能否准确分享所使用的步骤、包括 如何从低功耗模式唤醒?

    具体来说、为什么要手动启动以太网接口? 如果您有器件通过以太网连接到定制电路板、并且在恢复后正确初始化 CPSW 以太网、则应该会自动启动。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    更新此问题。

    我不确定原因,问题似乎已解决

    但似乎是“无效的版本幻数“的问题。

    您不会使用 SDK 构建。

    请参见

     AM620-Q1:替换 Linux 模块驱动程序后的版本幻数无效 

    我现在可以看到日志。

    root@am62xx-lp-evm:~# dmesg | grep Gibbs
    [    1.715360] [Gibbs] Hello, world! am65-cpsw-nuss
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gibbs、  

    为了进行澄清、您说的 am65_cpsw_Nuss_resume 问题已解决? 如果是、您能否详细说明最终解决该问题的方法?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Daolin。

    对不起,我错了。

    该线程有两个问题。

    (1)  驱动程序更换。 (am65-cpsw-nuss)

    此问题已解决、我认为这是环境设置(build?!) 我这边的问题。

    我已经确定 am65-cpsw-nuss () 内核内置,而不是驱动程序模块。

    我发现我使用“手动内核“构建,并且 am65-cpsw-nuss () 中的任何更改都将在替换内核映像后生效。

    因为我想调试 CPSW 问题、所以我遇到了这个额外问题。

    参考

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_01_10_04/exports/docs/linux/Foundational_Components_Kernel_Users_Guide.html#正在准备构建

    host# export CROSS_COMPILE_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-"
    host# export SYSROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux"
    host# export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
    host# export CROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"
    host# make Image

    (2) am65-cpsw-nuss() 恢复失败。

    客户反馈、问题“应该解决“。

    客户使用 Realtek T1 PHY 驱动程序、其自定义以太网驱动程序代码中似乎存在一些问题(内存分配/释放)。  

    到目前为止、我不知道“CPSW 内部主机端口(驱动程序) “和“以太网 phy 驱动程序代码“之间有任何详细的崩溃原因

    但是、一旦以太网 PHY 驱动程序因存储器问题而崩溃、似乎就存在 CPSW 恢复的潜在风险。

     

    非常感谢

    Gibbs

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Gibbs、  

    感谢您的澄清。

    [报价 userid=“533255" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1550740/sk-am62-lp-am65_cpsw_nuss_resume-failed/6014386

    我已经确定 am65-cpsw-nuss () 内核内置,而不是驱动程序模块。

    我发现我使用“手动内核“构建,并且 am65-cpsw-nuss () 中的任何更改都将在替换内核映像后生效。

    [/报价]

    是的,手动内核构建实际上是我每次调试时使用的,我通常发现它提供的控制比“make Linux“方法更多。

    [quote userid=“576780" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1550740/sk-am62-lp-am65_cpsw_nuss_resume-failed/6009464

    您是否能够在内核 6.12 或 SDK 11.1(最新 SDK)上进行测试?

    此外、发生错误时、CPSW 以太网是否连接到另一个器件?

    [quote userid=“576780" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1550740/sk-am62-lp-am65_cpsw_nuss_resume-failed/6009668

    另外、您能否共享完整的错误日志、它在开始时看起来是切断的。

     应该是测试、我们在暂停时卸载 phy 驱动程序、并且 phy 与 EVM 不同(我们使用 Realtek)。

    此外、您能否具体分享卸载 phy 驱动程序所意味的内容。 您能否准确分享所使用的步骤、包括 如何从低功耗模式唤醒?

    具体来说、为什么要手动启动以太网接口? 如果您有器件通过以太网连接到定制电路板、并且在恢复后正确初始化 CPSW 以太网、则应该会自动启动。

    [/报价]

    此外、这些问题是否可以得到解答? 尤其是在最新的 SDK(内核 6.12)上可以进行相同的测试时、呢? 根据我的理解、我特别对暂停和恢复功能进行了几项更改、这些更改可能在最新的 SDK 中更加最新。

    -道林