From patchwork Tue Mar 21 10:32:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Chebbi X-Patchwork-Id: 13182552 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8428C6FD1D for ; Tue, 21 Mar 2023 10:33:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230298AbjCUKdw (ORCPT ); Tue, 21 Mar 2023 06:33:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57976 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229828AbjCUKds (ORCPT ); Tue, 21 Mar 2023 06:33:48 -0400 Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7806B38452 for ; Tue, 21 Mar 2023 03:33:17 -0700 (PDT) Received: by mail-pf1-x42e.google.com with SMTP id u20so8193707pfk.12 for ; Tue, 21 Mar 2023 03:33:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1679394796; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=5PVJ17ZfO9DmLoPlC4GtV8JRbkUU3lGXjw5h144d/QY=; b=GDxxONMJGRQGYc3YjsTVr6HSgeh+dPB6JlSEkWvddldcmo5uv40LGPdWzrmZbyniN/ 0mHUR/vTY7MR1M1eHPYgeqSdaeQTH0Ovs4r/Ez1KWKeNlqbO3w2rbaweqO9rKhWuJvij O6uE1/ALotD6oK1sSYpfK6ExLGwAolowWl7P8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679394796; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5PVJ17ZfO9DmLoPlC4GtV8JRbkUU3lGXjw5h144d/QY=; b=0UTUrs9nezOGtHdL80r/aGPrVJz9R2Op2DyG039VzYLTgHrXR+wsmsnLX6ObssKX4u 5hpLhTd7xJtjGknVowVkSpr2hoWPbIrHEOwiUBnorrgpTx8HL4VNhZfCcPSiB47wJbFp jyP9oy3ye1jyMnuBa4MpM/xnzlAi6rrdiYyysd7IArpJEMv7RqwRiDS/PvYoGmw01u+5 c/wFhoesnPkoAIG0U6C0vKiGv1jo/XpPxV2LcXVZU30MOZlX8Jt1TkWibIhuYbcmFUoS pNpIxU8/HsIKr2mjGfMJzyDRGlII++/rwJmMkH1ghAJKGTuN22doRfq0ep2RN6PYUMic rl1w== X-Gm-Message-State: AO0yUKWZOLefBViN/5yn9tEthibK0hKKy/F9KoCqmbbTw0q0xHe5MMsJ OJFJgFXqxBUN3pLGhnnTAVh1og== X-Google-Smtp-Source: AK7set8q5bAaThzIJnT/5YsDjKJuWL3768Wk8luCDIyOnY8zeZ+bh4PLORDZfupCU3sooRJjj5DpLQ== X-Received: by 2002:aa7:9496:0:b0:627:df8d:350f with SMTP id z22-20020aa79496000000b00627df8d350fmr1765056pfk.4.1679394795943; Tue, 21 Mar 2023 03:33:15 -0700 (PDT) Received: from PC-MID-R740.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id t13-20020a62ea0d000000b005a87d636c70sm7888416pfh.130.2023.03.21.03.33.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Mar 2023 03:33:15 -0700 (PDT) From: Pavan Chebbi To: michael.chan@broadcom.com, kuba@kernel.org Cc: davem@davemloft.net, edumazet@google.com, gospo@broadcom.com, netdev@vger.kernel.org, pabeni@redhat.com, richardcochran@gmail.com, Pavan Chebbi , Edwin Peer Subject: [PATCH net-next 1/3] bnxt: Change fw_cap to u64 to accommodate more capability bits Date: Tue, 21 Mar 2023 03:32:25 -0700 Message-Id: <20230321103227.12020-2-pavan.chebbi@broadcom.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230321103227.12020-1-pavan.chebbi@broadcom.com> References: <20230321103227.12020-1-pavan.chebbi@broadcom.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org The current fw_cap field (u32) has run out of bits to save any new capability. Change the field to u64. Signed-off-by: Pavan Chebbi Reviewed-by: Edwin Peer Reviewed-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 56 +++++++++++------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index c0628ac1b798..d7eb0d244f42 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -1968,34 +1968,34 @@ struct bnxt { u32 msg_enable; - u32 fw_cap; - #define BNXT_FW_CAP_SHORT_CMD 0x00000001 - #define BNXT_FW_CAP_LLDP_AGENT 0x00000002 - #define BNXT_FW_CAP_DCBX_AGENT 0x00000004 - #define BNXT_FW_CAP_NEW_RM 0x00000008 - #define BNXT_FW_CAP_IF_CHANGE 0x00000010 - #define BNXT_FW_CAP_KONG_MB_CHNL 0x00000080 - #define BNXT_FW_CAP_OVS_64BIT_HANDLE 0x00000400 - #define BNXT_FW_CAP_TRUSTED_VF 0x00000800 - #define BNXT_FW_CAP_ERROR_RECOVERY 0x00002000 - #define BNXT_FW_CAP_PKG_VER 0x00004000 - #define BNXT_FW_CAP_CFA_ADV_FLOW 0x00008000 - #define BNXT_FW_CAP_CFA_RFS_RING_TBL_IDX_V2 0x00010000 - #define BNXT_FW_CAP_PCIE_STATS_SUPPORTED 0x00020000 - #define BNXT_FW_CAP_EXT_STATS_SUPPORTED 0x00040000 - #define BNXT_FW_CAP_RSS_HASH_TYPE_DELTA 0x00080000 - #define BNXT_FW_CAP_ERR_RECOVER_RELOAD 0x00100000 - #define BNXT_FW_CAP_HOT_RESET 0x00200000 - #define BNXT_FW_CAP_PTP_RTC 0x00400000 - #define BNXT_FW_CAP_RX_ALL_PKT_TS 0x00800000 - #define BNXT_FW_CAP_VLAN_RX_STRIP 0x01000000 - #define BNXT_FW_CAP_VLAN_TX_INSERT 0x02000000 - #define BNXT_FW_CAP_EXT_HW_STATS_SUPPORTED 0x04000000 - #define BNXT_FW_CAP_LIVEPATCH 0x08000000 - #define BNXT_FW_CAP_PTP_PPS 0x10000000 - #define BNXT_FW_CAP_HOT_RESET_IF 0x20000000 - #define BNXT_FW_CAP_RING_MONITOR 0x40000000 - #define BNXT_FW_CAP_DBG_QCAPS 0x80000000 + u64 fw_cap; + #define BNXT_FW_CAP_SHORT_CMD BIT_ULL(0) + #define BNXT_FW_CAP_LLDP_AGENT BIT_ULL(1) + #define BNXT_FW_CAP_DCBX_AGENT BIT_ULL(2) + #define BNXT_FW_CAP_NEW_RM BIT_ULL(3) + #define BNXT_FW_CAP_IF_CHANGE BIT_ULL(4) + #define BNXT_FW_CAP_KONG_MB_CHNL BIT_ULL(7) + #define BNXT_FW_CAP_OVS_64BIT_HANDLE BIT_ULL(10) + #define BNXT_FW_CAP_TRUSTED_VF BIT_ULL(11) + #define BNXT_FW_CAP_ERROR_RECOVERY BIT_ULL(13) + #define BNXT_FW_CAP_PKG_VER BIT_ULL(14) + #define BNXT_FW_CAP_CFA_ADV_FLOW BIT_ULL(15) + #define BNXT_FW_CAP_CFA_RFS_RING_TBL_IDX_V2 BIT_ULL(16) + #define BNXT_FW_CAP_PCIE_STATS_SUPPORTED BIT_ULL(17) + #define BNXT_FW_CAP_EXT_STATS_SUPPORTED BIT_ULL(18) + #define BNXT_FW_CAP_RSS_HASH_TYPE_DELTA BIT_ULL(19) + #define BNXT_FW_CAP_ERR_RECOVER_RELOAD BIT_ULL(20) + #define BNXT_FW_CAP_HOT_RESET BIT_ULL(21) + #define BNXT_FW_CAP_PTP_RTC BIT_ULL(22) + #define BNXT_FW_CAP_RX_ALL_PKT_TS BIT_ULL(23) + #define BNXT_FW_CAP_VLAN_RX_STRIP BIT_ULL(24) + #define BNXT_FW_CAP_VLAN_TX_INSERT BIT_ULL(25) + #define BNXT_FW_CAP_EXT_HW_STATS_SUPPORTED BIT_ULL(26) + #define BNXT_FW_CAP_LIVEPATCH BIT_ULL(27) + #define BNXT_FW_CAP_PTP_PPS BIT_ULL(28) + #define BNXT_FW_CAP_HOT_RESET_IF BIT_ULL(29) + #define BNXT_FW_CAP_RING_MONITOR BIT_ULL(30) + #define BNXT_FW_CAP_DBG_QCAPS BIT_ULL(31) u32 fw_dbg_cap; From patchwork Tue Mar 21 10:32:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Chebbi X-Patchwork-Id: 13182553 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 194CBC74A5B for ; Tue, 21 Mar 2023 10:33:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230301AbjCUKdx (ORCPT ); Tue, 21 Mar 2023 06:33:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230220AbjCUKdu (ORCPT ); Tue, 21 Mar 2023 06:33:50 -0400 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B886937739 for ; Tue, 21 Mar 2023 03:33:19 -0700 (PDT) Received: by mail-pl1-x62d.google.com with SMTP id k2so15505844pll.8 for ; Tue, 21 Mar 2023 03:33:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1679394799; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=FEj2BBbk4m7LfrBwoZM0xHy0yDmRcR0kWmS+Xqd6aOA=; b=KMhVWJMD6LtHunb+3KvlyTFYOqsxIRXvYeN4Xkiyn0MTGA2SMZAkNMoQNmKWBdWEST GUtfIzOcE+FK6DvxhFXSLGKAD9vv3P4Y+0VwRugg+J2ow2hUmqRBmcKqutYGBx5ODLHW SOxWBP1qOMT5nFVBQ+uh9vPTEoPlvZayg/waU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679394799; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FEj2BBbk4m7LfrBwoZM0xHy0yDmRcR0kWmS+Xqd6aOA=; b=09sE1n2XfD9YVFP9k64XwTJ48JnuDYIkG5GTZuE4fNczGu7R8UqFn3cwoqA1+W+Y34 5bkEyla/fG45GFfLvkfz296xu3ipdJlpI7+AcfthZ50Wt0QF6ZqDHwgpMKbXeSZAk+X4 k+fRptQfGKbPzOCLwpUxoUAFpojBnROdiu+FeJj4WbC9DdFoyXq28fjDutK3B1gOGm0y XPaCQaVZdArHwGSi8sWttyWyMSP3CV1YCbSPiVuldWW/9T2Gzf7ZywlbF1B/hH4a0n65 Gftv0G5/v1NkFQxJ3IX+9DkAYVKD8nn/6JiN9Z4HpIaOP8hKOiz08FuRkDR93SpUKtT6 j4RA== X-Gm-Message-State: AO0yUKW3h0fnFgnbFWOJ3ak9TglgIzPF+V5hGpLg9TMDumLSPI6b9AxR EvJ2AhUT7M2nonDcIcdT62wBzg== X-Google-Smtp-Source: AK7set9Sq+91lyzrXF3Ke8zbeZ/Rzeqebywt4qqP56RfnX5MgEBAa8TxTHkz5cOkhmLQPLKxV9qJ6Q== X-Received: by 2002:a05:6a20:ca49:b0:cc:cc27:9185 with SMTP id hg9-20020a056a20ca4900b000cccc279185mr1392186pzb.50.1679394798734; Tue, 21 Mar 2023 03:33:18 -0700 (PDT) Received: from PC-MID-R740.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id t13-20020a62ea0d000000b005a87d636c70sm7888416pfh.130.2023.03.21.03.33.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Mar 2023 03:33:18 -0700 (PDT) From: Pavan Chebbi To: michael.chan@broadcom.com, kuba@kernel.org Cc: davem@davemloft.net, edumazet@google.com, gospo@broadcom.com, netdev@vger.kernel.org, pabeni@redhat.com, richardcochran@gmail.com, Pavan Chebbi Subject: [PATCH net-next 2/3] bnxt: Defer PTP initialization to after querying function caps Date: Tue, 21 Mar 2023 03:32:26 -0700 Message-Id: <20230321103227.12020-3-pavan.chebbi@broadcom.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230321103227.12020-1-pavan.chebbi@broadcom.com> References: <20230321103227.12020-1-pavan.chebbi@broadcom.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Driver uses the flag BNXT_FLAG_MULTI_HOST to determine whether to use non-realtime mode PHC when running on a multi host NIC. However when ptp initializes on a NIC with shared PHC, we still don't have this flag set yet because HWRM_FUNC_QCFG is issued much later. Move the ptp initialization code after we have issued func_qcfg. The next patch will use the BNXT_FLAG_MULTI_HOST flag during PTP initialization. Signed-off-by: Pavan Chebbi Reviewed-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +++- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index f533a8f46217..656a28ac2ff0 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -7769,7 +7769,7 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) if (flags & FUNC_QCAPS_RESP_FLAGS_WOL_MAGICPKT_SUPPORTED) bp->flags |= BNXT_FLAG_WOL_CAP; if (flags & FUNC_QCAPS_RESP_FLAGS_PTP_SUPPORTED) { - __bnxt_hwrm_ptp_qcfg(bp); + bp->fw_cap |= BNXT_FW_CAP_PTP; } else { bnxt_ptp_clear(bp); kfree(bp->ptp_cfg); @@ -12298,6 +12298,8 @@ static int bnxt_fw_init_one_p2(struct bnxt *bp) bnxt_hwrm_vnic_qcaps(bp); bnxt_hwrm_port_led_qcaps(bp); bnxt_ethtool_init(bp); + if (bp->fw_cap & BNXT_FW_CAP_PTP) + __bnxt_hwrm_ptp_qcfg(bp); bnxt_dcb_init(bp); return 0; } diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index d7eb0d244f42..0eeaed95a4ac 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -1996,6 +1996,7 @@ struct bnxt { #define BNXT_FW_CAP_HOT_RESET_IF BIT_ULL(29) #define BNXT_FW_CAP_RING_MONITOR BIT_ULL(30) #define BNXT_FW_CAP_DBG_QCAPS BIT_ULL(31) + #define BNXT_FW_CAP_PTP BIT_ULL(32) u32 fw_dbg_cap; From patchwork Tue Mar 21 10:32:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Chebbi X-Patchwork-Id: 13182554 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59B60C6FD1D for ; Tue, 21 Mar 2023 10:34:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230297AbjCUKeB (ORCPT ); Tue, 21 Mar 2023 06:34:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58192 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230220AbjCUKeA (ORCPT ); Tue, 21 Mar 2023 06:34:00 -0400 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 03ECF1557D for ; Tue, 21 Mar 2023 03:33:26 -0700 (PDT) Received: by mail-pj1-x1034.google.com with SMTP id j3-20020a17090adc8300b0023d09aea4a6so19698649pjv.5 for ; Tue, 21 Mar 2023 03:33:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1679394801; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=4Ic3WM3REAXpT3zzCyF2Yvp86sf3ncEAH9eyMYMxGQg=; b=SDBFEmdZ/VnoeU7yXSA6inBz+vAdscUvt7rQtGy4pXIIwhdDBWfGn4IYEfeVSF24O3 eTEvzRpdyWlfDwLof/XFGsf59Rrv+AKB9RD0yTbGHoKo11xkgH1MDwFSXgn3ObG8Vcl3 g6heHAT1E8BtKk5UmiYXtsuRrsGmSFHJdnILc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679394801; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4Ic3WM3REAXpT3zzCyF2Yvp86sf3ncEAH9eyMYMxGQg=; b=4PwR61DEJyAzNJvKGPthCfRcUSDZ1FGgnuC5fUIJbngkM+ggNkTwiNQPItdT1yfqp4 sx2gbVxuC7B4h0DsAfefO8aoHnSTAbgMsCniZqr5ne3Dq6OVV3MmRjThCqjymstJ3x+i pvoNP30UWzyXiVYuTuea8iys/pFjwo92yWCIQ6eRgbRoVXnlk8LAvb3Y4CqwFGRcEzYy x527Ga0CnJee+6DbWQRixIJ4Jj9REggRGLX2LjrHKB2DrJl+VSkqJq3i7IMIgKIGIIAk NQ6ErFbks+jMuOhMveHTzOZnhJOQy2McTKVHOzdBBZQl16ylhdEK9K45HWybKBQb3Ics KEiQ== X-Gm-Message-State: AO0yUKXoXw+kdFQYXSMuScO4zABUKb6or35GQRwVK5gDg4KkctI+5Wzq 5bfEjkQlUJbqjbbJElji+hnXuw== X-Google-Smtp-Source: AK7set+MaIDb5K8gZ8a2kUaZzqka8Ti3440ZLUBruD6VtmCsMo0aAZuFAOw54e8dCnJwjJPExewFZg== X-Received: by 2002:a05:6a20:2a06:b0:d9:fb5c:e0de with SMTP id e6-20020a056a202a0600b000d9fb5ce0demr1685763pzh.38.1679394801576; Tue, 21 Mar 2023 03:33:21 -0700 (PDT) Received: from PC-MID-R740.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id t13-20020a62ea0d000000b005a87d636c70sm7888416pfh.130.2023.03.21.03.33.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Mar 2023 03:33:21 -0700 (PDT) From: Pavan Chebbi To: michael.chan@broadcom.com, kuba@kernel.org Cc: davem@davemloft.net, edumazet@google.com, gospo@broadcom.com, netdev@vger.kernel.org, pabeni@redhat.com, richardcochran@gmail.com, Pavan Chebbi Subject: [PATCH net-next 3/3] bnxt: Enforce PTP software freq adjustments only when in non-RTC mode Date: Tue, 21 Mar 2023 03:32:27 -0700 Message-Id: <20230321103227.12020-4-pavan.chebbi@broadcom.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230321103227.12020-1-pavan.chebbi@broadcom.com> References: <20230321103227.12020-1-pavan.chebbi@broadcom.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Currently driver performs software based frequency adjustments when RTC capability is not discovered or when in shared PHC mode. But there may be some old firmware versions that still support hardware freq adjustments without RTC capability being exposed. In this situation driver will use non-realtime mode even on single host NICs. Hence enforce software frequency adjustments only when running in shared PHC mode. Make suitable changes for cyclecounter for the same. Signed-off-by: Pavan Chebbi Reviewed-by: Michael Chan Acked-by: Vadim Fedorenko --- drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c index a3a3978a4d1c..b79a186f864c 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c @@ -230,7 +230,7 @@ static int bnxt_ptp_adjfine(struct ptp_clock_info *ptp_info, long scaled_ppm) ptp_info); struct bnxt *bp = ptp->bp; - if (BNXT_PTP_USE_RTC(bp)) + if (!BNXT_MH(ptp->bp)) return bnxt_ptp_adjfine_rtc(bp, scaled_ppm); spin_lock_bh(&ptp->ptp_lock); @@ -861,9 +861,15 @@ static void bnxt_ptp_timecounter_init(struct bnxt *bp, bool init_tc) memset(&ptp->cc, 0, sizeof(ptp->cc)); ptp->cc.read = bnxt_cc_read; ptp->cc.mask = CYCLECOUNTER_MASK(48); - ptp->cc.shift = BNXT_CYCLES_SHIFT; - ptp->cc.mult = clocksource_khz2mult(BNXT_DEVCLK_FREQ, ptp->cc.shift); - ptp->cmult = ptp->cc.mult; + if (BNXT_MH(ptp->bp)) { + /* Use timecounter based non-real time mode */ + ptp->cc.shift = BNXT_CYCLES_SHIFT; + ptp->cc.mult = clocksource_khz2mult(BNXT_DEVCLK_FREQ, ptp->cc.shift); + ptp->cmult = ptp->cc.mult; + } else { + ptp->cc.shift = 0; + ptp->cc.mult = 1; + } ptp->next_overflow_check = jiffies + BNXT_PHC_OVERFLOW_PERIOD; } if (init_tc)