TI 的工程师你们好,我一直在使用C6670上的AIF2模块,但使用到现在一直有一个会不定时出现的问题困扰着我。
当系统负载比较大的时候,AIF2的EE模块会报告 db_ee_i_fifo_ovfl_err , 每次出现这个问题的时候AIF2的接收侧都会丢失符号。(我使用的LTE 20MHZ,CPRI 4x速,符号是我从rx 描述符ps区读到的)。
这个问题我已经在论坛向各位工程师请教了多次,然后做了几次优化,但还是会不定时复现。
以下是部分优化:
1: 提高AIF2 PKTDMA的优先级为0, 其他FFTC, QMSS等修改为1.
2: AIF2 rx描述符放到L2中,tx 描述符放到DDR里,减少内存访问冲突, 且没有其他大访问量数据在L2中
3:增大DB buf的大小,修改为最大值 CSL_AIF2_DB_FIFO_DEPTH_QW256
修改之后确实有效果,但是最近因为项目需要,原来使用了AIF2的一个link, 现在扩大到2个link,数据量翻倍,此时就会出现接收侧的 db_ee_i_fifo_ovfl_err 错误,紧接着就会导致接收符号会丢失,如上一个是100,e这次接收的就变成102了,101整个描述符都丢了。
这个问题是不是在负载大的时候就会出现,还是我有其他没配置好的地方,我感觉L2只是多增加了300M字节的内存访问,应该没有太大影响 . 还有其他可以优化的地方吗?
谢谢各位工程师的回复。

