From nobody Mon Sep 29 14:37:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cb3gz2Vt0z68KX3; Mon, 29 Sep 2025 14:37:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cb3gz0yRPz3sd9; Mon, 29 Sep 2025 14:37:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759156671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Apz+NkQjpT8y0BGF4GJNWMcZcafu3j7DcHLVg2WsFPg=; b=X9f+tDCjdSQ6cKQyoO6GaIMJWb3QCQX74ZZ7MXbFYTincoaQxwisHSE7pXoMMCqz1rM2fO Nel7KQUuWEgWUMFdRkqqRyAHzVizzm2ECWPuvnc47wOwcvRBsnPHSQcyxuFKJ6uX3XBSdB nZ4P3RrnKy8Efnq03I2CBOa8BImfga4DoEwjftdjjfCjtG+kecjR0IapKPEcpMlDmdSmJE j0nMwMY3rnMTzkKY1KKv8lJ54c6L/23JezI1QPkNxgTC6m1S3yUwhKMUYJq5bSq38bqwhe rfnOWLsgEaAqyNqS/fdAdd53KWplu20Dgyi4BiN8hBpkmtxo+3uZOvsurFMM5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759156671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Apz+NkQjpT8y0BGF4GJNWMcZcafu3j7DcHLVg2WsFPg=; b=ww6+Tpikuh2XuyJtuKoG3XIVFIql71a5tRVwgaBdMEWmeM9WidmR8gsrZl08DYCGlInWKA xrflvUPOqrtP5oS5v63hrx/iN6KVodtcDUvJp0z/KiFBV66i8LhFYqM75L8iBaJIJFvwdG N/35ERaIb1LFjzmQQG01n0boxiAbe40bnbf+LOnagU2BLW6tFZ2vLkHRoJwMcoBk0G1wM9 rSevNZE3Kunzu+bcl/LcuBLjYo9eQSuEzY6NCRp56xAufqTiBILxZMArzkif7ZY+R2Mq0Q x57uADrH/gntEF9ZJj6nTaRUKXVd0N7piRQWf+RijUncohgOvQO8xFDsDlpXTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1759156671; a=rsa-sha256; cv=none; b=YT8jxe2+VbYdyZqix7Z/rP1nPYQGGC4VkF2MkWG8luD6jJOYLRPmMErUOS9o50agtcOloN nzUQ3nxxSJWaTSJZjVo1F0bD/8boRHyDTP2+kxPEZCTDsCoveE+HrLUD+RVCfSS5Ke33Kk D68nk/ENj6/od6fl+kBtVarCHaHdps1KmMRPYqPoy48aF4tN+k4qdFrZETzTwBDe0PSdTL UFPXSlgnIqcqiQ3OhALc7eiIcE6rEnvF4H7HS9qKMSHUUOYSf4LmhU+mMCOrlIJAh5E90z 7oTt4XISdPvZpef26BZzon5psZ0n/K97x3IoN//AKO+SlV2q59EIWbnPmorxsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cb3gz0GgXz182W; Mon, 29 Sep 2025 14:37:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 58TEbo9U017812; Mon, 29 Sep 2025 14:37:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58TEboqj017809; Mon, 29 Sep 2025 14:37:50 GMT (envelope-from git) Date: Mon, 29 Sep 2025 14:37:50 GMT Message-Id: <202509291437.58TEboqj017809@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: c392b5a9e44b - main - cxgbe(4): Congestion manager context settings for T7 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c392b5a9e44b9c8a0173a4e2c1fb87ee88f4aa3f Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=c392b5a9e44b9c8a0173a4e2c1fb87ee88f4aa3f commit c392b5a9e44b9c8a0173a4e2c1fb87ee88f4aa3f Author: Navdeep Parhar AuthorDate: 2025-09-29 08:43:28 +0000 Commit: Navdeep Parhar CommitDate: 2025-09-29 14:25:59 +0000 cxgbe(4): Congestion manager context settings for T7 MFC after: 3 days Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_netmap.c | 7 +++++-- sys/dev/cxgbe/t4_sge.c | 27 +++++++++++++++++++-------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/sys/dev/cxgbe/t4_netmap.c b/sys/dev/cxgbe/t4_netmap.c index ddd7d974aa48..12aaca6ee77a 100644 --- a/sys/dev/cxgbe/t4_netmap.c +++ b/sys/dev/cxgbe/t4_netmap.c @@ -276,7 +276,7 @@ free_nm_txq(struct vi_info *vi, struct sge_nm_txq *nm_txq) static int alloc_nm_rxq_hwq(struct vi_info *vi, struct sge_nm_rxq *nm_rxq) { - int rc, cntxt_id; + int rc, cntxt_id, cong_map; __be32 v; struct adapter *sc = vi->adapter; struct port_info *pi = vi->pi; @@ -284,7 +284,6 @@ alloc_nm_rxq_hwq(struct vi_info *vi, struct sge_nm_rxq *nm_rxq) struct netmap_adapter *na = NA(vi->ifp); struct fw_iq_cmd c; const int cong_drop = nm_cong_drop; - const int cong_map = pi->rx_e_chan_map; MPASS(na != NULL); MPASS(nm_rxq->iq_desc != NULL); @@ -321,6 +320,10 @@ alloc_nm_rxq_hwq(struct vi_info *vi, struct sge_nm_rxq *nm_rxq) c.iqsize = htobe16(vi->qsize_rxq); c.iqaddr = htobe64(nm_rxq->iq_ba); if (cong_drop != -1) { + if (chip_id(sc) >= CHELSIO_T7) + cong_map = 1 << pi->hw_port; + else + cong_map = pi->rx_e_chan_map; c.iqns_to_fl0congen = htobe32(F_FW_IQ_CMD_IQFLINTCONGEN | V_FW_IQ_CMD_FL0CNGCHMAP(cong_map) | F_FW_IQ_CMD_FL0CONGCIF | F_FW_IQ_CMD_FL0CONGEN); diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index 4aa2b7236979..ce506f6c9192 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -3586,7 +3586,13 @@ alloc_iq_fl_hwq(struct vi_info *vi, struct sge_iq *iq, struct sge_fl *fl) c.iqaddr = htobe64(iq->ba); c.iqns_to_fl0congen = htobe32(V_FW_IQ_CMD_IQTYPE(iq->qtype)); if (iq->cong_drop != -1) { - cong_map = iq->qtype == IQ_ETH ? pi->rx_e_chan_map : 0; + if (iq->qtype == IQ_ETH) { + if (chip_id(sc) >= CHELSIO_T7) + cong_map = 1 << pi->hw_port; + else + cong_map = pi->rx_e_chan_map; + } else + cong_map = 0; c.iqns_to_fl0congen |= htobe32(F_FW_IQ_CMD_IQFLINTCONGEN); } @@ -3939,14 +3945,19 @@ t4_sge_set_conm_context(struct adapter *sc, int cntxt_id, int cong_drop, param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DMAQ) | V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DMAQ_CONM_CTXT) | V_FW_PARAMS_PARAM_YZ(cntxt_id); - val = V_CONMCTXT_CNGTPMODE(cong_mode); - if (cong_mode == X_CONMCTXT_CNGTPMODE_CHANNEL || - cong_mode == X_CONMCTXT_CNGTPMODE_BOTH) { - for (i = 0, ch_map = 0; i < 4; i++) { - if (cong_map & (1 << i)) - ch_map |= 1 << (i << cng_ch_bits_log); + if (chip_id(sc) >= CHELSIO_T7) { + val = V_T7_DMAQ_CONM_CTXT_CNGTPMODE(cong_mode) | + V_T7_DMAQ_CONM_CTXT_CH_VEC(cong_map); + } else { + val = V_CONMCTXT_CNGTPMODE(cong_mode); + if (cong_mode == X_CONMCTXT_CNGTPMODE_CHANNEL || + cong_mode == X_CONMCTXT_CNGTPMODE_BOTH) { + for (i = 0, ch_map = 0; i < 4; i++) { + if (cong_map & (1 << i)) + ch_map |= 1 << (i << cng_ch_bits_log); + } + val |= V_CONMCTXT_CNGCHMAP(ch_map); } - val |= V_CONMCTXT_CNGCHMAP(ch_map); } rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, ¶m, &val); if (rc != 0) {