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.

[参考译文] TDA4VH-Q1:CPSW9g 中断

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1454190/tda4vh-q1-cpsw9g-interrupt

器件型号:TDA4VH-Q1

工具与软件:

#1。 CPSW9g 有一个 Tx 和一个 Rx 中断、但有9个端口、如果使用8 MAC 模式、它可以为每个端口实现8个单独的 TX 和 RX 中断吗?  

#2。 如果所有端口共享相同的 Tx 和 Rx 中断、它如何区分上行端口上的每个端口数据?

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

    您好!

    [quote userid="35100" url="~/support/processors-group/processors/f/processors-forum/1454190/tda4vh-q1-cpsw9g-interrupt。 CPSW9g有一个 Tx 和一个 Rx 中断

    CPSW9G 的 TX 和 Rx 中断来自 uDMA。
    CPSW 最多可支持8个 Tx 通道和多个 Rx 流。 默认  启用8个 Tx 通道和1个 Rx 流。

    [报价用户 id="35100" url="~/support/processors-group/processors/f/processors-forum/1454190/tda4vh-q1-cpsw9g-interrupt ]#2。 如果所有端口共享同一个 Tx 和 Rx 中断、它如何区分上行端口上的每个端口数据?[/QUOT]
    每个 CPSW 端口在网络堆栈中都有单独的 netdev 注册、请参阅" am65_cpsw_nuss_register_ndevs " API。 

    TX 路径接口连接到端口、这些是定向流量、数据包将从该端口发送。
    在 Rx PATH 中、CPSW 接受数据包(根据描述符标头信息)、将在驱动器中获取端口号并映射到要提交给应用程序的相应端口 ndev。

    有关更多详细信息、请参阅  

    Rx 数据包: 
    am65_cpsw_nuss_rx_packets ()从 am65-cpsw-nuss 驱动程序进行 Rx 数据包处理、并提交到网络堆栈。 

    TX 数据包:

    am65_cpsw_nuss_ndo_slave_xmit ()从 am65-cpsw-nuss 驱动程序进行 Tx 数据包处理、并提交到 DMA。 


    此致、
    Sudheer

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

    尊敬的 Sudheer:

    CPSW9G 的 Tx 和 Rx 中断来自 uDMA

    那么、只有一个中断吗? 还是可以有多个?

    从这篇文章中、CPSW-3G 使用 VLAN 标记来区分端口、对 CPSW9g 是否相同?

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1336076/sk-am62-how-to-know-eth0-interrupts

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

    您好!

    [报价 userid="35100" url="~/support/processors-group/processors/f/processors-forum/1454190/tda4vh-q1-cpsw9g-interrupt/5578957 #5578957"]
    CPSW9G 的 TX 和 Rx 中断来自 uDMA

    那么、只有一个中断吗? 还是可以有多个?

    [报价]

    根据上述8个 Tx 通道-> 8个 Tx 中断、1个 Rx 流程-> 1个 Rx 中断、该序列可以是多个。

    从这篇文章中、CPSW-3G 使用 VLAN 标记来区分端口、对 CPSW9g 来说是否相同?

    否、如上所述、主机端口会在 uDMA 描述符中的 Tx 数据包信息中添加端口信息。
    使用上面的、我们可以确定数据包来自哪个外部端口。

    此致、
    Sudheer

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

    你(们)好

    关于 Rx。 在 rx_poll 函数中、驱动程序可以通过获取数据的 port_id DESC_Rx . DMA 数据已经传输端口信息。 我还有其他问题
    1、cpsw9g 有八个端口,端口是否共享一个 DMA 通道以将数据传输到 ringbuffer。 八个端口是否共享一个环状缓冲器。
    2.网络协议是直接访问 ringbuff 数据还是复制 ringbuff 数据一次,然后释放 ringbuff。

    谢谢

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

    您好!  

    驱动程序可通过获取数据的 port_id DESC_Rx . DMA 数据已经传送端口信息[/QUOT]

    是从描述符驱动程序获取端口信息。  

    1、cpsw9g 有八个端口、这些端口是否共享一个 DMA 通道以将数据传输到 ringbuff。 八个端口是否共享一个 ringbuffer

    来自外部8个端口的数据将位于内部 主机端口 Tx FIFO 上、从主机到它将通过 DMA 到达驱动器。  

    是的、所有8个端口信息都将通过相同的环形缓冲器和相同的 DMA 通道传递。  

    2. 网络协议是直接访问 ringbuff 数据还是复制 ringbuff 数据一次然后释放 ringbuff

    驱动程序将在复制到 skb 缓冲区后释放环缓冲区以进行网络访问。  

    环形缓冲区不会共享给网络堆栈。  

    此致、  

    Sudheer

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

    你(们)好

    Tx 的更多信息

    我发现驱动程序(SDK 10.00.00.08)请求8 common->txchns。
    每个端口都有自己的 TX_CHN。 这是否意味着他们有自己的 DMA 通道和振铃缓冲器? 共享同一个通道。

    我们公司基于 SDK 09.01.00.06开发。 驱动器仅请求 TX 通道、 这意味着它们也共享一个振铃缓冲器

    谢谢

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

    您好!

    我发现驱动程序(SDK 10.00.00.08)请求8 common->txchns。
    每个端口都有自己的 TX_CHN。 这是否意味着他们有自己的 DMA 通道和振铃缓冲器? 不共享同一信道。[/QUOT]

    有。 8个 Tx 通道、具有自己的环形缓冲区、但都复制到同一主机端口 Rx FIFO。
    抱歉、通道选择基于从网络堆栈传递的软件队列。 驱动程序将向网络堆栈注册8个软队列。
    我们可以将软队列映射到优先级、并为特定通道选择特定的优先级。

    如果从多个端口发送相同的优先级、则所有这些都将使用相同的环形缓冲区通过相同的 Tx 通道发送到主机端口 Rx、即每个端口可以根据数据包优先级从所有8个 Tx 通道发送数据。

    TX 描述符信息保存端口号、主机端口使用该端口号将数据包传输到相应端口。
    更多详细信息、请参阅 slave_xmit API。

    我们公司基于 SDK 09.01.00.06开发。 驱动程序仅请求 TX 通道、 这是否意味着它们也共享 ringbuffer/quote]

    是、即使在 Tx 侧、默认也会启用1个通道。
    如果需要、可以使用 ethtool -L 选项更改 Tx 通道的节点。
    有关查询/设置通道的更多详细信息、请参阅 SDK 文档。
    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j7200/10_00_07_03/exports/docs/linux/Foundational_Components /内核/ Kernel_Drivers Network05/CPSW2g.html#interrupt-bacing

    查询频道:
    # ethtool-l DEVNAME

    设置通道:
    # ethtool -L DevName


    此致、
    Sudheer

    [/quote]
x 出现错误。请重试或与管理员联系。