dmatest 代码分析

dmatest 代码分析 dmatest是内核的一个测试dma模块的代码,代码位置位于内核的./drivers/dma/dmatest.c,关于dmatest

dmatest 代码分析

dmatest是内核的一个测试dma模块的代码,代码位置位于内核的./drivers/dma/dmatest.c,关于dmatest模块的使用可以参考内核提供的文档./Documentation/dmaengine/dmatest.txt,这里只简单地介绍一下。

编译加载模块

配置支持位置:

Device Drivers -> DMA Engine support -> DMA Test client

或者直接修改配置文件CONFIG_DMATEST=m,编译成模块。

可以直接加载dmatest.ko,然后echo相关参数到/sys/module/dmatest/parameters/下,echo 1 > /sys/module/dmatest/parameters/run驱动就会执行测试过程。

在这里插入图片描述

代码分析

模块注册

先看模块的初始化过程:

在这里插入图片描述

初始过程里面用到了两个结构体,我们来看一下。

struct dmatest_info

在这里插入图片描述

struct dmatest_params