您好、香榭丽舍
客户告知在 ti_k3_dsp_remoteproc.c/ti_k3_r5_remoteproc.c 中、当这些驱动程序使用邮箱发送消息时、他发现 Linux 内核代码中存在错误。
他怀疑 TI 为什么没有 这个问题。

谢谢。
Rgds
闪亮
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.
您好、香榭丽舍
客户告知在 ti_k3_dsp_remoteproc.c/ti_k3_r5_remoteproc.c 中、当这些驱动程序使用邮箱发送消息时、他发现 Linux 内核代码中存在错误。
他怀疑 TI 为什么没有 这个问题。

感谢您的回复、 非常感谢您的回复。
在深入了解 邮箱框架和 K3 rproc 驱动程序后,我发现确实可以使用 TI。
重点是:TI 只使用 无符号长整型发送 VQID 数据, 在邮箱的控制器驱动程序中,它将直接将数据提供给邮箱发送寄存器。 但在我们的芯片中、我们的邮箱与 ARM pl320配合使用、邮箱发送的数据 FIFO 为7。 因此、我们使用了一个包含 msg[7]的数组进行发送。 然后,在邮箱控制器的 SEND_DATA 函数上,再次使用 msg 点读取数据,从而出现问题。 msg[7]等引用 不能与 局部 val 一起使用。
再次感谢 shine。
我认为将来如果 TI 不仅要发送一个 VQID,而且要像邮箱那样发送更多的 VQID,可能也会出现此问题。
Shine、Jukoo、您好
TI K3 R5F/DSP remoteproc 驱动程序及其对 OMAP 邮箱驱动程序的邮箱使用没有问题。 邮箱子系统 API 语义使用指针、并由相应的平台邮箱驱动程序正确转换/推迟。 因此,行为取决于邮箱平台驱动程序及其客户程序。
OMAP 邮箱驱动程序经过优化、可直接使用指针值作为有效载荷。 这就消除了必须使用指针的所有生命周期管理以及在邮箱客户程序和邮箱驱动程序之间传递所有权的问题。
此致
Suman