]> git.droids-corp.org - dpdk.git/commitdiff
fix PMD wording
authorSean Morrissey <sean.morrissey@intel.com>
Mon, 22 Nov 2021 10:50:44 +0000 (10:50 +0000)
committerDavid Marchand <david.marchand@redhat.com>
Fri, 26 Nov 2021 10:28:34 +0000 (11:28 +0100)
Removing the use of driver following PMD as its unnecessary.

Cc: stable@dpdk.org
Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
Signed-off-by: Conor Fogarty <conor.fogarty@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Reviewed-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
52 files changed:
app/test-pmd/cmdline.c
doc/guides/bbdevs/turbo_sw.rst
doc/guides/cryptodevs/virtio.rst
doc/guides/linux_gsg/build_sample_apps.rst
doc/guides/nics/af_packet.rst
doc/guides/nics/af_xdp.rst
doc/guides/nics/avp.rst
doc/guides/nics/enetfec.rst
doc/guides/nics/fm10k.rst
doc/guides/nics/intel_vf.rst
doc/guides/nics/netvsc.rst
doc/guides/nics/nfp.rst
doc/guides/nics/thunderx.rst
doc/guides/nics/virtio.rst
doc/guides/prog_guide/writing_efficient_code.rst
doc/guides/rel_notes/known_issues.rst
doc/guides/rel_notes/release_16_04.rst
doc/guides/rel_notes/release_19_05.rst
doc/guides/rel_notes/release_19_11.rst
doc/guides/rel_notes/release_20_11.rst
doc/guides/rel_notes/release_21_02.rst
doc/guides/rel_notes/release_21_05.rst
doc/guides/rel_notes/release_21_08.rst
doc/guides/rel_notes/release_21_11.rst
doc/guides/rel_notes/release_2_2.rst
doc/guides/sample_app_ug/bbdev_app.rst
doc/guides/sample_app_ug/l3_forward_access_ctrl.rst
doc/guides/tools/testeventdev.rst
drivers/common/sfc_efx/efsys.h
drivers/compress/qat/qat_comp_pmd.h
drivers/crypto/qat/qat_asym_pmd.h
drivers/crypto/qat/qat_sym_pmd.h
drivers/net/fm10k/fm10k_ethdev.c
drivers/net/hinic/base/hinic_pmd_cmdq.h
drivers/net/hns3/hns3_ethdev.c
drivers/net/hns3/hns3_ethdev.h
drivers/net/hns3/hns3_ethdev_vf.c
drivers/net/hns3/hns3_rss.c
drivers/net/hns3/hns3_rxtx.c
drivers/net/hns3/hns3_rxtx.h
drivers/net/i40e/i40e_ethdev.c
drivers/net/nfp/nfp_common.h
drivers/net/nfp/nfp_ethdev.c
drivers/net/nfp/nfp_ethdev_vf.c
drivers/raw/ifpga/base/README
lib/bbdev/rte_bbdev.h
lib/compressdev/rte_compressdev_pmd.h
lib/cryptodev/cryptodev_pmd.h
lib/dmadev/rte_dmadev_core.h
lib/eal/include/rte_dev.h
lib/eal/include/rte_devargs.h
lib/ethdev/rte_ethdev.h

index c43c85c591bd69c521e48d0144c3e9b6199500ef..6e10afeedd1ecdc8c3aaff4a05d4d37cfe13d2ee 100644 (file)
@@ -2701,7 +2701,7 @@ cmd_config_rxtx_queue_parsed(void *parsed_result,
                ret = rte_eth_dev_tx_queue_stop(res->portid, res->qid);
 
        if (ret == -ENOTSUP)
-               fprintf(stderr, "Function not supported in PMD driver\n");
+               fprintf(stderr, "Function not supported in PMD\n");
 }
 
 cmdline_parse_token_string_t cmd_config_rxtx_queue_port =
@@ -14700,7 +14700,7 @@ no_print_return:
                free(proto);
 #endif
        if (ret == -ENOTSUP)
-               fprintf(stderr, "Function not supported in PMD driver\n");
+               fprintf(stderr, "Function not supported in PMD\n");
        close_file(pkg);
 }
 
index 43c5129fd71cb158c6e219e5bd8fb9590c43b342..1e23e37027948f8733c31bfd07a555feaa581945 100644 (file)
@@ -149,7 +149,7 @@ Example:
 
 * For AVX512 machines with SDK libraries installed then both 4G and 5G can be enabled for full real time FEC capability.
   For AVX2 machines it is possible to only enable the 4G libraries and the PMD capabilities will be limited to 4G FEC.
-  If no library is present then the PMD driver will still build but its capabilities will be limited accordingly.
+  If no library is present then the PMD will still build but its capabilities will be limited accordingly.
 
 
 To use the PMD in an application, user must:
index 8b96446ff210cccc7decdb6c3d9ed961cf51651f..ce4d43519afc41f5bbf8e9c262b6652d32a562f0 100644 (file)
@@ -73,7 +73,7 @@ number of the virtio-crypto device:
     echo -n 0000:00:04.0 > /sys/bus/pci/drivers/virtio-pci/unbind
     echo "1af4 1054" > /sys/bus/pci/drivers/uio_pci_generic/new_id
 
-Finally the front-end virtio crypto PMD driver can be installed.
+Finally the front-end virtio crypto PMD can be installed.
 
 Tests
 -----
index efd2dd23f16716c0d979dcc478f03a4e5a43fc69..4f996172336600a5517006ed83cf84c052834936 100644 (file)
@@ -66,7 +66,7 @@ The EAL options are as follows:
 
 * ``-d``:
   Add a driver or driver directory to be loaded.
-  The application should use this option to load the pmd drivers
+  The application should use this option to load the PMDs
   that are built as shared libraries.
 
 * ``-m MB``:
index 54feffdef4bd12cb979af3357f5642723d6feeb6..8292369141adf523ba43b8b9940615e039a290f9 100644 (file)
@@ -5,7 +5,7 @@ AF_PACKET Poll Mode Driver
 ==========================
 
 The AF_PACKET socket in Linux allows an application to receive and send raw
-packets. This Linux-specific PMD driver binds to an AF_PACKET socket and allows
+packets. This Linux-specific PMD binds to an AF_PACKET socket and allows
 a DPDK application to send and receive raw packets through the Kernel.
 
 In order to improve Rx and Tx performance this implementation makes use of
index 8bf40b5f0f6a060d5695ac029e7ba2681fcb3603..c9d0e1ad6c57e2413314971459a2a0f9c851c68e 100644 (file)
@@ -12,7 +12,7 @@ For the full details behind AF_XDP socket, you can refer to
 `AF_XDP documentation in the Kernel
 <https://www.kernel.org/doc/Documentation/networking/af_xdp.rst>`_.
 
-This Linux-specific PMD driver creates the AF_XDP socket and binds it to a
+This Linux-specific PMD creates the AF_XDP socket and binds it to a
 specific netdev queue, it allows a DPDK application to send and receive raw
 packets through the socket which would bypass the kernel network stack.
 Current implementation only supports single queue, multi-queues feature will
index 1a194fc23ca689d26779be059f3bbe158c5dc834..a749f2a0f68ad10748b9ef9c821f21185ba1bf70 100644 (file)
@@ -35,7 +35,7 @@ to another with minimal packet loss.
 Features and Limitations of the AVP PMD
 ---------------------------------------
 
-The AVP PMD driver provides the following functionality.
+The AVP PMD provides the following functionality.
 
 *   Receive and transmit of both simple and chained mbuf packets,
 
@@ -74,7 +74,7 @@ Launching a VM with an AVP type network attachment
 The following example will launch a VM with three network attachments.  The
 first attachment will have a default vif-model of "virtio".  The next two
 network attachments will have a vif-model of "avp" and may be used with a DPDK
-application which is built to include the AVP PMD driver.
+application which is built to include the AVP PMD.
 
 .. code-block:: console
 
index a64e72fdd697aa3562e3a7aad21271bb4287f7cf..381635e627af6430fecfe3444fc7e46a8d4866f4 100644 (file)
@@ -65,7 +65,7 @@ The diagram below shows a system level overview of ENETFEC:
                         | PHY |
                         +-----+
 
-ENETFEC Ethernet driver is traditional DPDK PMD driver running in userspace.
+ENETFEC Ethernet driver is traditional DPDK PMD running in userspace.
 'fec-uio' is the kernel driver.
 The MAC and PHY are the hardware blocks.
 ENETFEC PMD uses standard UIO interface to access kernel
index bba53f5a64ee7b145b930387e77aef4a783be1fc..d6efac09172e0008c73ddeb25fadff22f4b30db5 100644 (file)
@@ -114,9 +114,9 @@ Switch manager
 ~~~~~~~~~~~~~~
 
 The Intel FM10000 family of NICs integrate a hardware switch and multiple host
-interfaces. The FM10000 PMD driver only manages host interfaces. For the
+interfaces. The FM10000 PMD only manages host interfaces. For the
 switch component another switch driver has to be loaded prior to the
-FM10000 PMD driver. The switch driver can be acquired from Intel support.
+FM10000 PMD. The switch driver can be acquired from Intel support.
 Only Testpoint is validated with DPDK, the latest version that has been
 validated with DPDK is 4.1.6.
 
index fd235e146341bc0b904d5a7db68fa67d100ad82a..648af39c22a575562f410e30f8393871cadaf6dc 100644 (file)
@@ -571,7 +571,7 @@ Fast Host-based Packet Processing
 
 Software Defined Network (SDN) trends are demanding fast host-based packet handling.
 In a virtualization environment,
-the DPDK VF PMD driver performs the same throughput result as a non-VT native environment.
+the DPDK VF PMD performs the same throughput result as a non-VT native environment.
 
 With such host instance fast packet processing, lots of services such as filtering, QoS,
 DPI can be offloaded on the host fast path.
index c0e218c743bf49dd2331b706a4521a50f0c7a64c..77efe1dc9175390f83b7215c24fe84b8d65f8562 100644 (file)
@@ -14,7 +14,7 @@ checksum and segmentation offloads.
 Features and Limitations of Hyper-V PMD
 ---------------------------------------
 
-In this release, the hyper PMD driver provides the basic functionality of packet reception and transmission.
+In this release, the hyper PMD provides the basic functionality of packet reception and transmission.
 
 *   It supports merge-able buffers per packet when receiving packets and scattered buffer per packet
     when transmitting packets. The packet size supported is from 64 to 65536.
index bf8be723b06dd7e03d9b7b10b4e220ea159d84b6..30cdc6920294785bc622c505d2722bcab91240be 100644 (file)
@@ -14,7 +14,7 @@ This document explains how to use DPDK with the Netronome Poll Mode
 Driver (PMD) supporting Netronome's Network Flow Processor 6xxx
 (NFP-6xxx) and Netronome's Flow Processor 4xxx (NFP-4xxx).
 
-NFP is a SRIOV capable device and the PMD driver supports the physical
+NFP is a SRIOV capable device and the PMD supports the physical
 function (PF) and the virtual functions (VFs).
 
 Dependencies
index 98f23a2b2a3d51ade2d0aa300608e88156bb65f7..d96395dafa4d10ef8aae227350c0043fad2e37de 100644 (file)
@@ -199,7 +199,7 @@ Each port consists of a primary VF and n secondary VF(s). Each VF provides 8 Tx/
 When a given port is configured to use more than 8 queues, it requires one (or more) secondary VF.
 Each secondary VF adds 8 additional queues to the queue set.
 
-During PMD driver initialization, the primary VF's are enumerated by checking the
+During PMD initialization, the primary VF's are enumerated by checking the
 specific flag (see sqs message in DPDK boot log - sqs indicates secondary queue set).
 They are at the beginning of VF list (the remain ones are secondary VF's).
 
index 98e0d012b7e376a6fd5fd94b7303dc14e7ac621d..7c0ae2b3af8702ed2cdf9a9da0f8c59949b1fa06 100644 (file)
@@ -17,7 +17,7 @@ With this enhancement, virtio could achieve quite promising performance.
 For basic qemu-KVM installation and other Intel EM poll mode driver in guest VM,
 please refer to Chapter "Driver for VM Emulated Devices".
 
-In this chapter, we will demonstrate usage of virtio PMD driver with two backends,
+In this chapter, we will demonstrate usage of virtio PMD with two backends,
 standard qemu vhost back end and vhost kni back end.
 
 Virtio Implementation in DPDK
@@ -40,7 +40,7 @@ end if necessary.
 Features and Limitations of virtio PMD
 --------------------------------------
 
-In this release, the virtio PMD driver provides the basic functionality of packet reception and transmission.
+In this release, the virtio PMD provides the basic functionality of packet reception and transmission.
 
 *   It supports merge-able buffers per packet when receiving packets and scattered buffer per packet
     when transmitting packets. The packet size supported is from 64 to 1518.
index a61e8320ae0832a426d7884708ef60200fa02896..e6c26efdd3a378a0fdee53cc93d482de26155756 100644 (file)
@@ -119,8 +119,8 @@ The code algorithm that dequeues messages may be something similar to the follow
         my_process_bulk(obj_table, count);
    }
 
-PMD Driver
-----------
+PMD
+---
 
 The DPDK Poll Mode Driver (PMD) is also able to work in bulk/burst mode,
 allowing the factorization of some code for each call in the send or receive function.
index beea877bad97c8c28c0f2f714232835cae4c610e..187d9c942e564e19a452b3464a932f2929653294 100644 (file)
@@ -250,7 +250,7 @@ PMD does not work with --no-huge EAL command line parameter
 
 **Description**:
    Currently, the DPDK does not store any information about memory allocated by ``malloc()` (for example, NUMA node,
-   physical address), hence PMD drivers do not work when the ``--no-huge`` command line parameter is supplied to EAL.
+   physical address), hence PMDs do not work when the ``--no-huge`` command line parameter is supplied to EAL.
 
 **Implication**:
    Sending and receiving data with PMD will not work.
index b7d07834e167260aab8f924502a60cd1ea338e91..ac18e1dddb612c1ec5c6825768edfffa65f3c140 100644 (file)
@@ -56,7 +56,7 @@ New Features
 
 * **Enabled Virtio 1.0 support.**
 
-  Enabled Virtio 1.0 support for Virtio pmd driver.
+  Enabled Virtio 1.0 support for Virtio PMD.
 
 * **Supported Virtio for ARM.**
 
index 30f704e204b060cd7c60eb4def7f8fec5858c4a3..89ae425bdb151c80d0a81dbb6c3df9af956cbd5c 100644 (file)
@@ -46,13 +46,13 @@ New Features
   Updated the KNI kernel module to set the ``max_mtu`` according to the given
   initial MTU size. Without it, the maximum MTU was 1500.
 
-  Updated the KNI PMD driver to set the ``mbuf_size`` and MTU based on
+  Updated the KNI PMD to set the ``mbuf_size`` and MTU based on
   the given mb-pool. This provide the ability to pass jumbo frames
   if the mb-pool contains a suitable buffer size.
 
 * **Added the AF_XDP PMD.**
 
-  Added a Linux-specific PMD driver for AF_XDP. This PMD can create an AF_XDP socket
+  Added a Linux-specific PMD for AF_XDP. This PMD can create an AF_XDP socket
   and bind it to a specific netdev queue. It allows a DPDK application to send
   and receive raw packets through the socket which would bypass the kernel
   network stack to achieve high performance packet processing.
@@ -240,7 +240,7 @@ ABI Changes
 
   The ``rte_eth_dev_info`` structure has had two extra fields
   added: ``min_mtu`` and ``max_mtu``. Each of these are of type ``uint16_t``.
-  The values of these fields can be set specifically by the PMD drivers as
+  The values of these fields can be set specifically by the PMDs as
   supported values can vary from device to device.
 
 * cryptodev: in 18.08 a new structure ``rte_crypto_asym_op`` was introduced and
index b509a6dd283c0e1144a83f920da5bc11e98fa456..302b3e5f373bf22ad528bea4d1a5f4eec5cbbfaa 100644 (file)
@@ -189,7 +189,7 @@ New Features
 
 * **Added Marvell OCTEON TX2 crypto PMD.**
 
-  Added a new PMD driver for hardware crypto offload block on ``OCTEON TX2``
+  Added a new PMD for hardware crypto offload block on ``OCTEON TX2``
   SoC.
 
   See :doc:`../cryptodevs/octeontx2` for more details
index 90cc3ed6803848ad631ed8a1ba05a2d4474e1e2e..af7ce90ba36d836d425619a84b0a9874ef92b868 100644 (file)
@@ -192,7 +192,7 @@ New Features
 
 * **Added Wangxun txgbe PMD.**
 
-  Added a new PMD driver for Wangxun 10 Gigabit Ethernet NICs.
+  Added a new PMD for Wangxun 10 Gigabit Ethernet NICs.
 
   See the :doc:`../nics/txgbe` for more details.
 
@@ -288,7 +288,7 @@ New Features
 
 * **Added Marvell OCTEON TX2 regex PMD.**
 
-  Added a new PMD driver for the hardware regex offload block for OCTEON TX2 SoC.
+  Added a new PMD for the hardware regex offload block for OCTEON TX2 SoC.
 
   See the :doc:`../regexdevs/octeontx2` for more details.
 
index 9d5e17758f804bf539fab74bb292a73935f0e50e..5fbf5b3d4342b692d9dec6a7475eb5597da86e42 100644 (file)
@@ -135,7 +135,7 @@ New Features
 
 * **Added mlx5 compress PMD.**
 
-  Added a new compress PMD driver for Bluefield 2 adapters.
+  Added a new compress PMD for Bluefield 2 adapters.
 
   See the :doc:`../compressdevs/mlx5` for more details.
 
index 8adb225a4dce2b74e9bda81f13b764c65603fc98..49044ed422ba3398203cf3db5f8d20b1e8d32c2f 100644 (file)
@@ -78,7 +78,7 @@ New Features
   * Updated ena_com (HAL) to the latest version.
   * Added indication of the RSS hash presence in the mbuf.
 
-* **Updated Arkville PMD driver.**
+* **Updated Arkville PMD.**
 
   Updated Arkville net driver with new features and improvements, including:
 
index 6fb4e43346e20afb4e921aa0a0856f6c5fb02da3..ac1c08190385efe5466bdaa4e487b5d3ca1b4113 100644 (file)
@@ -67,7 +67,7 @@ New Features
 
 * **Added Wangxun ngbe PMD.**
 
-  Added a new PMD driver for Wangxun 1Gb Ethernet NICs.
+  Added a new PMD for Wangxun 1Gb Ethernet NICs.
   See the :doc:`../nics/ngbe` for more details.
 
 * **Added inflight packets clear API in vhost library.**
index f31d52f557f4579c77eafa6193bcfeb636789ae4..115c679c237b57e20f4837453a7442e9dc8da26a 100644 (file)
@@ -321,7 +321,7 @@ New Features
 
 * **Added NXP LA12xx baseband PMD.**
 
-  * Added a new baseband PMD driver for NXP LA12xx Software defined radio.
+  * Added a new baseband PMD for NXP LA12xx Software defined radio.
   * See the :doc:`../bbdevs/la12xx` for more details.
 
 * **Updated Mellanox compress driver.**
index 8273473ff44023f1e964882187e1aac0e17031eb..029b758e908337bd76e7d3a6e5662c9f8c2f7e32 100644 (file)
@@ -10,8 +10,8 @@ New Features
 * **Introduce ARMv7 and ARMv8 architectures.**
 
   * It is now possible to build DPDK for the ARMv7 and ARMv8 platforms.
-  * ARMv7 can be tested with virtual PMD drivers.
-  * ARMv8 can be tested with virtual and physical PMD drivers.
+  * ARMv7 can be tested with virtual PMDs.
+  * ARMv8 can be tested with virtual and physical PMDs.
 
 * **Enabled freeing of ring.**
 
index 45e69e36e208ec7129bacba4db1c74f2d7802601..7f02f0ed9003704b8a486fa30a73903077540be8 100644 (file)
@@ -31,7 +31,7 @@ Limitations
 Compiling the Application
 -------------------------
 
-DPDK needs to be built with ``baseband_turbo_sw`` PMD driver enabled along
+DPDK needs to be built with ``baseband_turbo_sw`` PMD enabled along
 with ``FLEXRAN SDK`` Libraries. Refer to *SW Turbo Poll Mode Driver*
 documentation for more details on this.
 
index 486247ac2e4f7727a497c39a8bfebcd53babb9eb..ecb1c857c466a840264a4335dbbd82ff48d86b22 100644 (file)
@@ -220,7 +220,7 @@ Once the application starts, it transitions through three phases:
 
 *   **Final Phase** - Perform the following tasks:
 
-    Calls the EAL, PMD driver and ACL library to free resource, then quits.
+    Calls the EAL, PMD and ACL library to free resource, then quits.
 
 Compiling the Application
 -------------------------
index 7b4cdeb43f30a5313b0d6db78b9fb579aa4faa63..48efb9ea6e11af8d9db97106c39fd3daf4914fd7 100644 (file)
@@ -239,7 +239,7 @@ to the ordered queue. The worker receives the events from ordered queue and
 forwards to atomic queue. Since the events from an ordered queue can be
 processed in parallel on the different workers, the ingress order of events
 might have changed on the downstream atomic queue enqueue. On enqueue to the
-atomic queue, the eventdev PMD driver reorders the event to the original
+atomic queue, the eventdev PMD reorders the event to the original
 ingress order(i.e producer ingress order).
 
 When the event is dequeued from the atomic queue by the worker, this test
index b2109bf3c00917410fa950cf350c2cdfc5047538..3860c2835a6ab29d9a7e3b14a38424c62b52e258 100644 (file)
@@ -609,7 +609,7 @@ typedef struct efsys_bar_s {
 /* DMA SYNC */
 
 /*
- * DPDK does not provide any DMA syncing API, and no PMD drivers
+ * DPDK does not provide any DMA syncing API, and no PMDs
  * have any traces of explicit DMA syncing.
  * DMA mapping is assumed to be coherent.
  */
index 86317a513ccf7999d6f7bb6a062cc4fe91559591..3c8682a768969e6348ada16a446247159a1819a8 100644 (file)
@@ -13,7 +13,7 @@
 #include "qat_device.h"
 #include "qat_comp.h"
 
-/**< Intel(R) QAT Compression PMD driver name */
+/**< Intel(R) QAT Compression PMD name */
 #define COMPRESSDEV_NAME_QAT_PMD       compress_qat
 
 /* Private data structure for a QAT compression device capability. */
index fd6b4062483334cb4c61b5241a48800db4020725..f988d646e5addc5165e278cfdc8b1bf813458759 100644 (file)
@@ -10,7 +10,7 @@
 #include "qat_crypto.h"
 #include "qat_device.h"
 
-/** Intel(R) QAT Asymmetric Crypto PMD driver name */
+/** Intel(R) QAT Asymmetric Crypto PMD name */
 #define CRYPTODEV_NAME_QAT_ASYM_PMD    crypto_qat_asym
 
 
index 0dc0c6f0d939c4edec025d6359042f78a574c7ac..59fbdefa128170ae3679bb02f60438513f785350 100644 (file)
@@ -16,7 +16,7 @@
 #include "qat_crypto.h"
 #include "qat_device.h"
 
-/** Intel(R) QAT Symmetric Crypto PMD driver name */
+/** Intel(R) QAT Symmetric Crypto PMD name */
 #define CRYPTODEV_NAME_QAT_SYM_PMD     crypto_qat
 
 /* Internal capabilities */
index 7c85a057466a9e4588b91b6290079ed4b359b3c1..43e1d13431e1949e2171898f7c8d5fc3e03abee7 100644 (file)
@@ -255,7 +255,7 @@ rx_queue_clean(struct fm10k_rx_queue *q)
        for (i = 0; i < q->nb_fake_desc; ++i)
                q->hw_ring[q->nb_desc + i] = zero;
 
-       /* vPMD driver has a different way of releasing mbufs. */
+       /* vPMD has a different way of releasing mbufs. */
        if (q->rx_using_sse) {
                fm10k_rx_queue_release_mbufs_vec(q);
                return;
index 0d5e3801236d404d7d64fa2281c2e5bdee09e1ce..58a1fbda71f1e90a5e44d946811b50099bab31e9 100644 (file)
@@ -9,7 +9,7 @@
 
 #define HINIC_SCMD_DATA_LEN            16
 
-/* pmd driver uses 64, kernel l2nic use 4096 */
+/* PMD uses 64, kernel l2nic use 4096 */
 #define        HINIC_CMDQ_DEPTH                64
 
 #define        HINIC_CMDQ_BUF_SIZE             2048U
index 847e660f44a374a314c759a0e4aafdf1ab2d11a2..0bd12907d83b23f7b2318b1bee1421a66b1d1d68 100644 (file)
@@ -1060,7 +1060,7 @@ hns3_vlan_pvid_set(struct rte_eth_dev *dev, uint16_t pvid, int on)
                return ret;
        /*
         * Only in HNS3_SW_SHIFT_AND_MODE the PVID related operation in Tx/Rx
-        * need be processed by PMD driver.
+        * need be processed by PMD.
         */
        if (pvid_en_state_change &&
            hw->vlan_mode == HNS3_SW_SHIFT_AND_DISCARD_MODE)
@@ -2592,7 +2592,7 @@ hns3_parse_cfg(struct hns3_cfg *cfg, struct hns3_cmd_desc *desc)
         * Field ext_rss_size_max obtained from firmware will be more flexible
         * for future changes and expansions, which is an exponent of 2, instead
         * of reading out directly. If this field is not zero, hns3 PF PMD
-        * driver uses it as rss_size_max under one TC. Device, whose revision
+        * uses it as rss_size_max under one TC. Device, whose revision
         * id is greater than or equal to PCI_REVISION_ID_HIP09_A, obtains the
         * maximum number of queues supported under a TC through this field.
         */
@@ -6311,7 +6311,7 @@ hns3_fec_set(struct rte_eth_dev *dev, uint32_t mode)
        if (ret < 0)
                return ret;
 
-       /* HNS3 PMD driver only support one bit set mode, e.g. 0x1, 0x4 */
+       /* HNS3 PMD only support one bit set mode, e.g. 0x1, 0x4 */
        if (!is_fec_mode_one_bit_set(mode)) {
                hns3_err(hw, "FEC mode(0x%x) not supported in HNS3 PMD, "
                             "FEC mode should be only one bit set", mode);
index 6d30125dccb2a14ab69d06c42a48a09fc28f13cb..aa45b31261d5c3e21c93501a9dee11b2d50a090e 100644 (file)
@@ -465,8 +465,8 @@ struct hns3_queue_intr {
         *     enable Rx interrupt.
         *
         *  - HNS3_INTR_MAPPING_VEC_ALL
-        *     PMD driver can map/unmmap all interrupt vectors with queues When
-        *     Rx interrupt in enabled.
+        *     PMD can map/unmmap all interrupt vectors with queues when
+        *     Rx interrupt is enabled.
         */
        uint8_t mapping_mode;
        /*
@@ -575,14 +575,14 @@ struct hns3_hw {
         *
         *  - HNS3_SW_SHIFT_AND_DISCARD_MODE
         *     For some versions of hardware network engine, because of the
-        *     hardware limitation, PMD driver needs to detect the PVID status
+        *     hardware limitation, PMD needs to detect the PVID status
         *     to work with haredware to implement PVID-related functions.
         *     For example, driver need discard the stripped PVID tag to ensure
         *     the PVID will not report to mbuf and shift the inserted VLAN tag
         *     to avoid port based VLAN covering it.
         *
         *  - HNS3_HW_SHIT_AND_DISCARD_MODE
-        *     PMD driver does not need to process PVID-related functions in
+        *     PMD does not need to process PVID-related functions in
         *     I/O process, Hardware will adjust the sequence between port based
         *     VLAN tag and BD VLAN tag automatically and VLAN tag stripped by
         *     PVID will be invisible to driver. And in this mode, hns3 is able
index d8a99693e09729ec0fdeeb795094afe8e89a772c..805abd4543e9d1bd91143089d3310206884d12fe 100644 (file)
@@ -232,7 +232,7 @@ hns3vf_set_default_mac_addr(struct rte_eth_dev *dev,
                                HNS3_TWO_ETHER_ADDR_LEN, true, NULL, 0);
        if (ret) {
                /*
-                * The hns3 VF PMD driver depends on the hns3 PF kernel ethdev
+                * The hns3 VF PMD depends on the hns3 PF kernel ethdev
                 * driver. When user has configured a MAC address for VF device
                 * by "ip link set ..." command based on the PF device, the hns3
                 * PF kernel ethdev driver does not allow VF driver to request
@@ -312,9 +312,9 @@ hns3vf_set_promisc_mode(struct hns3_hw *hw, bool en_bc_pmc,
        req = (struct hns3_mbx_vf_to_pf_cmd *)desc.data;
 
        /*
-        * The hns3 VF PMD driver depends on the hns3 PF kernel ethdev driver,
+        * The hns3 VF PMD depends on the hns3 PF kernel ethdev driver,
         * so there are some features for promiscuous/allmulticast mode in hns3
-        * VF PMD driver as below:
+        * VF PMD as below:
         * 1. The promiscuous/allmulticast mode can be configured successfully
         *    only based on the trusted VF device. If based on the non trusted
         *    VF device, configuring promiscuous/allmulticast mode will fail.
@@ -322,14 +322,14 @@ hns3vf_set_promisc_mode(struct hns3_hw *hw, bool en_bc_pmc,
         *    kernel ethdev driver on the host by the following command:
         *      "ip link set <eth num> vf <vf id> turst on"
         * 2. After the promiscuous mode is configured successfully, hns3 VF PMD
-        *    driver can receive the ingress and outgoing traffic. In the words,
+        *    can receive the ingress and outgoing traffic. This includes
         *    all the ingress packets, all the packets sent from the PF and
         *    other VFs on the same physical port.
         * 3. Note: Because of the hardware constraints, By default vlan filter
         *    is enabled and couldn't be turned off based on VF device, so vlan
         *    filter is still effective even in promiscuous mode. If upper
         *    applications don't call rte_eth_dev_vlan_filter API function to
-        *    set vlan based on VF device, hns3 VF PMD driver will can't receive
+        *    set vlan based on VF device, hns3 VF PMD will can't receive
         *    the packets with vlan tag in promiscuoue mode.
         */
        hns3_cmd_setup_basic_desc(&desc, HNS3_OPC_MBX_VF_TO_PF, false);
@@ -553,9 +553,9 @@ hns3vf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
        /*
         * The hns3 PF/VF devices on the same port share the hardware MTU
         * configuration. Currently, we send mailbox to inform hns3 PF kernel
-        * ethdev driver to finish hardware MTU configuration in hns3 VF PMD
-        * driver, there is no need to stop the port for hns3 VF device, and the
-        * MTU value issued by hns3 VF PMD driver must be less than or equal to
+        * ethdev driver to finish hardware MTU configuration in hns3 VF PMD,
+        * there is no need to stop the port for hns3 VF device, and the
+        * MTU value issued by hns3 VF PMD must be less than or equal to
         * PF's MTU.
         */
        if (__atomic_load_n(&hw->reset.resetting, __ATOMIC_RELAXED)) {
@@ -565,8 +565,8 @@ hns3vf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 
        /*
         * when Rx of scattered packets is off, we have some possibility of
-        * using vector Rx process function or simple Rx functions in hns3 PMD
-        * driver. If the input MTU is increased and the maximum length of
+        * using vector Rx process function or simple Rx functions in hns3 PMD.
+        * If the input MTU is increased and the maximum length of
         * received packets is greater than the length of a buffer for Rx
         * packet, the hardware network engine needs to use multiple BDs and
         * buffers to store these packets. This will cause problems when still
@@ -2075,7 +2075,7 @@ hns3vf_check_default_mac_change(struct hns3_hw *hw)
         * ethdev driver sets the MAC address for VF device after the
         * initialization of the related VF device, the PF driver will notify
         * VF driver to reset VF device to make the new MAC address effective
-        * immediately. The hns3 VF PMD driver should check whether the MAC
+        * immediately. The hns3 VF PMD should check whether the MAC
         * address has been changed by the PF kernel ethdev driver, if changed
         * VF driver should configure hardware using the new MAC address in the
         * recovering hardware configuration stage of the reset process.
@@ -2416,12 +2416,12 @@ hns3vf_dev_init(struct rte_eth_dev *eth_dev)
        /*
         * The hns3 PF ethdev driver in kernel support setting VF MAC address
         * on the host by "ip link set ..." command. To avoid some incorrect
-        * scenes, for example, hns3 VF PMD driver fails to receive and send
+        * scenes, for example, hns3 VF PMD fails to receive and send
         * packets after user configure the MAC address by using the
-        * "ip link set ..." command, hns3 VF PMD driver keep the same MAC
+        * "ip link set ..." command, hns3 VF PMD keep the same MAC
         * address strategy as the hns3 kernel ethdev driver in the
         * initialization. If user configure a MAC address by the ip command
-        * for VF device, then hns3 VF PMD driver will start with it, otherwise
+        * for VF device, then hns3 VF PMD will start with it, otherwise
         * start with a random MAC address in the initialization.
         */
        if (rte_is_zero_ether_addr((struct rte_ether_addr *)hw->mac.mac_addr))
index 85495bbe89d90a11311cc9e62d1b4c763faeef1c..3a4b699ae26a6ce6717c7e81b4cdead233a4750b 100644 (file)
@@ -667,7 +667,7 @@ hns3_rss_set_default_args(struct hns3_hw *hw)
 }
 
 /*
- * RSS initialization for hns3 pmd driver.
+ * RSS initialization for hns3 PMD.
  */
 int
 hns3_config_rss(struct hns3_adapter *hns)
@@ -739,7 +739,7 @@ rss_tuple_uninit:
 }
 
 /*
- * RSS uninitialization for hns3 pmd driver.
+ * RSS uninitialization for hns3 PMD.
  */
 void
 hns3_rss_uninit(struct hns3_adapter *hns)
index 40cc4e9c1ad6c7be5f42761566fb993e0d2f9906..f365daadf81aaa023944b9aaba2a88c48fd5b20f 100644 (file)
@@ -1899,8 +1899,8 @@ hns3_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t nb_desc,
        /*
         * For hns3 PF device, if the VLAN mode is HW_SHIFT_AND_DISCARD_MODE,
         * the pvid_sw_discard_en in the queue struct should not be changed,
-        * because PVID-related operations do not need to be processed by PMD
-        * driver. For hns3 VF device, whether it needs to process PVID depends
+        * because PVID-related operations do not need to be processed by PMD.
+        * For hns3 VF device, whether it needs to process PVID depends
         * on the configuration of PF kernel mode netdevice driver. And the
         * related PF configuration is delivered through the mailbox and finally
         * reflectd in port_base_vlan_cfg.
@@ -3039,8 +3039,8 @@ hns3_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t nb_desc,
        /*
         * For hns3 PF device, if the VLAN mode is HW_SHIFT_AND_DISCARD_MODE,
         * the pvid_sw_shift_en in the queue struct should not be changed,
-        * because PVID-related operations do not need to be processed by PMD
-        * driver. For hns3 VF device, whether it needs to process PVID depends
+        * because PVID-related operations do not need to be processed by PMD.
+        * For hns3 VF device, whether it needs to process PVID depends
         * on the configuration of PF kernel mode netdev driver. And the
         * related PF configuration is delivered through the mailbox and finally
         * reflectd in port_base_vlan_cfg.
index df731856ef772852f6b38b6a3ee075ceb16d78e6..5423568cd019e049b4dfea00622a70a452d307c0 100644 (file)
@@ -318,7 +318,7 @@ struct hns3_rx_queue {
         * should not be transitted to the upper-layer application. For hardware
         * network engine whose vlan mode is HNS3_HW_SHIFT_AND_DISCARD_MODE,
         * such as kunpeng 930, PVID will not be reported to the BDs. So, PMD
-        * driver does not need to perform PVID-related operation in Rx. At this
+        * does not need to perform PVID-related operation in Rx. At this
         * point, the pvid_sw_discard_en will be false.
         */
        uint8_t pvid_sw_discard_en:1;
@@ -490,7 +490,7 @@ struct hns3_tx_queue {
         * PVID will overwrite the outer VLAN field of Tx BD. For the hardware
         * network engine whose vlan mode is HNS3_HW_SHIFT_AND_DISCARD_MODE,
         * such as kunpeng 930, if the PVID is set, the hardware will shift the
-        * VLAN field automatically. So, PMD driver does not need to do
+        * VLAN field automatically. So, PMD does not need to do
         * PVID-related operations in Tx. And pvid_sw_shift_en will be false at
         * this point.
         */
index 344cbd25d314f2bf440d4dad89244bc8a6d11d44..c0bfff43ee9627145ad6e3acdd908ff2122b6fcf 100644 (file)
@@ -1922,7 +1922,7 @@ i40e_dev_configure(struct rte_eth_dev *dev)
                goto err;
 
        /* VMDQ setup.
-        *  General PMD driver call sequence are NIC init, configure,
+        *  General PMD call sequence are NIC init, configure,
         *  rx/tx_queue_setup and dev_start. In rx/tx_queue_setup() function, it
         *  will try to lookup the VSI that specific queue belongs to if VMDQ
         *  applicable. So, VMDQ setting has to be done before
index 3556c9cd171f183b1bf8c3c7c4b63e52161bc9d0..8b35fa119c936ce159371a1d8d11f82b1e0f27c4 100644 (file)
@@ -8,7 +8,7 @@
  *
  * @file dpdk/pmd/nfp_net_pmd.h
  *
- * Netronome NFP_NET PMD driver
+ * Netronome NFP_NET PMD
  */
 
 #ifndef _NFP_COMMON_H_
index 830863af28bceb61513c8d7b7da4e4aabf188d2f..8e81cc498f4ca8d583558dadd9782beb931536b0 100644 (file)
@@ -342,7 +342,7 @@ nfp_net_close(struct rte_eth_dev *dev)
                                     (void *)dev);
 
        /*
-        * The ixgbe PMD driver disables the pcie master on the
+        * The ixgbe PMD disables the pcie master on the
         * device. The i40e does not...
         */
 
index 5557a1e002adb80590310827aafd52565e8318ea..303ef72b1b2dc919cf35d05dfac405c4fa6dadfa 100644 (file)
@@ -238,7 +238,7 @@ nfp_netvf_close(struct rte_eth_dev *dev)
                             (void *)dev);
 
        /*
-        * The ixgbe PMD driver disables the pcie master on the
+        * The ixgbe PMD disables the pcie master on the
         * device. The i40e does not...
         */
 
index 6b2b171b013a25f165dd527c861294b3dfe3acc0..55d92d590a632214b5e3a3f9c9ab5dcd8e6d4ec0 100644 (file)
@@ -42,5 +42,5 @@ Some features added in this version:
 3. Add altera SPI master driver and Intel MAX10 device driver.
 4. Add Altera I2C master driver and AT24 eeprom driver.
 5. Add Device Tree support to get the configuration from card.
-6. Instruding and exposing APIs to DPDK PMD driver to access networking
+6. Instruding and exposing APIs to DPDK PMD to access networking
 functionality.
index ff193f2d6592b9b7de4ed09ecdb1af87658af592..1dbcf73b0eb1921831436b4d50d1b7fd165c7845 100644 (file)
@@ -164,7 +164,7 @@ rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
 int
 rte_bbdev_start(uint16_t dev_id);
@@ -207,7 +207,7 @@ rte_bbdev_close(uint16_t dev_id);
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
 int
 rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id);
@@ -222,7 +222,7 @@ rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id);
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
 int
 rte_bbdev_queue_stop(uint16_t dev_id, uint16_t queue_id);
@@ -782,7 +782,7 @@ rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event,
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
 int
 rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id);
@@ -798,7 +798,7 @@ rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id);
  *
  * @return
  *   - 0 on success
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
 int
 rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id);
@@ -825,7 +825,7 @@ rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id);
  * @return
  *   - 0 on success
  *   - ENOTSUP if interrupts are not supported by the identified device
- *   - negative value on failure - as returned from PMD driver
+ *   - negative value on failure - as returned from PMD
  */
 int
 rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,
index b2a0e25001de0fe03f8d890276a94e8fad2ec729..f9a42d1f059a4b281a8a3f2c3cbcb7de5a01c1ef 100644 (file)
@@ -319,7 +319,7 @@ rte_compressdev_pmd_release_device(struct rte_compressdev *dev);
  * PMD assist function to parse initialisation arguments for comp driver
  * when creating a new comp PMD device instance.
  *
- * PMD driver should set default values for that PMD before calling function,
+ * PMD should set default values for that PMD before calling function,
  * these default values will be over-written with successfully parsed values
  * from args string.
  *
index 1bca24e74e5068fea14314dfb742af15d8d9ee90..b9146f652ccb9e2bb932733be8a2a5b98a9ab3fb 100644 (file)
@@ -483,7 +483,7 @@ rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev);
  * PMD assist function to parse initialisation arguments for crypto driver
  * when creating a new crypto PMD device instance.
  *
- * PMD driver should set default values for that PMD before calling function,
+ * PMD should set default values for that PMD before calling function,
  * these default values will be over-written with successfully parsed values
  * from args string.
  *
index e42d8739ab633a1c546835d4ff9cb72d50e9460f..064785686f7fee2a07b210dff50645eff375b184 100644 (file)
@@ -59,7 +59,7 @@ typedef uint16_t (*rte_dma_burst_capacity_t)(const void *dev_private, uint16_t v
  * functions.
  *
  * The 'dev_private' field was placed in the first cache line to optimize
- * performance because the PMD driver mainly depends on this field.
+ * performance because the PMD mainly depends on this field.
  */
 struct rte_dma_fp_object {
        /** PMD-specific private data. The driver should copy
index 6c3f7746720fb20bb528e0eca944c865869ed8d9..448a41cb0ece46130637730a7825a7b5ca33ba7d 100644 (file)
@@ -8,7 +8,7 @@
 /**
  * @file
  *
- * RTE PMD Driver Registration Interface
+ * RTE PMD Registration Interface
  *
  * This file manages the list of device drivers.
  */
index 71c8af9df3985c2d9c2aec7292155eeedcac7155..37a0f042ab91ec880d4b644bd18a3ab868877265 100644 (file)
@@ -35,7 +35,7 @@ extern "C" {
 /**
  * Class type key in global devargs syntax.
  *
- * Legacy devargs parser doesn't parse class type. PMD driver is
+ * Legacy devargs parser doesn't parse class type. PMD is
  * encouraged to use this key to resolve class type.
  */
 #define RTE_DEVARGS_KEY_CLASS "class"
@@ -43,7 +43,7 @@ extern "C" {
 /**
  * Driver type key in global devargs syntax.
  *
- * Legacy devargs parser doesn't parse driver type. PMD driver is
+ * Legacy devargs parser doesn't parse driver type. PMD is
  * encouraged to use this key to resolve driver type.
  */
 #define RTE_DEVARGS_KEY_DRIVER "driver"
index 096b676fc19ad24575e3bbfc2bcce70242f17442..fa299c8ad70e5d468f1e18a7c07f76b0a624bb02 100644 (file)
@@ -2610,7 +2610,7 @@ int rte_eth_tx_hairpin_queue_setup
  *   - (-EINVAL) if bad parameter.
  *   - (-ENODEV) if *port_id* invalid
  *   - (-ENOTSUP) if hardware doesn't support.
- *   - Others detailed errors from PMD drivers.
+ *   - Others detailed errors from PMDs.
  */
 __rte_experimental
 int rte_eth_hairpin_get_peer_ports(uint16_t port_id, uint16_t *peer_ports,
@@ -2636,7 +2636,7 @@ int rte_eth_hairpin_get_peer_ports(uint16_t port_id, uint16_t *peer_ports,
  *   - (-ENODEV) if Tx port ID is invalid.
  *   - (-EBUSY) if device is not in started state.
  *   - (-ENOTSUP) if hardware doesn't support.
- *   - Others detailed errors from PMD drivers.
+ *   - Others detailed errors from PMDs.
  */
 __rte_experimental
 int rte_eth_hairpin_bind(uint16_t tx_port, uint16_t rx_port);
@@ -2663,7 +2663,7 @@ int rte_eth_hairpin_bind(uint16_t tx_port, uint16_t rx_port);
  *   - (-ENODEV) if Tx port ID is invalid.
  *   - (-EBUSY) if device is in stopped state.
  *   - (-ENOTSUP) if hardware doesn't support.
- *   - Others detailed errors from PMD drivers.
+ *   - Others detailed errors from PMDs.
  */
 __rte_experimental
 int rte_eth_hairpin_unbind(uint16_t tx_port, uint16_t rx_port);
@@ -2706,7 +2706,7 @@ int rte_eth_dev_is_valid_port(uint16_t port_id);
  *   - -ENODEV: if *port_id* is invalid.
  *   - -EINVAL: The queue_id out of range or belong to hairpin.
  *   - -EIO: if device is removed.
- *   - -ENOTSUP: The function not supported in PMD driver.
+ *   - -ENOTSUP: The function not supported in PMD.
  */
 int rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id);
 
@@ -2724,7 +2724,7 @@ int rte_eth_dev_rx_queue_start(uint16_t port_id, uint16_t rx_queue_id);
  *   - -ENODEV: if *port_id* is invalid.
  *   - -EINVAL: The queue_id out of range or belong to hairpin.
  *   - -EIO: if device is removed.
- *   - -ENOTSUP: The function not supported in PMD driver.
+ *   - -ENOTSUP: The function not supported in PMD.
  */
 int rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id);
 
@@ -2743,7 +2743,7 @@ int rte_eth_dev_rx_queue_stop(uint16_t port_id, uint16_t rx_queue_id);
  *   - -ENODEV: if *port_id* is invalid.
  *   - -EINVAL: The queue_id out of range or belong to hairpin.
  *   - -EIO: if device is removed.
- *   - -ENOTSUP: The function not supported in PMD driver.
+ *   - -ENOTSUP: The function not supported in PMD.
  */
 int rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id);
 
@@ -2761,7 +2761,7 @@ int rte_eth_dev_tx_queue_start(uint16_t port_id, uint16_t tx_queue_id);
  *   - -ENODEV: if *port_id* is invalid.
  *   - -EINVAL: The queue_id out of range or belong to hairpin.
  *   - -EIO: if device is removed.
- *   - -ENOTSUP: The function not supported in PMD driver.
+ *   - -ENOTSUP: The function not supported in PMD.
  */
 int rte_eth_dev_tx_queue_stop(uint16_t port_id, uint16_t tx_queue_id);
 
@@ -2963,7 +2963,7 @@ int rte_eth_allmulticast_get(uint16_t port_id);
  *   Link information written back.
  * @return
  *   - (0) if successful.
- *   - (-ENOTSUP) if the function is not supported in PMD driver.
+ *   - (-ENOTSUP) if the function is not supported in PMD.
  *   - (-ENODEV) if *port_id* invalid.
  *   - (-EINVAL) if bad parameter.
  */
@@ -2979,7 +2979,7 @@ int rte_eth_link_get(uint16_t port_id, struct rte_eth_link *link);
  *   Link information written back.
  * @return
  *   - (0) if successful.
- *   - (-ENOTSUP) if the function is not supported in PMD driver.
+ *   - (-ENOTSUP) if the function is not supported in PMD.
  *   - (-ENODEV) if *port_id* invalid.
  *   - (-EINVAL) if bad parameter.
  */