Toybrick

多线程调用RGA出现错误,导致程序崩溃

15992605143

中级会员

积分
303
楼主
发表于 2019-12-9 19:30:15    查看: 8297|回复: 2 | [复制链接]    打印 | 只看该作者
[54858.485187] rga: Rga sync pid 672 wait 1 task done timeout
[54858.485220] rga: interrupt = 700 status = 1
Dec  9 03:39:50 rk1808 user.err kernel: [54858.485187] rga: Rga sync pid 672 wait 1 task done timeout
Dec  9 03:39:50 rk1808 user.err kernel: [54858.485220] rga: interrupt = 700 status = 1
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485238] rga2: src : aw = 20 ah = 16 stride = 960 format is 2
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485251] rga2: dst : aw = 288 ah = 230 stride = 216 format is 2
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485259] rga2: rga2 CMD
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485270] rga2: 00000000 00028012 00087924 00156986
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485282] rga2: 001a6986 00000000 000003c0 000f0013
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485293] rga2: 10f20000 10c40000 00000000 00000000
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485304] rga2: 00000000 00000000 00000012 00000000
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485315] rga2: 000102c0 00014370 000000d8 00e5011f
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485326] rga2: 00000000 00000000 0000ff00 ffffffff
Dec  9 03:39:50 rk1808 user.debug kernel: [54858.485338] rga2: 00000007 00000000 00000000 00000101

回复

使用道具 举报

jefferyzhang

版主

积分
13580
沙发
发表于 2019-12-10 09:10:06 | 只看该作者
本帖最后由 jefferyzhang 于 2019-12-10 09:11 编辑

多线程你rga也要有多个实例多个context。
RGA崩溃99%是你自己代码逻辑有问题,好好检查下送给rga的指针代码逻辑是否正确,
DMA搬运可不会给你检查虚拟地址,给什么就搬什么。

回复

使用道具 举报

15992605143

中级会员

积分
303
板凳
 楼主| 发表于 2019-12-10 12:06:43 | 只看该作者
我是使用了多个实例,请问系统中,最多支持多少个rga实例。
另外我的程序里,从头到尾的处理过程中,有3个线程会访问到某一特定rga实例。但我确保同一时间,只有一个线程访问该rga。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表