Documentation/networking/device_drivers/ethernet/ti/cpsw.rst

Source file repositories/reference/linux-study-clean/Documentation/networking/device_drivers/ethernet/ti/cpsw.rst

File Facts

System
Linux kernel
Corpus path
Documentation/networking/device_drivers/ethernet/ti/cpsw.rst
Extension
.rst
Size
22856 bytes
Lines
588
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

======================================
Texas Instruments CPSW ethernet driver
======================================

Multiqueue & CBS & MQPRIO
=========================


The cpsw has 3 CBS shapers for each external ports. This document
describes MQPRIO and CBS Qdisc offload configuration for cpsw driver
based on examples. It potentially can be used in audio video bridging
(AVB) and time sensitive networking (TSN).

The following examples were tested on AM572x EVM and BBB boards.

Test setup
==========

Under consideration two examples with AM572x EVM running cpsw driver
in dual_emac mode.

Several prerequisites:

- TX queues must be rated starting from txq0 that has highest priority
- Traffic classes are used starting from 0, that has highest priority
- CBS shapers should be used with rated queues
- The bandwidth for CBS shapers has to be set a little bit more then
  potential incoming rate, thus, rate of all incoming tx queues has
  to be a little less
- Real rates can differ, due to discreetness
- Map skb-priority to txq is not enough, also skb-priority to l2 prio
  map has to be created with ip or vconfig tool
- Any l2/socket prio (0 - 7) for classes can be used, but for
  simplicity default values are used: 3 and 2
- only 2 classes tested: A and B, but checked and can work with more,
  maximum allowed 4, but only for 3 rate can be set.

Test setup for examples
=======================

::

					+-------------------------------+
					|--+                            |
					|  |      Workstation0          |
					|E |  MAC 18:03:73:66:87:42     |
    +-----------------------------+  +--|t |                            |
    |                    | 1  | E |  |  |h |./tsn_listener -d \         |
    |  Target board:     | 0  | t |--+  |0 | 18:03:73:66:87:42 -i eth0 \|
    |  AM572x EVM        | 0  | h |     |  | -s 1500                    |
    |                    | 0  | 0 |     |--+                            |
    |  Only 2 classes:   |Mb  +---|     +-------------------------------+
    |  class A, class B  |        |
    |                    |    +---|     +-------------------------------+
    |                    | 1  | E |     |--+                            |
    |                    | 0  | t |     |  |      Workstation1          |
    |                    | 0  | h |--+  |E |  MAC 20:cf:30:85:7d:fd     |
    |                    |Mb  | 1 |  +--|t |                            |
    +-----------------------------+     |h |./tsn_listener -d \         |
					|0 | 20:cf:30:85:7d:fd -i eth0 \|
					|  | -s 1500                    |
					|--+                            |
					+-------------------------------+


Example 1: One port tx AVB configuration scheme for target board
----------------------------------------------------------------

Annotation

Implementation Notes