diff mbox series

[V2,net-next,1/9] devlink: add documentation for hns3 driver

Message ID 1626335110-50769-2-git-send-email-huangguangbin2@huawei.com
State New
Headers show
Series [V2,net-next,1/9] devlink: add documentation for hns3 driver | expand

Commit Message

huangguangbin (A) July 15, 2021, 7:45 a.m. UTC
From: Hao Chen <chenhao288@hisilicon.com>

Add a file to document devlink support for hns3 driver.

Now support devlink param and devlink info.

Signed-off-by: Hao Chen <chenhao288@hisilicon.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
---
 Documentation/networking/devlink/hns3.rst  | 56 ++++++++++++++++++++++++++++++
 Documentation/networking/devlink/index.rst |  1 +
 2 files changed, 57 insertions(+)
 create mode 100644 Documentation/networking/devlink/hns3.rst

Comments

Jakub Kicinski July 16, 2021, 6 a.m. UTC | #1
On Thu, 15 Jul 2021 15:45:02 +0800, Guangbin Huang wrote:
> From: Hao Chen <chenhao288@hisilicon.com>

> 

> Add a file to document devlink support for hns3 driver.

> 

> Now support devlink param and devlink info.

> 

> Signed-off-by: Hao Chen <chenhao288@hisilicon.com>

> Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>


> +This document describes the devlink features implemented by the ``hns3``

> +device driver.

> +

> +Parameters

> +==========

> +

> +The ``hns3`` driver implements the following driver-specific

> +parameters.

> +

> +.. list-table:: Driver-specific parameters implemented

> +   :widths: 10 10 10 70

> +

> +   * - Name

> +     - Type

> +     - Mode

> +     - Description

> +   * - ``rx_buf_len``

> +     - U32

> +     - driverinit

> +     - Set rx BD buffer size, now only support setting 2048 and 4096.

> +

> +       * The feature is used to change the buffer size of each BD of Rx ring

> +         between 2KB and 4KB, then do devlink reload operation to take effect.


Does the reload required here differ from the reload performed when the
ring size is changed? You can extend the ethtool API, devlink params
should be used for very vendor specific configuration. Which page
fragment size very much is not.

> +   * - ``tx_buf_size``

> +     - U32

> +     - driverinit

> +     - Set tx bounce buf size.

> +

> +       * The size is setted for tx bounce feature. Tx bounce buffer feature is

> +         used for small size packet or frag. It adds a queue based tx shared

> +         bounce buffer to memcpy the small packet when the len of xmitted skb is

> +         below tx_copybreak(value to distinguish small size and normal size),

> +         and reduce the overhead of dma map and unmap when IOMMU is on.


IMHO setting the tx_copybreak should be configured thru the same API as
the size of the buffer it uses. Hence, again, ethtool.
huangguangbin (A) July 19, 2021, 1:21 a.m. UTC | #2
On 2021/7/16 14:00, Jakub Kicinski wrote:
> On Thu, 15 Jul 2021 15:45:02 +0800, Guangbin Huang wrote:

>> From: Hao Chen <chenhao288@hisilicon.com>

>>

>> Add a file to document devlink support for hns3 driver.

>>

>> Now support devlink param and devlink info.

>>

>> Signed-off-by: Hao Chen <chenhao288@hisilicon.com>

>> Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>

> 

>> +This document describes the devlink features implemented by the ``hns3``

>> +device driver.

>> +

>> +Parameters

>> +==========

>> +

>> +The ``hns3`` driver implements the following driver-specific

>> +parameters.

>> +

>> +.. list-table:: Driver-specific parameters implemented

>> +   :widths: 10 10 10 70

>> +

>> +   * - Name

>> +     - Type

>> +     - Mode

>> +     - Description

>> +   * - ``rx_buf_len``

>> +     - U32

>> +     - driverinit

>> +     - Set rx BD buffer size, now only support setting 2048 and 4096.

>> +

>> +       * The feature is used to change the buffer size of each BD of Rx ring

>> +         between 2KB and 4KB, then do devlink reload operation to take effect.

> 

> Does the reload required here differ from the reload performed when the

> ring size is changed? You can extend the ethtool API, devlink params

> should be used for very vendor specific configuration. Which page

> fragment size very much is not.

>Ok, we will try to extend the ethtool API to implement this feature.

Thanks.

>> +   * - ``tx_buf_size``

>> +     - U32

>> +     - driverinit

>> +     - Set tx bounce buf size.

>> +

>> +       * The size is setted for tx bounce feature. Tx bounce buffer feature is

>> +         used for small size packet or frag. It adds a queue based tx shared

>> +         bounce buffer to memcpy the small packet when the len of xmitted skb is

>> +         below tx_copybreak(value to distinguish small size and normal size),

>> +         and reduce the overhead of dma map and unmap when IOMMU is on.

> 

> IMHO setting the tx_copybreak should be configured thru the same API as

> the size of the buffer it uses. Hence, again, ethtool.

> .

> 

Ok.
diff mbox series

Patch

diff --git a/Documentation/networking/devlink/hns3.rst b/Documentation/networking/devlink/hns3.rst
new file mode 100644
index 000000000000..ed11a3d59c0c
--- /dev/null
+++ b/Documentation/networking/devlink/hns3.rst
@@ -0,0 +1,56 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+====================
+hns3 devlink support
+====================
+
+This document describes the devlink features implemented by the ``hns3``
+device driver.
+
+Parameters
+==========
+
+The ``hns3`` driver implements the following driver-specific
+parameters.
+
+.. list-table:: Driver-specific parameters implemented
+   :widths: 10 10 10 70
+
+   * - Name
+     - Type
+     - Mode
+     - Description
+   * - ``rx_buf_len``
+     - U32
+     - driverinit
+     - Set rx BD buffer size, now only support setting 2048 and 4096.
+
+       * The feature is used to change the buffer size of each BD of Rx ring
+         between 2KB and 4KB, then do devlink reload operation to take effect.
+   * - ``tx_buf_size``
+     - U32
+     - driverinit
+     - Set tx bounce buf size.
+
+       * The size is setted for tx bounce feature. Tx bounce buffer feature is
+         used for small size packet or frag. It adds a queue based tx shared
+         bounce buffer to memcpy the small packet when the len of xmitted skb is
+         below tx_copybreak(value to distinguish small size and normal size),
+         and reduce the overhead of dma map and unmap when IOMMU is on.
+
+The ``hns3`` driver supports reloading via ``DEVLINK_CMD_RELOAD``.
+
+Info versions
+=============
+
+The ``hns3`` driver reports the following versions
+
+.. list-table:: devlink info versions implemented
+   :widths: 10 10 80
+
+   * - Name
+     - Type
+     - Description
+   * - ``fw``
+     - running
+     - Used to represent the firmware version.
diff --git a/Documentation/networking/devlink/index.rst b/Documentation/networking/devlink/index.rst
index b3b9e0692088..03f56ed2961f 100644
--- a/Documentation/networking/devlink/index.rst
+++ b/Documentation/networking/devlink/index.rst
@@ -34,6 +34,7 @@  parameters, info versions, and other features it supports.
    :maxdepth: 1
 
    bnxt
+   hns3
    ionic
    ice
    mlx4