summaryrefslogtreecommitdiff
path: root/Documentation/networking/dpaa.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/networking/dpaa.txt')
-rw-r--r--Documentation/networking/dpaa.txt194
1 files changed, 0 insertions, 194 deletions
diff --git a/Documentation/networking/dpaa.txt b/Documentation/networking/dpaa.txt
deleted file mode 100644
index 76e016d4d344..000000000000
--- a/Documentation/networking/dpaa.txt
+++ /dev/null
@@ -1,194 +0,0 @@
-The QorIQ DPAA Ethernet Driver
-==============================
-
-Authors:
-Madalin Bucur <madalin.bucur@nxp.com>
-Camelia Groza <camelia.groza@nxp.com>
-
-Contents
-========
-
- - DPAA Ethernet Overview
- - DPAA Ethernet Supported SoCs
- - Configuring DPAA Ethernet in your kernel
- - DPAA Ethernet Frame Processing
- - DPAA Ethernet Features
- - Debugging
-
-DPAA Ethernet Overview
-======================
-
-DPAA stands for Data Path Acceleration Architecture and it is a
-set of networking acceleration IPs that are available on several
-generations of SoCs, both on PowerPC and ARM64.
-
-The Freescale DPAA architecture consists of a series of hardware blocks
-that support Ethernet connectivity. The Ethernet driver depends upon the
-following drivers in the Linux kernel:
-
- - Peripheral Access Memory Unit (PAMU) (* needed only for PPC platforms)
- drivers/iommu/fsl_*
- - Frame Manager (FMan)
- drivers/net/ethernet/freescale/fman
- - Queue Manager (QMan), Buffer Manager (BMan)
- drivers/soc/fsl/qbman
-
-A simplified view of the dpaa_eth interfaces mapped to FMan MACs:
-
- dpaa_eth /eth0\ ... /ethN\
- driver | | | |
- ------------- ---- ----------- ---- -------------
- -Ports / Tx Rx \ ... / Tx Rx \
- FMan | | | |
- -MACs | MAC0 | | MACN |
- / dtsec0 \ ... / dtsecN \ (or tgec)
- / \ / \(or memac)
- --------- -------------- --- -------------- ---------
- FMan, FMan Port, FMan SP, FMan MURAM drivers
- ---------------------------------------------------------
- FMan HW blocks: MURAM, MACs, Ports, SP
- ---------------------------------------------------------
-
-The dpaa_eth relation to the QMan, BMan and FMan:
- ________________________________
- dpaa_eth / eth0 \
- driver / \
- --------- -^- -^- -^- --- ---------
- QMan driver / \ / \ / \ \ / | BMan |
- |Rx | |Rx | |Tx | |Tx | | driver |
- --------- |Dfl| |Err| |Cnf| |FQs| | |
- QMan HW |FQ | |FQ | |FQs| | | | |
- / \ / \ / \ \ / | |
- --------- --- --- --- -v- ---------
- | FMan QMI | |
- | FMan HW FMan BMI | BMan HW |
- ----------------------- --------
-
-where the acronyms used above (and in the code) are:
-DPAA = Data Path Acceleration Architecture
-FMan = DPAA Frame Manager
-QMan = DPAA Queue Manager
-BMan = DPAA Buffers Manager
-QMI = QMan interface in FMan
-BMI = BMan interface in FMan
-FMan SP = FMan Storage Profiles
-MURAM = Multi-user RAM in FMan
-FQ = QMan Frame Queue
-Rx Dfl FQ = default reception FQ
-Rx Err FQ = Rx error frames FQ
-Tx Cnf FQ = Tx confirmation FQs
-Tx FQs = transmission frame queues
-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
-============================
-
-The DPAA drivers enable the Ethernet controllers present on the following SoCs:
-
-# PPC
-P1023
-P2041
-P3041
-P4080
-P5020
-P5040
-T1023
-T1024
-T1040
-T1042
-T2080
-T4240
-B4860
-
-# ARM
-LS1043A
-LS1046A
-
-Configuring DPAA Ethernet in your kernel
-========================================
-
-To enable the DPAA Ethernet driver, the following Kconfig options are required:
-
-# common for arch/arm64 and arch/powerpc platforms
-CONFIG_FSL_DPAA=y
-CONFIG_FSL_FMAN=y
-CONFIG_FSL_DPAA_ETH=y
-CONFIG_FSL_XGMAC_MDIO=y
-
-# for arch/powerpc only
-CONFIG_FSL_PAMU=y
-
-# common options needed for the PHYs used on the RDBs
-CONFIG_VITESSE_PHY=y
-CONFIG_REALTEK_PHY=y
-CONFIG_AQUANTIA_PHY=y
-
-DPAA Ethernet Frame Processing
-==============================
-
-On Rx, buffers for the incoming frames are retrieved from one of the three
-existing buffers pools. The driver initializes and seeds these, each with
-buffers of different sizes: 1KB, 2KB and 4KB.
-
-On Tx, all transmitted frames are returned to the driver through Tx
-confirmation frame queues. The driver is then responsible for freeing the
-buffers. In order to do this properly, a backpointer is added to the buffer
-before transmission that points to the skb. When the buffer returns to the
-driver on a confirmation FQ, the skb can be correctly consumed.
-
-DPAA Ethernet Features
-======================
-
-Currently the DPAA Ethernet driver enables the basic features required for
-a Linux Ethernet driver. The support for advanced features will be added
-gradually.
-
-The driver has Rx and Tx checksum offloading for UDP and TCP. Currently the Rx
-checksum offload feature is enabled by default and cannot be controlled through
-ethtool.
-
-The driver has support for multiple prioritized Tx traffic classes. Priorities
-range from 0 (lowest) to 3 (highest). These are mapped to HW workqueues with
-strict priority levels. Each traffic class contains NR_CPU TX queues. By
-default, only one traffic class is enabled and the lowest priority Tx queues
-are used. Higher priority traffic classes can be enabled with the mqprio
-qdisc. For example, all four traffic classes are enabled on an interface with
-the following command. Furthermore, skb priority levels are mapped to traffic
-classes as follows:
-
- * priorities 0 to 3 - traffic class 0 (low priority)
- * priorities 4 to 7 - traffic class 1 (medium-low priority)
- * priorities 8 to 11 - traffic class 2 (medium-high priority)
- * priorities 12 to 15 - traffic class 3 (high priority)
-
-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
-
-Debugging
-=========
-
-The following statistics are exported for each interface through ethtool:
-
- - interrupt count per CPU
- - Rx packets count per CPU
- - Tx packets count per CPU
- - Tx confirmed packets count per CPU
- - Tx S/G frames count per CPU
- - Tx error count per CPU
- - Rx error count per CPU
- - Rx error count per type
- - congestion related statistics:
- - congestion status
- - time spent in congestion
- - number of time the device entered congestion
- - dropped packets count per cause
-
-The driver also exports the following information in sysfs:
-
- - the FQ IDs for each FQ type
- /sys/devices/platform/dpaa-ethernet.0/net/<int>/fqids
-
- - the IDs of the buffer pools in use
- /sys/devices/platform/dpaa-ethernet.0/net/<int>/bpids