Skip to content

Commit

Permalink
dmatest: restore ability to start test at module load and init
Browse files Browse the repository at this point in the history
1/ move 'run' control to a module parameter so we can do:
   modprobe dmatest run=1.  With this moved the rest of the debugfs
   boilerplate can go.

2/ Fix parameter initialization.  Previously the test was being started
   without taking the parameters into account in the built-in case.

Also killed off the '__' version of some routines.  The new rule is just
hold the lock when calling a *threaded_test() routine.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
  • Loading branch information
Dan Williams committed Nov 14, 2013
1 parent 0adff80 commit a310d03
Show file tree
Hide file tree
Showing 2 changed files with 116 additions and 167 deletions.
18 changes: 10 additions & 8 deletions Documentation/dmatest.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,19 @@ be built as module or inside kernel. Let's consider those cases.

Part 2 - When dmatest is built as a module...

After mounting debugfs and loading the module, the /sys/kernel/debug/dmatest
folder with a file named 'run' nodes will be created. 'run' controls run and
stop phases of the test.

Note that in this case test will not run on load automatically.

Example of usage:
% modprobe dmatest channel=dma0chan0 timeout=2000 iterations=1 run=1

...or:
% modprobe dmatest
% echo dma0chan0 > /sys/module/dmatest/parameters/channel
% echo 2000 > /sys/module/dmatest/parameters/timeout
% echo 1 > /sys/module/dmatest/parameters/iterations
% echo 1 > /sys/kernel/debug/dmatest/run
% echo 1 > /sys/module/dmatest/parameters/run

...or on the kernel command line:

dmatest.channel=dma0chan0 dmatest.timeout=2000 dmatest.iterations=1 dmatest.run=1

Hint: available channel list could be extracted by running the following
command:
Expand All @@ -42,7 +44,7 @@ The following command should return actual state of the test.

To wait for test done the user may perform a busy loop that checks the state.

% while [ $(cat /sys/kernel/debug/dmatest/run) = "Y" ]
% while [ $(cat /sys/module/dmatest/parameters/run) = "Y" ]
> do
> echo -n "."
> sleep 1
Expand Down
Loading

0 comments on commit a310d03

Please sign in to comment.