文档开发者中心
我的

VCODEC syscache 验证方法

背景:


    CPU  有L1 cache L2 cache、L3 cache IP 与CPU 可以共用;这些cache 的存取速率 L1  >L2 > L3远大于 ddr。同时IP 内部也存在RAM,比如 VDEC、VENC 都有片内的RAM。
   在phoenix 平台开始,为了降低成本(可以将各个IP内部的ram 裁剪掉,sc作为一个单独的IP 可以共享复用内存)与提高访存的速率加入了这一个模块;SC 可以作为cache 可以作为buffer

环境要求:
    (1)SC 的patch
    (2)VDEC/VENC 可以正常工作的 软件版本与环境

一、带sc buffer的申请
  用例态,在申请buffer的时候带上 gid 的flag

   内核态,申请物理页面、map IOVA地址、释放物理页面、三个地方都需要传入gid



二、带sc buffer的 释放:
   在用户态,正常流程释放即可
   在内核态,释放的时候,需要带gid释放;

三、功能验证
     需要关注几个点:
   (1)VDEC/VENC IP是否命中了SC,在Baltimore 是读取了adb shell ecall reg_read_u32 0xfe408028,后续可能寄存器会有变化,与SC 联调同事沟通索取;
   (2)VDEC/VENC 业务是否正常;

四、VDEC partial as full 通路验证
      sc 的cacheline 为128byte、读取的最小粒度是64byte。其中:
      (1)IP 写内存指令一般总线都会做64byte对齐后,才会下发;
      (2)IP读内存指令 一般不做对齐
        如果IP 访问SC取数据时发出去的取指令的数据量的大小不满64byte,SC 会从ddr 里多读出一些byte 对齐到64byte,load 到sc中。partial as full 功能为 SC 感知到 IP MASTRE 发出的访存非64byte对齐,SC将不对齐的部分,在SC中直接补0,不读ddr,从而节省带宽;
        配置方法:
        (1)MASTER 将 partial as full 信号传导SC ,SMMU V2 时,此信号在 smmu comm中配置:


       在V3 smmu 将此信号移除,需IP自己携带随路信号,


        (2)MASTER 发出非64byte 对齐的访存指令,一般是小分辨率的码流
       
       验证方法:
      合入SC 同事的 PMU patch,设置PMU 事件,使用PMU监测,对应的事件有event 与业务正常即可


by HW-DQ

点赞
9
收藏
9
回复
10
分享
举报
浏览2109 编辑于2020-07-29 10:46未知归属地
全部评论
最多点赞
最新发布
最早发布

楼主继续加油啊,我先闪了


10楼回复于2019-08-06 08:14 未知归属地

沙发抢一个, 支持~~~


9楼回复于2019-08-06 07:57 未知归属地

飘过,烧纸,点蜡,上香,没动静;


8楼回复于2019-08-06 06:54 未知归属地

微微一顶以表敬意。。。


7楼回复于2019-08-06 05:46 未知归属地

楼主继续加油啊,我先闪了


6楼回复于2019-08-06 05:40 未知归属地

飘过,烧纸,点蜡,上香,没动静;


5楼回复于2019-08-02 18:35 未知归属地

我是一名运营人员,希望能跟小伙伴们一起成长


4楼回复于2019-08-02 18:07 未知归属地

你怎么不早说怎么不早说啊


3楼回复于2019-08-02 17:55 未知归属地

沙发抢一个, 支持


2楼回复于2019-08-02 17:16 未知归属地

已收藏,感谢

1楼回复于2019-07-30 07:12 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。