This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TDA2:有关 vm-exp 的问题

Guru**** 2539500 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/737370/linux-tda2-question-about-vmem-exp

器件型号:TDA2

工具/软件:Linux

大家好、TI 专家、  

我在 VISION SDK 3.04.00中使用 Linux 用例(OV490 3D srv )。

现在我的问题是、仅显示输出 tex[0]、tex[3]、tex[1]和 tex[2]与 tex[1]、tex[3]相同。

我在 vmem-exp.c (内核驱动程序)中发现,vmem_export_single 函数会导出 2个视频 虚拟地址(__LW_AT__,例如0xa7a2b000、0xa7a2b500)

一个相同的 dmafd。 看起来像 PAGE_MASK (4K 对齐)屏蔽偏移(0x500)。  

如果是这样,GPU 如何映射正确的物理地址?  我的意思是,同一个 dmaafd 获得2个不同的地址(例如 YUV 0xa7a2b000、0xa7a2b500)?

此致、  

John

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    这是 Linux 中的标准 Linux 限制。

    DMABUF 只能用于从内核中导出特定页面

    对于 GPU、最可能的情况是、以下选项之一应该起作用

    -只需通过一个 abuf、GPU 便可根据 Y 的大小找出 UV 偏移

    -为 Y 和 UV 传递相同的 abuf 并提供偏移值

    此致、

    Nikhil D

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Nikhil
    感谢您的回复。
    "-为 Y 和 UV 传递相同的 abuf 并提供偏移值"
    在 Vision SDK SGX 驱动程序中,我找不到 System_eglWindowGetTextYuv()中提供的偏移值。
    对于帧缓冲区,如下所示:
    Y1 Y2
    UV1 UV2
    只能结算 Y1和 UV1、Y2和 UV2丢失。
    您能给我更多关于失调电压处理的提示吗?
    此致、
    John
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    John、您是否仍然面临这个问题? 我要关闭此主题。