staging: vchiq: provide testing instructions
This small document should to help kernel developer to test their changes on the VCHIQ driver. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Link: https://lore.kernel.org/r/20220618090002.20663-1-stefan.wahren@i2se.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6e9e4acd8a
commit
e0c718411c
82
drivers/staging/vc04_services/interface/TESTING
Normal file
82
drivers/staging/vc04_services/interface/TESTING
Normal file
@ -0,0 +1,82 @@
|
||||
This document contains some hints to test the function of the VCHIQ driver
|
||||
without having additional hardware to the Raspberry Pi.
|
||||
|
||||
* Requirements & limitations
|
||||
|
||||
Testing the VCHIQ driver requires a Raspberry Pi with one of the following SoC:
|
||||
- BCM2835 ( e.g. Raspberry Pi Zero W )
|
||||
- BCM2836 ( e.g. Raspberry Pi 2 )
|
||||
- BCM2837 ( e.g. Raspberry Pi 3 B+ )
|
||||
|
||||
The BCM2711 used in the Raspberry Pi 4 is currently not supported in the
|
||||
mainline kernel.
|
||||
|
||||
There are no specific requirements to the VideoCore firmware to get VCHIQ
|
||||
working.
|
||||
|
||||
The test scenarios described in this document based on the tool vchiq_test.
|
||||
Its source code is available here: https://github.com/raspberrypi/userland
|
||||
|
||||
* Configuration
|
||||
|
||||
Here are the most common kernel configurations:
|
||||
|
||||
1. BCM2835 target SoC (ARM 32 bit)
|
||||
|
||||
Just use bcm2835_defconfig which already has VCHIQ enabled.
|
||||
|
||||
2. BCM2836/7 target SoC (ARM 32 bit)
|
||||
|
||||
Use the multi_v7_defconfig as a base and then enable all VCHIQ options.
|
||||
|
||||
3. BCM2837 target SoC (ARM 64 bit)
|
||||
|
||||
Use the defconfig as a base and then enable all VCHIQ options.
|
||||
|
||||
* Scenarios
|
||||
|
||||
* Initial test
|
||||
|
||||
Check the driver is probed and /dev/vchiq is created
|
||||
|
||||
* Functional test
|
||||
|
||||
Command: vchiq_test -f 10
|
||||
|
||||
Expected output:
|
||||
Functional test - iters:10
|
||||
======== iteration 1 ========
|
||||
Testing bulk transfer for alignment.
|
||||
Testing bulk transfer at PAGE_SIZE.
|
||||
...
|
||||
|
||||
* Ping test
|
||||
|
||||
Command: vchiq_test -p 1
|
||||
|
||||
Expected output:
|
||||
Ping test - service:echo, iters:1, version 3
|
||||
vchi ping (size 0) -> 57.000000us
|
||||
vchi ping (size 0, 0 async, 0 oneway) -> 122.000000us
|
||||
vchi bulk (size 0, 0 async, 0 oneway) -> 546.000000us
|
||||
vchi bulk (size 0, 0 oneway) -> 230.000000us
|
||||
vchi ping (size 0) -> 49.000000us
|
||||
vchi ping (size 0, 0 async, 0 oneway) -> 70.000000us
|
||||
vchi bulk (size 0, 0 async, 0 oneway) -> 296.000000us
|
||||
vchi bulk (size 0, 0 oneway) -> 266.000000us
|
||||
vchi ping (size 0, 1 async, 0 oneway) -> 65.000000us
|
||||
vchi bulk (size 0, 0 oneway) -> 456.000000us
|
||||
vchi ping (size 0, 2 async, 0 oneway) -> 74.000000us
|
||||
vchi bulk (size 0, 0 oneway) -> 640.000000us
|
||||
vchi ping (size 0, 10 async, 0 oneway) -> 125.000000us
|
||||
vchi bulk (size 0, 0 oneway) -> 2309.000000us
|
||||
vchi ping (size 0, 0 async, 1 oneway) -> 70.000000us
|
||||
vchi ping (size 0, 0 async, 2 oneway) -> 76.000000us
|
||||
vchi ping (size 0, 0 async, 10 oneway) -> 105.000000us
|
||||
vchi ping (size 0, 10 async, 10 oneway) -> 165.000000us
|
||||
vchi ping (size 0, 100 async, 0 oneway) -> nanus
|
||||
vchi bulk (size 0, 0 oneway) -> nanus
|
||||
vchi ping (size 0, 0 async, 100 oneway) -> nanus
|
||||
vchi ping (size 0, 100 async, 100 oneway) -> infus
|
||||
vchi ping (size 0, 200 async, 0 oneway) -> infus
|
||||
...
|
Loading…
x
Reference in New Issue
Block a user