ZHDA076A March   2026  – March 2026 AM68A , AM69A , TDA4VM

 

  1.   1
  2.   摘要
  3.   商标
  4. 1TDA4VH 内的数据移动
    1. 1.1 通用总线架构子系统 (CBASS)
    2. 1.2 导航器子系统 (NAVSS)
      1. 1.2.1 NAVSS 北桥 (NB)
    3. 1.3 多核共享内存控制器 (MSMC)
  5. 2服务质量 (QoS)
    1. 2.1 NAVSS0
      1. 2.1.1 NAVSS0 北桥
        1. 2.1.1.1 正常流量与实时流量的区别
    2. 2.2 多核共享内存控制器 (MSMC)
    3. 2.3 DDR 子系统 (DDRSS)
      1. 2.3.1 MSMC2DDR 桥接器
      2. 2.3.2 服务等级 (CoS)
    4. 2.4 QoS 摘要
  6. 3案例研究:显示同步丢失问题
    1. 3.1 问题说明
    2. 3.2 设置和重新创建
      1. 3.2.1 要求
        1. 3.2.1.1 RTOS 补丁
          1. 3.2.1.1.1 0001-vision_apps-Remove-the-DSS-application-from-MCU2_0.patch
          2. 3.2.1.1.2 0002-vision_apps-Remove-display-use-from-the-AVP-demo.patch
        2. 3.2.1.2 Linux 补丁
          1. 3.2.1.2.1 0001-arm64-dts-ti-k3-j784s4-vision-apps-Re-enable-DSS-for.patch
      2. 3.2.2 主机设置
      3. 3.2.3 目标设置
      4. 3.2.4 重新创建
    3. 3.3 调试 QoS
      1. 3.3.1 CPTracer
        1. 3.3.1.1  设置
        2. 3.3.1.2  分析吞吐量
        3. 3.3.1.3  分析延迟
        4. 3.3.1.4  分析事务
        5. 3.3.1.5  分析相关路由
        6. 3.3.1.6  分析 DSS 吞吐量
          1. 3.3.1.6.1 理论 DSS 吞吐量
          2. 3.3.1.6.2 正常 DSS 吞吐量
          3. 3.3.1.6.3 AVP 演示运行时的 DSS 吞吐量
        7. 3.3.1.7  分析 DSS 延迟
        8. 3.3.1.8  分析 C7x 吞吐量
        9. 3.3.1.9  分析 C7x 吞吐量与 DSS 延迟
        10. 3.3.1.10 分析 C7x_4 内核事务
      2. 3.3.2 编辑 QoS 设置
        1. 3.3.2.1 编辑顺序 ID
          1. 3.3.2.1.1 DSS 顺序 ID
          2. 3.3.2.1.2 C7x 顺序 ID
        2. 3.3.2.2 NRT 和 RT 路由
          1. 3.3.2.2.1 U-Boot 中的 NRT 和 RT 路由
        3. 3.3.2.3 编辑优先级
          1. 3.3.2.3.1 DSS 优先级
          2. 3.3.2.3.2 C7x 优先级
      3. 3.3.3 编辑 CoS 映射
        1. 3.3.3.1 CoS 映射寄存器
        2. 3.3.3.2 检查 CoS 映射
    4. 3.4 修复 DSS 同步丢失问题
      1. 3.4.1 重新映射 C7x_4 内核事务
        1. 3.4.1.1 ti-u-boot-2023.04
        2. 3.4.1.2 ti-u-boot-2025.01
      2. 3.4.2 遵守所有优先级
        1. 3.4.2.1 ti-u-boot-2023.04
        2. 3.4.2.2 ti-u-boot-2025.01
  7. 4总结
  8. 5参考资料
  9. 6修订历史记录
DSS 优先级

DSS 包含两个可能的事务优先级:MFLAG 事务的高优先级和非 MFLAG 事务的低优先级。MFLAG 机制允许 DSS 在其 DMA 读取缓冲区接近下溢时提高其流量的优先级。

表 3-10 DSS 优先级寄存器
寄存器

地址

字段

说明

DSS_DISPC_0_COMMON_M_DSS_CBA_CFG

0x04A000A4

5:3

PRI_HI

PRI_HI 总线上从 DSS 发送到 CBA 的值用于指示高优先级 [MFLAG] 事务的优先级。值 0x0 表示最高优先级 值 0x7 表示最低优先级

DSS_DISPC_0_COMMON_M_DSS_CBA_CFG

0x04A000A4

2:0

PRI_LO

PRI_LO 总线上从 DSS 发送到 CBA 的值用于指示正常 [非 MFLAG] 事务的优先级。值 0x0 表示最高优先级 值 0x7 表示最低优先级

用于设置 DSS 优先级的代码可在其 Linux 驱动程序 (drivers/gpu/drm/tidss/tidss_dispc.c) 中找到。此代码将 MFLAG 事务的优先级设置为 0,将非 MFLAG 事务的优先级设置为 1。

...

        u32 cba_lo_pri = 1;
        u32 cba_hi_pri = 0;

        dev_dbg(dispc->dev, "%s()\n", __func__);

        REG_FLD_MOD(dispc, DSS_CBA_CFG, cba_lo_pri, 2, 0);
        REG_FLD_MOD(dispc, DSS_CBA_CFG, cba_hi_pri, 5, 3);

...