rockchip-linux / mpp

Media Process Platform (MPP) module
468 stars 156 forks source link

mpp_buffer_get #489

Open zhy2017 opened 6 months ago

zhy2017 commented 6 months ago

在新的6.1内核上 mpp_buffer_get DMA出错 1702537053344 1702537016095

HermanChen commented 6 months ago

如 log,打开 dma-heap 失败,确认下权限

zhy2017 commented 6 months ago

权限是有的,新的6.1内核上少了几个dma_heap设备,有官方提供的修改过6.1内核代码的内核吗

nyanmisaka commented 6 months ago

RK的6.1内核正式版应该还没发布吧,现在能下载到的应该是几个月前的develop,里面的的dma_heap还没完工。

https://github.com/rockchip-linux/mpp/blob/ed377c99a733e2cdbcc457a6aa3f0fcd438a9dff/osal/mpp_runtime.cpp#L89

非要用的话mpp这里得改下了。

    allocator_valid[MPP_BUFFER_TYPE_DMA_HEAP] = !access("/dev/dma_heap/system-dma32", F_OK | R_OK) ||
                                                !access("/dev/dma_heap/system-uncached", F_OK | R_OK) ||
                                                !access("/dev/dma_heap/system-uncached-dma32", F_OK | R_OK);
zhy2017 commented 6 months ago

就是还没完工,我按照5.10的dma_heap在6.1上改了一个出来还是报错

zhy2017 commented 6 months ago

1702630289307 看着还是dma_heap有问题

zhy2017 commented 6 months ago

修改 allocator_valid[MPP_BUFFER_TYPE_DMA_HEAP] = !access("/dev/dma_heap/system-dma32", F_OK | R_OK) || !access("/dev/dma_heap/system-uncached", F_OK | R_OK) || !access("/dev/dma_heap/system-uncached-dma32", F_OK | R_OK);之后还是一样的报错