From nobody Fri Oct 3 00:04:28 2025 X-Original-To: dev-commits-src-all@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 4cd86N66ycz6BMvW; Fri, 03 Oct 2025 00:04:28 +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 4cd86N2TKdz3sLl; Fri, 03 Oct 2025 00:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759449868; 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=ssHry5bvxPl0B+6FoIehiAlsLg05g0sw38vFOthBBjU=; b=EKqD2LNSBPk2YuImRSW1NwYs3PKYxaee2e9yoF0tgOZ1LWx84lQm2rf5T7Fp5iRwAQ0UNS NuY/oHQ5lFrA+OdDsQBkgIw5ayCUvMSjQvLl/UFrga56Vm3FW6Khb4ov3jzbi9iIJAIqyY R9yFVmLHxqMohMxl2GABfjmi3wkPUW8TkKr80IGHDv78PhcN3DodkNzA+E4eHBKBhQE2Rx PLr9uqi6c+K/ipBAjnsi63geM8RY67Kx50GIumlc6e6/wNnpwpT/GF/k5HvsEEAb1BAepi JcqXEHjM6Cuc0o/Snw5TTFRPzFucjh9KYmjD6BFYD6Am96htcW70vq6NCNeN+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759449868; 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=ssHry5bvxPl0B+6FoIehiAlsLg05g0sw38vFOthBBjU=; b=eFcFFhZfPu1TeD1sv7owOfvSs+q3yfQe4MusNmAx0wOKTEHjnEtluAUtKJdADuyKCmLaYx K/2iwpEeac8m+NPj5JrghFXdUf8d0Bt9eV2eW2wY3vIRWZm5nhV7XP8S5yqDIoE4eoZBn6 DDi1yzPstbUOPfykpZJG7mDqLQa91VWxWIx8t3SVQc88uM5bi4GSNu47BuJa8zeg9V5hP6 TC6eIy9s5p1H+MfeoqO6PNusvwYRabhE2IJxbfPvA7hpmiXyUiwZ+drIPZGLr3E4TMNh5c Aa5dlaVg5WaBJlQLcAGlgnFRV5b7yfdN7q7amREuKhIt4DgwgTVri1OnF++Y3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1759449868; a=rsa-sha256; cv=none; b=lNRYplBR0rucivszVx1Iq4kiYI5YzqhVqAGnEWQ/bQUiix//GLdy6Yy7wa/XmmX2Ek8npS HUTyIPqWjEn91yc4d2hAA3YZ0wLzCEvwLYI8AlV+0OcTRWiYxai2C4jcxEZ8tZO4Kem0oE NM2St90RS2ShOHcCiGS25eIC6YK1rCPdQ1NhkVA6YKm9jGlUm2JpN54+7ivT6MQRx93mj8 7McAVgjbyyIB5QVBn5Aw3M7Ya04gFCEqx8cJlv/7V9QDAlftIRrgxvWYV7P5n+P2khLIdX R4K//bfP8b0VrINNDw24C7as5fbo8q0EJP4RHv/Lmrja25jAQZKJDWsXViJvHg== 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 4cd86N1wqYzVcq; Fri, 03 Oct 2025 00:04:28 +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 59304Svk056951; Fri, 3 Oct 2025 00:04:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59304Stw056948; Fri, 3 Oct 2025 00:04:28 GMT (envelope-from git) Date: Fri, 3 Oct 2025 00:04:28 GMT Message-Id: <202510030004.59304Stw056948@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: c99a025159a0 - stable/15 - cxgbe(4): Congestion manager context settings for T7 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/15 X-Git-Reftype: branch X-Git-Commit: c99a025159a0aa2d5ac9a1785e3fc7e92a4f6b89 Auto-Submitted: auto-generated The branch stable/15 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=c99a025159a0aa2d5ac9a1785e3fc7e92a4f6b89 commit c99a025159a0aa2d5ac9a1785e3fc7e92a4f6b89 Author: Navdeep Parhar AuthorDate: 2025-09-29 08:43:28 +0000 Commit: Navdeep Parhar CommitDate: 2025-10-02 22:09:05 +0000 cxgbe(4): Congestion manager context settings for T7 Sponsored by: Chelsio Communications (cherry picked from commit c392b5a9e44b9c8a0173a4e2c1fb87ee88f4aa3f) --- 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) {