Toybrick

RGA 出错问题

kevin4ch

新手上路

积分
37
楼主
发表于 2022-12-28 12:12:20    查看: 8723|回复: 6 | [复制链接]    打印 | 只看该作者
运行设备:RK3588/8G内存/Linux
当未使用imconfig设置core时 dmesg 错误如下
  1. [173992.207237] rga_mm: RGA_MMU unsupported Memory larger than 4G!
  2. [173992.207265] rga_mm: scheduler core[4] unsupported mm_flag[0x0]!
  3. [173992.207274] rga_mm: rga_mm_map_buffer iommu_map virtual address error!
  4. [173992.207280] rga_mm: job buffer map failed!
  5. [173992.207285] rga_mm: src channel map job buffer failed!
  6. [173992.207287] rga_mm: failed to map buffer
  7. [173992.207295] rga_job: rga_job_commit: failed to map job info
  8. [173992.207306] rga_job: request[30485479] task[0] job_commit failed.
  9. [173992.207311] rga_job: rga request commit failed!
  10. [173992.207315] rga: request[30485479] submit failed!
复制代码



当使用imconfig设置RGA3_CORE0~1时 错误发生概率明显变低,
sdk错误如下
  1. RgaBlit(1465) RGA_BLIT fail: Invalid argument
  2. RgaBlit(1466) RGA_BLIT fail: Invalid argument
  3. fd-vir-phy-hnd-format[0, 0x7ef843da60, (nil), 0, 0]
  4. rect[1232, 180, 48, 192, 1280, 720, 2560, 0]
  5. f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 1]
  6. fd-vir-phy-hnd-format[0, 0x7f7b2a2600, (nil), 0, 0]
  7. rect[0, 0, 48, 192, 48, 192, 2560, 0]
  8. f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 1]
  9. This output the user patamaters when rga call blit fail
  10. srect[x,y,w,h] = [1232, 180, 48, 192] src[w,h,ws,hs] = [48, 192, 1280, 720]

  11. drect[x,y,w,h] = [0, 0, 48, 192] dst[w,h,ws,hs] = [48, 192, 48, 192]

  12. usage[0x80000]
复制代码


dmesg错误已如下
  1. [176527.265504] rga_policy: invalid function policy
  2. [176527.265518] rga_job: job assign failed
  3. [176527.265522] rga_job: failed to get scheduler, rga_job_commit(445)
  4. [176527.265534] rga_job: request[31442396] task[0] job_commit failed.
  5. [176527.265540] rga_job: rga request commit failed!
  6. [176527.265546] rga: request[31442396] submit failed!
复制代码


不太清楚什么原因导致的,有没有大神知道的帮帮忙  谢谢~

回复

使用道具 举报

LeeFree

注册会员

积分
105
沙发
发表于 2023-4-13 22:31:51 | 只看该作者
本帖最后由 LeeFree 于 2023-4-14 17:55 编辑

rga3支持地址在4g以外的缓冲区(rga2不支持),所以切换到rga3后报错变少,至于为什么仍然报错,是因为操作的区域低于最小尺寸需求了,rga3能操作的最小宽度是68.
回复

使用道具 举报

lozenyin

注册会员

积分
89
板凳
发表于 2023-7-7 17:56:11 | 只看该作者
LeeFree 发表于 2023-4-13 22:31
rga3支持地址在4g以外的缓冲区(rga2不支持),所以切换到rga3后报错变少,至于为什么仍然报错,是因为操作 ...

有出现类似的情况了,这次是在RK3566中运行的。
程序的输出日志是
  1. usage[0x80000]
  2. Rga resize: resize error for status: Fatal error: Failed to call RockChipRga interface, query log to find the cause of failure.
  3. RgaBlit(1465) RGA_BLIT fail: Invalid argument
  4. RgaBlit(1466) RGA_BLIT fail: Invalid argument
  5. fd-vir-phy-hnd-format[0, 0x7f7433c010, (nil), 0, 0]
  6. rect[0, 0, 1280, 720, 1280, 720, 2560, 0]
  7. f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 1]
  8. fd-vir-phy-hnd-format[0, 0x7f73ebc010, (nil), 0, 0]
  9. rect[0, 0, 416, 416, 416, 416, 512, 0]
  10. f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 1]
  11. This output the user patamaters when rga call blit fail
  12. srect[x,y,w,h] = [0, 0, 0, 0] src[w,h,ws,hs] = [1280, 720, 1280, 720]

  13. drect[x,y,w,h] = [0, 0, 0, 0] dst[w,h,ws,hs] = [416, 416, 416, 416]
复制代码

内核出现了【[88418.789930] rga2: req argument is inval】的错误。我怀疑是RGA3与RGA2的问题,在RGA3中运行就没有报错,在RGA2中运行报错
回复

使用道具 举报

jefferyzhang

版主

积分
13574
地板
发表于 2023-7-11 11:34:05 | 只看该作者
RGA2只能寻址4G内存空间,他是32bit的。
RGA3没有这个限制。
回复

使用道具 举报

kwcha333

禁止发言

积分
22
5#
发表于 2023-10-17 15:18:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

mix3588

新手上路

积分
8
6#
发表于 2023-11-1 17:53:43 | 只看该作者
请问一下,RGA3怎么升级,我也有类似的问题
回复

使用道具 举报

shivaqiang

注册会员

积分
122
7#
发表于 2024-3-9 09:54:37 | 只看该作者
我也有这个问题,用的rk3568,驱动是RGA multicore Device Driver: v1.2.25,用gstreamer调用mpp调整视频分辨率也偶尔报错。这个代码也不是我们写的呀,如何避免这个问题呢
回复

使用道具 举报

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

本版积分规则

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


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