Commit d8e516ba authored by Roy Pledge's avatar Roy Pledge Committed by Li Yang
Browse files

soc: fsl: dpio: Convert DPIO documentation to .rst



Convert the Datapath I/O documentation to .rst format
and move to the Documation/networking/dpaa2 directory

Signed-off-by: default avatarRoy Pledge <roy.pledge@nxp.com>
Reviewed-by: default avatarHoria Geantă <horia.geanta@nxp.com>
Reviewed-by: default avatarIoana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: default avatarLi Yang <leoyang.li@nxp.com>
parent 2940882f
Loading
Loading
Loading
Loading
+26 −3
Original line number Original line Diff line number Diff line
Copyright 2016 NXP
.. include:: <isonum.txt>

DPAA2 DPIO (Data Path I/O) Overview
===================================

:Copyright: |copy| 2016-2018 NXP

This document provides an overview of the Freescale DPAA2 DPIO
drivers


Introduction
Introduction
------------
============


A DPAA2 DPIO (Data Path I/O) is a hardware object that provides
A DPAA2 DPIO (Data Path I/O) is a hardware object that provides
interfaces to enqueue and dequeue frames to/from network interfaces
interfaces to enqueue and dequeue frames to/from network interfaces
@@ -27,8 +35,11 @@ provides services that:


The Linux DPIO driver consists of 3 primary components--
The Linux DPIO driver consists of 3 primary components--
   DPIO object driver-- fsl-mc driver that manages the DPIO object
   DPIO object driver-- fsl-mc driver that manages the DPIO object

   DPIO service-- provides APIs to other Linux drivers for services
   DPIO service-- provides APIs to other Linux drivers for services

   QBman portal interface-- sends portal commands, gets responses
   QBman portal interface-- sends portal commands, gets responses
::


          fsl-mc          other
          fsl-mc          other
           bus           drivers
           bus           drivers
@@ -45,8 +56,9 @@ The Linux DPIO driver consists of 3 primary components--
                            |
                            |
                         hardware
                         hardware



The diagram below shows how the DPIO driver components fit with the other
The diagram below shows how the DPIO driver components fit with the other
DPAA2 Linux driver components:
DPAA2 Linux driver components::
                                                   +------------+
                                                   +------------+
                                                   | OS Network |
                                                   | OS Network |
                                                   |   Stack    |
                                                   |   Stack    |
@@ -98,20 +110,29 @@ DPIO service (dpio-service.c, dpaa2-io.h)


   Notification handling
   Notification handling
      dpaa2_io_service_register()
      dpaa2_io_service_register()

      dpaa2_io_service_deregister()
      dpaa2_io_service_deregister()

      dpaa2_io_service_rearm()
      dpaa2_io_service_rearm()


   Queuing
   Queuing
      dpaa2_io_service_pull_fq()
      dpaa2_io_service_pull_fq()

      dpaa2_io_service_pull_channel()
      dpaa2_io_service_pull_channel()

      dpaa2_io_service_enqueue_fq()
      dpaa2_io_service_enqueue_fq()

      dpaa2_io_service_enqueue_qd()
      dpaa2_io_service_enqueue_qd()

      dpaa2_io_store_create()
      dpaa2_io_store_create()

      dpaa2_io_store_destroy()
      dpaa2_io_store_destroy()

      dpaa2_io_store_next()
      dpaa2_io_store_next()


   Buffer pool management
   Buffer pool management
      dpaa2_io_service_release()
      dpaa2_io_service_release()

      dpaa2_io_service_acquire()
      dpaa2_io_service_acquire()


QBman portal interface (qbman-portal.c)
QBman portal interface (qbman-portal.c)
@@ -120,7 +141,9 @@ QBman portal interface (qbman-portal.c)
   The qbman-portal component provides APIs to do the low level hardware
   The qbman-portal component provides APIs to do the low level hardware
   bit twiddling for operations such as:
   bit twiddling for operations such as:
      -initializing Qman software portals
      -initializing Qman software portals

      -building and sending portal commands
      -building and sending portal commands

      -portal interrupt configuration and processing
      -portal interrupt configuration and processing


   The qbman-portal APIs are not public to other drivers, and are
   The qbman-portal APIs are not public to other drivers, and are
+1 −0
Original line number Original line Diff line number Diff line
@@ -6,3 +6,4 @@ DPAA2 Documentation
   :maxdepth: 1
   :maxdepth: 1


   overview
   overview
   dpio-driver