Gustavo Pimentel | e1181b5 | 2021-03-29 13:17:46 +0200 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0 |
| 2 | |
| 3 | =========================================================================== |
| 4 | Driver for Synopsys DesignWare PCIe traffic generator (also known as xData) |
| 5 | =========================================================================== |
| 6 | |
Gustavo Pimentel | 23188e0 | 2021-04-10 16:52:59 +0200 | [diff] [blame] | 7 | Supported chips: |
| 8 | Synopsys DesignWare PCIe prototype solution |
| 9 | |
| 10 | Datasheet: |
| 11 | Not freely available |
| 12 | |
| 13 | Author: |
| 14 | Gustavo Pimentel <gustavo.pimentel@synopsys.com> |
| 15 | |
| 16 | Description |
| 17 | ----------- |
| 18 | |
Gustavo Pimentel | e1181b5 | 2021-03-29 13:17:46 +0200 | [diff] [blame] | 19 | This driver should be used as a host-side (Root Complex) driver and Synopsys |
| 20 | DesignWare prototype that includes this IP. |
| 21 | |
Gustavo Pimentel | 23188e0 | 2021-04-10 16:52:59 +0200 | [diff] [blame] | 22 | The dw-xdata-pcie driver can be used to enable/disable PCIe traffic |
Gustavo Pimentel | e1181b5 | 2021-03-29 13:17:46 +0200 | [diff] [blame] | 23 | generator in either direction (mutual exclusion) besides allowing the |
| 24 | PCIe link performance analysis. |
| 25 | |
| 26 | The interaction with this driver is done through the module parameter and |
| 27 | can be changed in runtime. The driver outputs the requested command state |
Gustavo Pimentel | 23188e0 | 2021-04-10 16:52:59 +0200 | [diff] [blame] | 28 | information to ``/var/log/kern.log`` or dmesg. |
Gustavo Pimentel | e1181b5 | 2021-03-29 13:17:46 +0200 | [diff] [blame] | 29 | |
Gustavo Pimentel | 23188e0 | 2021-04-10 16:52:59 +0200 | [diff] [blame] | 30 | Example |
| 31 | ------- |
Gustavo Pimentel | e1181b5 | 2021-03-29 13:17:46 +0200 | [diff] [blame] | 32 | |
Gustavo Pimentel | 23188e0 | 2021-04-10 16:52:59 +0200 | [diff] [blame] | 33 | Write TLPs traffic generation - Root Complex to Endpoint direction |
| 34 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
Gustavo Pimentel | e1181b5 | 2021-03-29 13:17:46 +0200 | [diff] [blame] | 35 | |
Gustavo Pimentel | 23188e0 | 2021-04-10 16:52:59 +0200 | [diff] [blame] | 36 | Generate traffic:: |
Gustavo Pimentel | e1181b5 | 2021-03-29 13:17:46 +0200 | [diff] [blame] | 37 | |
Gustavo Pimentel | 23188e0 | 2021-04-10 16:52:59 +0200 | [diff] [blame] | 38 | # echo 1 > /sys/class/misc/dw-xdata-pcie.0/write |
Gustavo Pimentel | e1181b5 | 2021-03-29 13:17:46 +0200 | [diff] [blame] | 39 | |
Gustavo Pimentel | 23188e0 | 2021-04-10 16:52:59 +0200 | [diff] [blame] | 40 | Get link throughput in MB/s:: |
| 41 | |
| 42 | # cat /sys/class/misc/dw-xdata-pcie.0/write |
| 43 | 204 |
| 44 | |
| 45 | Stop traffic in any direction:: |
| 46 | |
| 47 | # echo 0 > /sys/class/misc/dw-xdata-pcie.0/write |
| 48 | |
| 49 | Read TLPs traffic generation - Endpoint to Root Complex direction |
| 50 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 51 | |
| 52 | Generate traffic:: |
| 53 | |
| 54 | # echo 1 > /sys/class/misc/dw-xdata-pcie.0/read |
| 55 | |
| 56 | Get link throughput in MB/s:: |
| 57 | |
| 58 | # cat /sys/class/misc/dw-xdata-pcie.0/read |
| 59 | 199 |
| 60 | |
| 61 | Stop traffic in any direction:: |
| 62 | |
| 63 | # echo 0 > /sys/class/misc/dw-xdata-pcie.0/read |
| 64 | |