Hi, On 2018-08-31 14:03, Seraj Alijan wrote: > Modify documentation to add multi channel testing support. > > Signed-off-by: Seraj Alijan <seraj.alijan@xxxxxxxxxxx> > --- > Documentation/driver-api/dmaengine/dmatest.rst | 27 ++++++++++++++++++++------ > 1 file changed, 21 insertions(+), 6 deletions(-) > > diff --git a/Documentation/driver-api/dmaengine/dmatest.rst b/Documentation/driver-api/dmaengine/dmatest.rst > index 7ce5e71..0a7e4c3 100644 > --- a/Documentation/driver-api/dmaengine/dmatest.rst > +++ b/Documentation/driver-api/dmaengine/dmatest.rst > @@ -26,28 +26,43 @@ Part 2 - When dmatest is built as a module > > Example of usage:: > > - % modprobe dmatest channel=dma0chan0 timeout=2000 iterations=1 run=1 > + % modprobe dmatest timeout=2000 iterations=1 channel=dma0chan0 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 dma0chan0 > /sys/module/dmatest/parameters/channel > % 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 > + dmatest.timeout=2000 dmatest.iterations=1 dmatest.channel=dma0chan0 dmatest.run=1 > + > +Example of multi-channel test usage: > + % modprobe dmatest > + % echo 2000 > /sys/module/dmatest/parameters/timeout > + % echo 1 > /sys/module/dmatest/parameters/iterations > + % echo dma0chan0 > /sys/module/dmatest/parameters/channel > + % echo dma0chan1 > /sys/module/dmatest/parameters/channel > + % echo dma0chan2 > /sys/module/dmatest/parameters/channel Can I still use: echo "" > /sys/module/dmatest/parameters/channel to stop dmatest to run on the specific channel(s) or do I need to reboot the machine to do so? I normally test multi channel memcpy with: echo 8000000 > /sys/module/dmatest/parameters/test_buf_size echo 2000 > /sys/module/dmatest/parameters/timeout echo 20 > /sys/module/dmatest/parameters/iterations echo 20 > /sys/module/dmatest/parameters/max_channels echo 1 > /sys/module/dmatest/parameters/run So it will start running memtest on 20 channels. If I do a test on specific channel (different DMA controller) I set the channel run the test and then with "" I can revert back to normal torture test. > + % echo 1 > /sys/module/dmatest/parameters/run > > +Note: the channel parameter should always be the last parameter set prior to > +running the test (setting run=1), this is because upon setting the channel > +parameter, that specific channel is requested using the dmaengine and a thread > +is created with the existing parameters. This thread is set as pending > +and will be executed once run is set to 1. Any parameters set after the thread > +is created are not applied. > .. hint:: > available channel list could be extracted by running the following command:: > > % ls -1 /sys/class/dma/ > > -Once started a message like "dmatest: Started 1 threads using dma0chan0" is > -emitted. After that only test failure messages are reported until the test > -stops. > +Once started a message like " dmatest: Added 1 threads using dma0chan0" is > +emitted. A thread for that specific channel is created and is now pending, the > +pending thread is started once run is to 1. > > Note that running a new test will not stop any in progress test. > > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki