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/AM5728:最坏的不工作

Guru**** 2563300 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/607788/linux-am5728-dmatest-not-working

器件型号:AM5728

工具/软件:Linux

大家好、

我想在 Linux 下测试 EDMA。

但内核内部似乎没有 EDMA 测试程序。

因此、我使用了 /Documentation/dmatest.txt 作为最成熟的产品

如下所示:

烟味最重的
echo dma0chan0 >/sys/module/dmatest/parameters/channel
Echo 2000 >/sys/module/dmatest/parameters/timeout
Echo 1 >/sys/module/dmatest/parameters/iterations
Echo 1 >/sys/module/dmatest/parameters/verbose
Echo 1 >/sys/module/dmatest/parameters/run 

但没有任何输出。

CAT /sys/module/dmatest/parameters/run
N

它似乎是最坏的。 请帮帮我。 谢谢!


BR、

丹尼

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

    您使用的是哪款 SDK?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用了 ti-processor-sdk-linux-am57xx-evm-03.03.00.04
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    让我尝试一下、看看我是否会重现您的问题。

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

    Yordan、您好!

    此问题是否有任何进展?

    谢谢!

    BR、
    丹尼

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

    Yordan、您好!

    您对此问题是否有任何更新? 谢谢!

    BR、
    丹尼

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

    我在上一个 SDK 上进行了测试

    PROCESSOR-SDK-LINUX-AM57X 04_00_00_04

    它是相同的。

    请就此提供帮助吗? 谢谢!

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

    我不得不转移到其他任务。 我在我的一侧测试了这个、它是相同的。 我还没有解决方案。

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

    Yordan、您好!

    客户希望在 Linux 操作系统下使用 EDMA 将数据从 PCIe 传输到 DDR。

    我想为此修改 dmatest。 如果 dmatest 不工作。 您对此有其他建议吗? 谢谢!

    BR、
    丹尼

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

    dmatest.c 代码旨在用作示例。 系统测试使用 dmatest 丢弃测试用例、因为它是在内部开发的、需要使用内核版本进行修改。 DMA 测试现已嵌入到加密性能测试中。 启用 EDMA 后、如果 Crypto 性能值较低、则表示 DMA 不起作用。 我正在尝试从系统测试中收集有关 DMA 测试的更多信息、但客户应该能够使用 dmatest.c 作为示例。

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

    尊敬的 Rex:

    我想在 Linux 下为客户提供一个可用的 EDMA 演示。 请就此提供帮助吗? 谢谢!

    BR、
    丹尼

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

    系统测试验证 EDMA 工作的方式是通过 Crypto 性能测试、该测试显示 EDMA 中断(EDMA_ccint)在测试完成后会增加。 日志如下所示。 未使用通用 dmatest、已从顶层编译中删除。 我为此提交了一份 JIRA。

    CAT /proc/interrupts
    CPU0 CPU1
    17: 0 0 CBAR 32级 GP_TIMER
    18: 0 0 GIC-029电平 ARCH_TIMER
    19: 841795 2172460 GIC-030电平 ARCH_TIMER
    22: 0 0 CBAR 4级 L3-dbg-IRQ
    23: 0 0 WUGEN 10级别 L3-APP-IRQ
    25: 1 0 CBAR 232电平 dra7xx-PCIe-main
    26: 0 0 CBAR 233级别 dra7-PCIe-msi
    27: 1 0 CBAR 121级别 talert
    29: 0 0 CBAR 8级 OMAP-DMA 引擎
    32: 1 0 CBAR 361级别 43300000。EDMA_ccint
    34: 0 0 CBAR 359级别 43300000。EDMA_cerrint


    root@am57xx-EVM:/test# modprobe tcrypt mode=500 sec=1
    [80169.707808]
    [80169.707808]异步 ECB (AES)(ECB - AES-OMAP)加密的测试速度
    [80169.715773]测试0 (128位密钥、16字节块):630707在1秒内运行(10091312字节)
    [80170.722281]测试1 (128位密钥、64字节块):1秒内的331086操作(21189504字节)
    [80171.722252]测试2 (128位密钥、256字节块):1秒内12278次操作(3143168字节)
    [80172.722120]测试3 (128位密钥、1024字节块):1秒内执行7571次操作(7752704字节)
    [80173.722070]测试4 (128位密钥、8192字节块):1秒内3628次操作(29720576字节)
    [80174.722281]测试5 (192位密钥、16字节块):598873在1秒内的操作(9581968字节)
    [80175.722155]测试6 (192位密钥、64字节块):1秒内的303737操作(19439168字节)
    [80176.722243]测试7 (192位密钥、256字节块):1秒内14753次操作(3776768字节)
    [80177.722106]测试8 (192位密钥、1024字节块):1秒内的7323次操作(7498752字节)
    [80178.722058]测试9 (192位密钥、8192字节块):1秒内的2960操作(24248320字节)
    [80179.722328]测试10 (256位密钥、16字节块):1秒内即可完成580537操作(9288592字节)
    [80180.722168]测试11 (256位密钥、64字节块):1秒内的279123操作(17863872字节)
    [80181.722241]测试12 (256位密钥、256字节块):1秒内的8371次操作(2142976字节)
    [80182.721983]测试13 (256位密钥、1024字节块):1秒内7175次操作(7347200字节)
    [80183.721995]测试14 (256位密钥、8192字节块):1秒内的3253次操作(26648576字节)
    [80184.722237]
    [80184.722237]异步 ECB (AES)(ECB - AES-OMAP)解密的测试速度
    (省略更多日志)

    root@am57xx-EVM:/test# cat /proc/interrupts
    CPU0 CPU1
    17: 0 0 CBAR 32级 GP_TIMER
    18: 0 0 GIC-029电平 ARCH_TIMER
    19: 847049 2178678 GIC-030电平 ARCH_TIMER
    22: 0 0 CBAR 4级 L3-dbg-IRQ
    23: 0 0 WUGEN 10级别 L3-APP-IRQ
    25: 1 0 CBAR 232电平 dra7xx-PCIe-main
    26: 0 0 CBAR 233级别 dra7-PCIe-msi
    27: 1 0 CBAR 121级别 talert
    29: 0 0 CBAR 8级 OMAP-DMA 引擎
    32: 437509 0 CBAR 361级别 43300000。EDMA_ccint
    34: 0 0 CBAR 359级别 43300000。EDMA_cerrint
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Denny's、

    我在 AM572x GP EVM 上试用了 ProcSDK 3.0.6 (不是最新版本)。 最成熟的工作方式。 请参阅以下日志。 您遇到的问题是因为使用了 dma0chan0。

    root@am57xx-EVM:~# uname -a
    Linux am57xx-EVM 4.4.4.1.41-gf9f6f0db2d #1 SMP 抢占 Tue Jul 25 09:45:11 EDT 2017 armv7l GNU/Linux

    root@am57xx-EVM:~# cat /sys/class/dma/dma0chan0/in_use
    1

    root@am57xx-EVM:~# modprobe dmatest timeout=2000 iterations=1 run=1
    [148.876330] dmatest:使用 dma0chan4启动1个线程
    [148.881853] dmatest:dma0chan4-copy0:摘要1测试、0失败177 IOPS 1242 kB/s (0)
    [148.891938]最成熟:使用 dma0chan5启动1个线程
    [148.892271] dmatest:dma0chan5-copy0:摘要1测试、0失败3367 IOPS 13468kb/s (0)
    (省略更多日志)

    请验证这是否解决了您的问题。 谢谢!

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

    是的、它现在正在工作。

    我使用了以下命令

    insmod dmatest.ko                       
    echo dma0chan4 > /sys/module/dmatest/parameters/channel       
    echo 2000 > /sys/module/dmatest/parameters/timeout                 
    echo 1 > /sys/module/dmatest/parameters/iterations              
    echo 1 > /sys/module/dmatest/parameters/verbose                 
    echo 1 > /sys/module/dmatest/parameters/run  
    thanks for your effort!