Commit 0d0d976f authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by David S. Miller
Browse files

docs: networking: device drivers: convert freescale/dpaa.txt to ReST



- add SPDX header;
- adjust titles and chapters, adding proper markups;
- mark code blocks and literals as such;
- use :field: markup;
- add to networking/index.rst.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ca705e47
Loading
Loading
Loading
Loading
+53 −44
Original line number Original line Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

==============================
The QorIQ DPAA Ethernet Driver
The QorIQ DPAA Ethernet Driver
==============================
==============================


Authors:
Authors:
Madalin Bucur <madalin.bucur@nxp.com>
- Madalin Bucur <madalin.bucur@nxp.com>
Camelia Groza <camelia.groza@nxp.com>
- Camelia Groza <camelia.groza@nxp.com>


Contents
.. Contents
========


	- DPAA Ethernet Overview
	- DPAA Ethernet Overview
	- DPAA Ethernet Supported SoCs
	- DPAA Ethernet Supported SoCs
@@ -34,7 +36,7 @@ following drivers in the Linux kernel:
 - Queue Manager (QMan), Buffer Manager (BMan)
 - Queue Manager (QMan), Buffer Manager (BMan)
    drivers/soc/fsl/qbman
    drivers/soc/fsl/qbman


A simplified view of the dpaa_eth interfaces mapped to FMan MACs:
A simplified view of the dpaa_eth interfaces mapped to FMan MACs::


  dpaa_eth       /eth0\     ...       /ethN\
  dpaa_eth       /eth0\     ...       /ethN\
  driver        |      |             |      |
  driver        |      |             |      |
@@ -50,7 +52,8 @@ A simplified view of the dpaa_eth interfaces mapped to FMan MACs:
      FMan HW blocks: MURAM, MACs, Ports, SP
      FMan HW blocks: MURAM, MACs, Ports, SP
  ---------------------------------------------------------
  ---------------------------------------------------------


The dpaa_eth relation to the QMan, BMan and FMan:
The dpaa_eth relation to the QMan, BMan and FMan::

	      ________________________________
	      ________________________________
  dpaa_eth   /            eth0                \
  dpaa_eth   /            eth0                \
  driver    /                                  \
  driver    /                                  \
@@ -66,51 +69,54 @@ The dpaa_eth relation to the QMan, BMan and FMan:
	      -----------------------   --------
	      -----------------------   --------


where the acronyms used above (and in the code) are:
where the acronyms used above (and in the code) are:
DPAA = Data Path Acceleration Architecture

FMan = DPAA Frame Manager
=============== ===========================================================
QMan = DPAA Queue Manager
DPAA 		Data Path Acceleration Architecture
BMan = DPAA Buffers Manager
FMan 		DPAA Frame Manager
QMI = QMan interface in FMan
QMan 		DPAA Queue Manager
BMI = BMan interface in FMan
BMan 		DPAA Buffers Manager
FMan SP = FMan Storage Profiles
QMI 		QMan interface in FMan
MURAM = Multi-user RAM in FMan
BMI 		BMan interface in FMan
FQ = QMan Frame Queue
FMan SP 	FMan Storage Profiles
Rx Dfl FQ = default reception FQ
MURAM 		Multi-user RAM in FMan
Rx Err FQ = Rx error frames FQ
FQ 		QMan Frame Queue
Tx Cnf FQ = Tx confirmation FQs
Rx Dfl FQ 	default reception FQ
Tx FQs = transmission frame queues
Rx Err FQ 	Rx error frames FQ
dtsec = datapath three speed Ethernet controller (10/100/1000 Mbps)
Tx Cnf FQ 	Tx confirmation FQs
tgec = ten gigabit Ethernet controller (10 Gbps)
Tx FQs 		transmission frame queues
memac = multirate Ethernet MAC (10/100/1000/10000)
dtsec 		datapath three speed Ethernet controller (10/100/1000 Mbps)
tgec 		ten gigabit Ethernet controller (10 Gbps)
memac 		multirate Ethernet MAC (10/100/1000/10000)
=============== ===========================================================


DPAA Ethernet Supported SoCs
DPAA Ethernet Supported SoCs
============================
============================


The DPAA drivers enable the Ethernet controllers present on the following SoCs:
The DPAA drivers enable the Ethernet controllers present on the following SoCs:


# PPC
PPC
P1023
- P1023
P2041
- P2041
P3041
- P3041
P4080
- P4080
P5020
- P5020
P5040
- P5040
T1023
- T1023
T1024
- T1024
T1040
- T1040
T1042
- T1042
T2080
- T2080
T4240
- T4240
B4860
- B4860


# ARM
ARM
LS1043A
- LS1043A
LS1046A
- LS1046A


Configuring DPAA Ethernet in your kernel
Configuring DPAA Ethernet in your kernel
========================================
========================================


To enable the DPAA Ethernet driver, the following Kconfig options are required:
To enable the DPAA Ethernet driver, the following Kconfig options are required::


  # common for arch/arm64 and arch/powerpc platforms
  # common for arch/arm64 and arch/powerpc platforms
  CONFIG_FSL_DPAA=y
  CONFIG_FSL_DPAA=y
@@ -167,6 +173,8 @@ classes as follows:
	* priorities 8 to 11 - traffic class 2 (medium-high priority)
	* priorities 8 to 11 - traffic class 2 (medium-high priority)
	* priorities 12 to 15 - traffic class 3 (high priority)
	* priorities 12 to 15 - traffic class 3 (high priority)


::

  tc qdisc add dev <int> root handle 1: \
  tc qdisc add dev <int> root handle 1: \
	 mqprio num_tc 4 map 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 hw 1
	 mqprio num_tc 4 map 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 hw 1


@@ -201,11 +209,11 @@ of these frame queues will arrive at the same portal and will always
be processed by the same CPU. This ensures intra-flow order preservation
be processed by the same CPU. This ensures intra-flow order preservation
and workload distribution for multiple traffic flows.
and workload distribution for multiple traffic flows.


RSS can be turned off for a certain interface using ethtool, i.e.
RSS can be turned off for a certain interface using ethtool, i.e.::


	# ethtool -N fm1-mac9 rx-flow-hash tcp4 ""
	# ethtool -N fm1-mac9 rx-flow-hash tcp4 ""


To turn it back on, one needs to set rx-flow-hash for tcp4/6 or udp4/6:
To turn it back on, one needs to set rx-flow-hash for tcp4/6 or udp4/6::


	# ethtool -N fm1-mac9 rx-flow-hash udp4 sfdn
	# ethtool -N fm1-mac9 rx-flow-hash udp4 sfdn


@@ -216,7 +224,7 @@ going to control the rx-flow-hashing for all protocols on that interface.
Besides using the FMan Keygen computed hash for spreading traffic on the
Besides using the FMan Keygen computed hash for spreading traffic on the
128 Rx FQs, the DPAA Ethernet driver also sets the skb hash value when
128 Rx FQs, the DPAA Ethernet driver also sets the skb hash value when
the NETIF_F_RXHASH feature is on (active by default). This can be turned
the NETIF_F_RXHASH feature is on (active by default). This can be turned
on or off through ethtool, i.e.:
on or off through ethtool, i.e.::


	# ethtool -K fm1-mac9 rx-hashing off
	# ethtool -K fm1-mac9 rx-hashing off
	# ethtool -k fm1-mac9 | grep hash
	# ethtool -k fm1-mac9 | grep hash
@@ -246,6 +254,7 @@ The following statistics are exported for each interface through ethtool:
	- Rx error count per CPU
	- Rx error count per CPU
	- Rx error count per type
	- Rx error count per type
	- congestion related statistics:
	- congestion related statistics:

		- congestion status
		- congestion status
		- time spent in congestion
		- time spent in congestion
		- number of time the device entered congestion
		- number of time the device entered congestion
+1 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@ Contents:
   dec/de4x5
   dec/de4x5
   dec/dmfe
   dec/dmfe
   dlink/dl2k
   dlink/dl2k
   freescale/dpaa


.. only::  subproject and html
.. only::  subproject and html