Skip to content

Commit

Permalink
ice: update driver to 1.14.9
Browse files Browse the repository at this point in the history
Signed-off-by: Frank Du <frank.du@intel.com>
  • Loading branch information
frankdjx committed Jun 13, 2024
1 parent dee54bc commit ab46e0f
Show file tree
Hide file tree
Showing 6 changed files with 151 additions and 14 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## Changelog for 24.12

* ice: update driver to 1.14.9

## Changelog for 24.06

* dpdk: upgrade dpdk version to 23.11.
Expand Down
28 changes: 14 additions & 14 deletions doc/e810.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,35 @@ The Media Transport Library relies on certain rate limit patches that are curren

Note: Occasionally, after a system reboot, the operating system(Ubuntu) may automatically upgrade to a new kernel version. In such cases, it is important to remember to rebuild the driver to ensure compatibility with the new kernel version.

### 1.1 Download driver version with 1.13.7
### 1.1 Download driver version with 1.14.9

To download the CVL 1.13.7 driver source code, please visit <https://www.intel.com/content/www/us/en/download/19630/intel-network-adapter-driver-for-e810-series-devices-under-linux.html> and select `Download ice-1.13.7.tar.gz`.
To download the CVL 1.14.9 driver source code, please visit <https://www.intel.com/content/www/us/en/download/19630/intel-network-adapter-driver-for-e810-series-devices-under-linux.html> and select `Download ice-1.14.9.tar.gz`.

Make sure to select the 1.13.7 version from the available version options, as there may be newer versions available. It is important to note that version 1.13.7 is the latest version we have verified. Typically, we revisit driver version upgrades on a quarterly schedule.
Make sure to select the 1.14.9 version from the available version options, as there may be newer versions available. It is important to note that version 1.14.9 is the latest version we have verified. Typically, we revisit driver version upgrades on a quarterly schedule.

The steps are based on downloading file ice-1.13.7.tar.gz
The steps are based on downloading file ice-1.14.9.tar.gz

### 1.2 Unzip 1.13.7 driver and enter into the source code directory
### 1.2 Unzip 1.14.9 driver and enter into the source code directory

```bash
tar xvzf ice-1.13.7.tar.gz
cd ice-1.13.7
tar xvzf ice-1.14.9.tar.gz
cd ice-1.14.9
```

### 1.3 Patch 1.13.7 driver with rate limit patches
### 1.3 Patch 1.14.9 driver with rate limit patches

Apply the all patches under [ice_driver](../patches/ice_drv/1.13.7/)
Apply the all patches under [ice_driver](../patches/ice_drv/1.14.9/)

```bash
git init
git add .
git commit -m "init version 1.13.7"
git am $mtl_source_code/patches/ice_drv/1.13.7/*.patch
git commit -m "init version 1.14.9"
git am $mtl_source_code/patches/ice_drv/1.14.9/*.patch
```

Note: The variable $mtl_source_code should be set to the top directory of the Media Transport Library source code. Please ensure that it is correctly configured. Additionally, when running the "git am" command, please verify that it executes without any errors.

Use "git log" to check if the latest commit is `version: update to Kahawai_1.13.7_20240220`.
Use "git log" to check if the latest commit is `version: update to Kahawai_1.14.9_20240613`.

### 1.4 Build and install the driver

Expand Down Expand Up @@ -84,7 +84,7 @@ sudo dmesg | grep "Intel(R) Ethernet Connection E800 Series Linux Driver"
```

```bash
ice: Intel(R) Ethernet Connection E800 Series Linux Driver - version Kahawai_1.13.7_20240220
ice: Intel(R) Ethernet Connection E800 Series Linux Driver - version Kahawai_1.14.9_20240613
```

Similar steps to confirm the DDP version.
Expand Down Expand Up @@ -149,7 +149,7 @@ A correct setup should have an output similar to the following:

```bash
driver: ice
version: Kahawai_1.13.7_20240220
version: Kahawai_1.14.9_20240613
firmware-version: 4.40 0x8001c967 1.3534.0
expansion-rom-version:
bus-info: 0000:af:00.0
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
From 552f64367fd7c166497ac364d9169386de3811cc Mon Sep 17 00:00:00 2001
From: "Du, Frank" <frank.du@intel.com>
Date: Wed, 3 Aug 2022 10:34:14 +0800
Subject: [PATCH 1/4] vf: support kahawai runtime rl queue

Signed-off-by: Du, Frank <frank.du@intel.com>
---
src/ice_virtchnl.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/ice_virtchnl.c b/src/ice_virtchnl.c
index 74f9c2c..0150e4b 100644
--- a/src/ice_virtchnl.c
+++ b/src/ice_virtchnl.c
@@ -3619,6 +3619,11 @@ static int ice_vc_cfg_q_bw(struct ice_vf *vf, u8 *msg)

memcpy(vf->qs_bw, qs_bw, len);

+ /* for kahawai runtime rl */
+ if (vf->qs_bw)
+ if (ice_vf_cfg_qs_bw(vf, qbw->num_queues))
+ v_ret = VIRTCHNL_STATUS_ERR_PARAM;
+
err_bw:
kfree(qs_bw);

@@ -3782,11 +3787,12 @@ skip_non_adq_checks:
if (qpi->txq.ring_len > 0) {
vsi->tx_rings[q_idx]->dma = qpi->txq.dma_ring_addr;
vsi->tx_rings[q_idx]->count = qpi->txq.ring_len;
-
+#if 0 /* for kahawai runtime rl */
/* Disable any existing queue first */
if (ice_vf_vsi_dis_single_txq(vf, vsi, q_idx,
qpi->txq.queue_id))
goto error_param;
+#endif

/* Configure a queue with the requested settings */
if (ice_vsi_cfg_single_txq(vsi, vsi->tx_rings, q_idx)) {
@@ -3877,8 +3883,10 @@ skip_non_adq_checks:
}
}

+#if 0 /* for kahawai runtime rl */
if (ice_vf_cfg_qs_bw(vf, qci->num_queue_pairs))
goto error_param;
+#endif

/* send the response to the VF */
return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES,
--
2.34.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
From 1b547829735bae74d13c1430c4ece3d7bbfed217 Mon Sep 17 00:00:00 2001
From: Frank Du <frank.du@intel.com>
Date: Tue, 21 Feb 2023 09:37:27 +0800
Subject: [PATCH 2/4] ice: set ICE_SCHED_DFLT_BURST_SIZE to 2048

For st2110 rl burst optimization

Signed-off-by: Frank Du <frank.du@intel.com>
---
src/ice_type.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/ice_type.h b/src/ice_type.h
index 8540587..abdb5ee 100644
--- a/src/ice_type.h
+++ b/src/ice_type.h
@@ -1072,7 +1072,7 @@ enum ice_rl_type {
#define ICE_SCHED_DFLT_RL_PROF_ID 0
#define ICE_SCHED_NO_SHARED_RL_PROF_ID 0xFFFF
#define ICE_SCHED_INVAL_PROF_ID 0xFFFF
-#define ICE_SCHED_DFLT_BURST_SIZE (15 * 1024) /* in bytes (15k) */
+#define ICE_SCHED_DFLT_BURST_SIZE (2 * 1024) /* in bytes (2k) */

/* Access Macros for Tx Sched RL Profile data */
#define ICE_TXSCHED_GET_RL_PROF_ID(p) le16_to_cpu((p)->info.profile_id)
--
2.34.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
From 2f58bdf0923662cd43d2aac6e23089b81731b607 Mon Sep 17 00:00:00 2001
From: Frank Du <frank.du@intel.com>
Date: Wed, 21 Feb 2024 13:14:05 +0800
Subject: [PATCH 3/4] vf: allow VIRTCHNL_VF_LARGE_NUM_QPAIRS for ICE_LUT_VSI

Signed-off-by: Frank Du <frank.du@intel.com>
---
src/ice_virtchnl.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/ice_virtchnl.c b/src/ice_virtchnl.c
index 0150e4b..acafebe 100644
--- a/src/ice_virtchnl.c
+++ b/src/ice_virtchnl.c
@@ -760,8 +760,7 @@ static int ice_vc_get_vf_res_msg(struct ice_vf *vf, u8 *msg)
if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_USO)
vfres->vf_cap_flags |= VIRTCHNL_VF_OFFLOAD_USO;

- if (vf->driver_caps & VIRTCHNL_VF_LARGE_NUM_QPAIRS &&
- vsi->rss_lut_type != ICE_LUT_VSI)
+ if (vf->driver_caps & VIRTCHNL_VF_LARGE_NUM_QPAIRS)
vfres->vf_cap_flags |= VIRTCHNL_VF_LARGE_NUM_QPAIRS;

/* Negotiate DCF capability. */
--
2.34.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
From e444a61d379f7d18fdae4e3051403c6ec099ef80 Mon Sep 17 00:00:00 2001
From: Frank Du <frank.du@intel.com>
Date: Thu, 13 Jun 2024 10:11:29 +0800
Subject: [PATCH 4/4] version: update to Kahawai_1.14.9_20240613

Signed-off-by: Frank Du <frank.du@intel.com>
---
src/ice_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/ice_main.c b/src/ice_main.c
index 95e18ea..3a5df55 100644
--- a/src/ice_main.c
+++ b/src/ice_main.c
@@ -32,7 +32,7 @@
#define DRV_VERSION_MINOR 14
#define DRV_VERSION_BUILD 9

-#define DRV_VERSION "1.14.9"
+#define DRV_VERSION "Kahawai_1.14.9_20240613"
#define DRV_SUMMARY "Intel(R) Ethernet Connection E800 Series Linux Driver"
#ifdef ICE_ADD_PROBES
#define DRV_VERSION_EXTRA "_probes"
--
2.34.1

0 comments on commit ab46e0f

Please sign in to comment.