From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AA131A04B7; Tue, 13 Oct 2020 15:49:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A9DC61DBBE; Tue, 13 Oct 2020 15:46:19 +0200 (CEST) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id D8B0E1DB64 for ; Tue, 13 Oct 2020 15:46:02 +0200 (CEST) Received: from mx1-us1.ppe-hosted.com (unknown [10.110.50.143]) by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id 717EA200AB for ; Tue, 13 Oct 2020 13:46:01 +0000 (UTC) Received: from us4-mdac16-6.at1.mdlocal (unknown [10.110.49.173]) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id 702728009B for ; Tue, 13 Oct 2020 13:46:01 +0000 (UTC) X-Virus-Scanned: Proofpoint Essentials engine Received: from mx1-us1.ppe-hosted.com (unknown [10.110.50.7]) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 07A184007F for ; Tue, 13 Oct 2020 13:46:01 +0000 (UTC) Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id C53B94C0066 for ; Tue, 13 Oct 2020 13:46:00 +0000 (UTC) Received: from ukex01.SolarFlarecom.com (10.17.10.4) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 13 Oct 2020 14:45:56 +0100 Received: from opal.uk.solarflarecom.com (10.17.10.1) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 13 Oct 2020 14:45:55 +0100 Received: from ukv-loginhost.uk.solarflarecom.com (ukv-loginhost.uk.solarflarecom.com [10.17.10.39]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 09DDjtuj006006 for ; Tue, 13 Oct 2020 14:45:55 +0100 Received: from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1]) by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 8DFDA1613AB for ; Tue, 13 Oct 2020 14:45:55 +0100 (BST) From: Andrew Rybchenko To: Date: Tue, 13 Oct 2020 14:45:23 +0100 Message-ID: <1602596753-32282-7-git-send-email-arybchenko@solarflare.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1602596753-32282-1-git-send-email-arybchenko@solarflare.com> References: <1602596753-32282-1-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.6.1012-25722.003 X-TM-AS-Result: No-0.378300-8.000000-10 X-TMASE-MatchedRID: DlhWZEuVcQnUVtE/LToEOJSJVT8zAs/055lobknoaffRLEyE6G4DREmu L2rym0QBBsHk0c28yIEvnI30VoIMaoeBgdpbkPh8ExdS7WFvZWtp4xorO9dSmdrq3hdu3tKoAZF U+mvfGap8bO6hWfRWzo9CL1e45ag4wUGgKARXgvJlpwNsTvdlKaIik2/euMx1FL5/d3sGIoL7js HFop9KRRlz1vTsWmwiixzcp/iBykL8OkSa7MC2+8jz0VPUnBA1aN2KuTwsCwKOcdOFHHGmzAwSp OqWwolaxzEmlYDkbow+QzXrY3xf9i9OQltRmiCangIgpj8eDcAZ1CdBJOsoY8RB0bsfrpPInxMy eYT53Rmi52+Q+FhUeX8bPkeGW7qPTDvu8/YwZ6/mOKQnkbuhH0lWsupqpnTRKGhxV2EKqcvGeGi J1lL72hEksr2bR1mg9gbZqKE6kkYckqAQnqJUA6vLjyQveEhYEdOpeiiHeDd69DNEijZ11sPINh wTXBeZ X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10-0.378300-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.6.1012-25722.003 X-MDID: 1602596761-jXuI5Tvw4N7c X-PPE-DISP: 1602596761;jXuI5Tvw4N7c Subject: [dpdk-dev] [PATCH 06/36] common/sfc_efx/base: add max number of Rx scatter buffers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Riverhead QDMA has limitation on maximum number of Rx scatter buffers to be used by a packet. If the limitation is violated, the datapath is dead. FW should ensure that it is OK, but drivers need to know the limitation anyway to check parameters when Rx queues are configured and MTU is set. Signed-off-by: Andrew Rybchenko Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/ef10_nic.c | 3 +++ drivers/common/sfc_efx/base/efx.h | 2 ++ drivers/common/sfc_efx/base/rhead_nic.c | 3 +++ drivers/common/sfc_efx/base/siena_nic.c | 1 + 4 files changed, 9 insertions(+) diff --git a/drivers/common/sfc_efx/base/ef10_nic.c b/drivers/common/sfc_efx/base/ef10_nic.c index 81cd436424..df7db6a803 100644 --- a/drivers/common/sfc_efx/base/ef10_nic.c +++ b/drivers/common/sfc_efx/base/ef10_nic.c @@ -1156,6 +1156,9 @@ ef10_get_datapath_caps( else encp->enc_rx_disable_scatter_supported = B_FALSE; + /* No limit on maximum number of Rx scatter elements per packet. */ + encp->enc_rx_scatter_max = -1; + /* Check if the firmware supports packed stream mode */ if (CAP_FLAGS1(req, RX_PACKED_STREAM)) encp->enc_rx_packed_stream_supported = B_TRUE; diff --git a/drivers/common/sfc_efx/base/efx.h b/drivers/common/sfc_efx/base/efx.h index a245acfe0f..4b7beb209d 100644 --- a/drivers/common/sfc_efx/base/efx.h +++ b/drivers/common/sfc_efx/base/efx.h @@ -1555,6 +1555,8 @@ typedef struct efx_nic_cfg_s { /* Datapath firmware vport reconfigure support */ boolean_t enc_vport_reconfigure_supported; boolean_t enc_rx_disable_scatter_supported; + /* Maximum number of Rx scatter segments supported by HW */ + uint32_t enc_rx_scatter_max; boolean_t enc_allow_set_mac_with_installed_filters; boolean_t enc_enhanced_set_mac_supported; boolean_t enc_init_evq_v2_supported; diff --git a/drivers/common/sfc_efx/base/rhead_nic.c b/drivers/common/sfc_efx/base/rhead_nic.c index 66db68b384..92bc6fdfae 100644 --- a/drivers/common/sfc_efx/base/rhead_nic.c +++ b/drivers/common/sfc_efx/base/rhead_nic.c @@ -158,6 +158,9 @@ rhead_board_cfg( } encp->enc_rx_buf_align_end = end_padding; + /* FIXME: It should be extracted from design parameters (Bug 86844) */ + encp->enc_rx_scatter_max = 7; + /* * Riverhead stores a single global copy of VPD, not per-PF as on * Huntington. diff --git a/drivers/common/sfc_efx/base/siena_nic.c b/drivers/common/sfc_efx/base/siena_nic.c index 9c30e27f59..4137c1e245 100644 --- a/drivers/common/sfc_efx/base/siena_nic.c +++ b/drivers/common/sfc_efx/base/siena_nic.c @@ -177,6 +177,7 @@ siena_board_cfg( encp->enc_fw_assisted_tso_v2_enabled = B_FALSE; encp->enc_fw_assisted_tso_v2_n_contexts = 0; encp->enc_tso_v3_enabled = B_FALSE; + encp->enc_rx_scatter_max = -1; encp->enc_allow_set_mac_with_installed_filters = B_TRUE; encp->enc_rx_packed_stream_supported = B_FALSE; encp->enc_rx_var_packed_stream_supported = B_FALSE; -- 2.17.1