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.

[参考译文] CPSW9G PSI-L 线程的实际数量和 UDMA 通道使用情况

Guru**** 2463330 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1475994/cpsw9g-actual-number-of-psi-l-threads-and-udma-channel-usage

器件型号:TDA4AH-Q1

工具与软件:

您好、TI:

目前、我们正在不使用当前的 SDK 示例对 CPSW9G 进行配置、但有一些我们无法弄清楚:

  • J784S4的代码和 TISCI 在线文档之间存在差异:
    • PSI-L 线程名称是"navss_main_cpsw5_rx"和"_tx"、而不是"..._cpsw9_..."、
    • 此处 Rx 和 tx 不明确:例如、navss_main_cpsw5_rx、其 ID 为0x4a00至0x4a07、这是从 PSI-L 角度来看的源线程 ID。 因此、RX 代表此线程 ID 应该连接到的 uDMA 通道类型?
    • navss_main_cpsw5_rx 和_tx 的线程 ID 计数与 CSL_PSILCFG_NAVSS_MAIN_CPSW_PSILS_THREAD_CNT 和 CSL_PSILCFG_NAVSS_MAIN_CPSW_PSILD_THREAD_CNT 不匹配(包含在 csl_psilcfg_thread_map.h 下的 soc src 下)

这将引出以下问题:

  • 参考 EthFw 用户指南、在 TX QoS 部分下、它指出它分配并使用6个 TX 通道:这些相对通道 ID 是否基于给定内核的 RM BoardCfg?
  • 参照同一节、它表示:"未标记数据包的优先级 psilThreadId (DMA 通道 ID)"、但从绝对值的角度来看、这两个概念完全不相关、尤其是在涉及多个内核(具有不同的资源分配)时。
  • 参考 《EthFw 用户指南》的 RX QoS 部分下、它提到了连接到不同处理实体的流 ID。 但是、我相信、任何给定的有效 RX 流 ID 都需要以下元素才能正常工作:
    • UDMA RX 通道配有配置的"流量偏移"值和"流量范围"值、
    • 具有 PSI-L 源线程(来自 CPSW9G PSILS 范围)和给定目标线程(在本例中为来自 PSILD 线程的 NAVSS_xxx_UDMAP 范围)的 PSI-L 对操作、
    • 从两侧实时启用 PSI-L 线程。 在这种情况下、我从来没有见过任何函数调用会实时启用 PSILD (在 UDMA 端)线程(必须来自发送实体、对吗?)。
  • 此外、在" Rx 服务质量 "图中显示的流量 ID 似乎都与不同的偏移量相关(图中从0到3、1到5、0、从左到右的0)。
  • 这些因素导致以下问题:
    • EthFw 中配置了多少个实际的 RX uDMA 通道、如果我们规定了一种使用所有资源的场景? 因为在本用户指南中、它只讨论流 ID、而不讨论 RX 信道 .
    • 如果答案是正在配置多个 RX UDMA 通道、策略者/分类器/CPPI 主机端口如何知道通过哪个 RX 通道(即要使用的 PILS 线程)将入口数据从任何给定端口发送到正确的 RX 流量 ID? 策略者明确指出、它们基于 FlowID 来有效地对入口数据包进行分类、但示例中显示的流 ID (对于 J784S4、FlowIdOffset=114、 如此处所示)不是有效的 RX 通道 ID。
    • 在 TRM、SDK 内核或文档中、术语似乎是这样 "主题 ID" "流量标识" 被单独使用且似乎指的是相同的内容(即 uDMA RX 流 ID)、但这一点在任何地方都没有得到确认:您能否验证此假设或使其无效? 请参阅 TDA4AH TRM 的第12.2.2.3.6.1.13.2和12.2.2.3.6.1.13.3.1节。

提前感谢您的回答和抽出宝贵的时间。

此致

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

    您的问题已 分配给 Doredla

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

    您好!

    CPSW9G/CPSW2G 有8个映射到 TX PSIL 线程的 Tx 通道和1个映射到 RX PSIL 线程的 Rx 通道。

    在 Rx 路径中、我们有从 UDMA 映射到 Rx 通道的流量、因此、单个通道足以  使用流将数据转发到服务器和客户端内核。

    [报价 userid="607901" url="~/support/processors-group/processors/f/processors-forum/1475994/cpsw9g-actual-number-of-psi-l-threads-and-udma-channel-usage thread_CNT 和 navss_main_cpsw5_rx 的线程 ID 计数与 csl_psilcfg_thread_map.h 中 CSL_PSILCFG_NAVSS_MAIN_CPSW_PSIL_PSILS_THREAD_CNT 和 CSL_PSILCFG_NAVSS_MAIN_CPSW_PSILD_THREAD_CNT 不匹配、位于 CSL/J784L/ soc 下[ src 报价]

    是的、它看起来是个问题、但除非我们定义的 Tx 通道多于8个、否则不会产生任何影响。

    Unknown 说:
    在 TRM、SDK 核心或文档中、似乎有这些术语 "主题 ID" "流量标识" 被单独使用且似乎指的是相同的内容(即 uDMA RX 流 ID)、但这一点在任何地方都没有得到确认:您能否验证此假设或使其无效? 请参阅 TDA4AH TRM 的第12.2.2.3.6.1.13.2和12.2.2.3.6.1.13.3.1节。

    在 CPSW 上下文中、线程 ID 将根据线程 ID 和流 ID 偏移计算实际流 ID、并将数据转发到映射到 DMA 通道的实际流。

    上述各节定义了线程到分类器的映射以及线程到流 ID 的映射。

    此致、
    Sudheer

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

    您好、Doredla、

    感谢您回答我的问题、我会采取后续行动:

    在 CPSW 上下文中、线程 ID 将根据线程 ID 和流 ID 偏移计算实际流 ID、并将数据转发到映射到 DMA 通道的实际流。

    为确保我理解正确、这是否意味着"Thread ID"因此是"Flow ID 偏移量"相关值、该值将在 CPSW 中用于计算特定策略器所用的绝对流量 ID?例如、如果我们在 P0_FLOAD_ID_OFFSET_REG 寄存器中写入0x64 (100)、在 ALE_THMAPID 寄存器中写入0x5、则将默认流量 ID 转发为未分类的数据包105?

    再次感谢您的帮助。

    此致

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

    您好!

    为确保我理解正确、这是否意味着"Thread ID"因此是"Flow ID 偏移量"相关值、该值将在 CPSW 中用于计算特定策略器所用的绝对流 ID?例如、如果我们在寄存器 P0_FLOAD_ID_OFFSET_DEF 中写入0x64 (100)、则将默认值为已转发到寄存器中的 MAPID[READID_OFFSET_REGLE]、则哪个数据包将是寄存器中的已分类流 ID]

    是的、您的理解是正确的。

    此致、
    Sudheer

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

    感谢你的帮助 Sudheer,我把你的答案标记为解决我的问题!