工具/软件:
你好
在 Linux SDK 中、
只有一个 DMA 通道配置用于 Rx、我们有两个 Mac 端口、CPSW3G 是否分别支持 2 个用于具有两个精子 PSI-L 线程的 Rx 的精子 DMA 通道?
B.R.
长兴斗城
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.
尊敬的长兴:
您能检查一下“ethtool -l 的结果吗 “来查看有多少个 RX 和 TX 通道 可用?
我认为这应该表明 CPSW3G 只能支持 1 个 RX 通道。 但是、我知道 CPSW 有一种称为“RX 流“的方式(Sitara SoC 上每通道最多 16 个流)。 每个流程都有专用的去饱和环和专用 IRQ、这允许 CPSW 硬件将接收到的数据包引向特定的环、从而将特定的 CPU (IRQ 关联性映射到该 CPU)“。
如果您有其他问题、敬请告知。
-道林
您好、长兴
对延迟的回复表示歉意。
您能否查看“ethtool -l “以查看有多少个 RX 和 TX 通道 可用?
您是否能够检查此命令的结果?
我发现 CPSW 预设了最多 8 个 RX 通道、但如果您在 AM64x EVM 上检查“ethtool -l eth0“、则默认情况下、硬件设置为 1 个 RX 通道。 我假设 AM62Px TI EVM 具有类似的结果。
通过一些实验、我可以使用“ethtool -L eth0 rx 8“将硬件设置为 8 个 RX 通道、然后在设置之前确保 eth0 已关闭。 请参阅下面的日志。 我认为这是由于以下补丁: https://lore.kernel.org/all/20240703-am65-cpsw-multi-rx-v3-0-f11cd860fd72@kernel.org/
root@am64xx-evm:~# ethtool -l eth0 Channel parameters for eth0: Pre-set maximums: RX: 8 TX: 8 Other: n/a Combined: n/a Current hardware settings: RX: 1 TX: 8 Other: n/a Combined: n/a root@am64xx-evm:~# ip link set dev eth0 down [ 1030.925065] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down root@am64xx-evm:~# ethtool -L eth0 rx 8 [ 1042.528606] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16 root@am64xx-evm:~# ip link set dev eth0 up [ 1055.718707] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq) [ 1055.718739] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode root@am64xx-evm:~# [ 1058.789119] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - fx root@am64xx-evm:~# ethtool -l eth0 Channel parameters for eth0: Pre-set maximums: RX: 8 TX: 8 Other: n/a Combined: n/a Current hardware settings: RX: 8 TX: 8 Other: n/a Combined: n/a root@am64xx-evm:~# uname -a Linux am64xx-evm 6.12.35-gf462b01e9ac7-dirty #7 SMP PREEMPT_RT Fri Aug 22 14:20:37 CDT 2025 aarch64x root@am64xx-evm:~#
这个多 RX 队列特性是否可以应用于您的用例?
-道林
您好、Changzing、
有一种方法可以在 am62p 中的多个内核之间共享网络流量。 它通过 am62px MCU+ SDK 提供的以太网固件 (EthFw) 支持实现。 我们并不能完全共享 FIFO、而是以 Linux 和 MCAL 都可以访问 CPSW 外设的方式配置 DMA 通道。 但外设通过 wkup-R5 进行控制。
需要考虑一些注意事项。
如果对 EthFw 的支持或功能有任何疑问、请告诉我。
此致、
Teja。