From patchwork Tue Mar 21 14:44:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Chebbi X-Patchwork-Id: 13182859 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 1D944C74A5B for ; Tue, 21 Mar 2023 14:45:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231497AbjCUOpQ (ORCPT ); Tue, 21 Mar 2023 10:45:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47168 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231488AbjCUOpL (ORCPT ); Tue, 21 Mar 2023 10:45:11 -0400 Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2A8233CE25 for ; Tue, 21 Mar 2023 07:45:10 -0700 (PDT) Received: by mail-pj1-x102d.google.com with SMTP id o6-20020a17090a9f8600b0023f32869993so16560518pjp.1 for ; Tue, 21 Mar 2023 07:45:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1679409909; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=DxB04KYZGQx/08ExC4uV9acrJ8LVbxFIkazAkJlZ9bA=; b=XjoCXWkUZHSTWEtqh7m/lbjDImpRDXkpiBgPJ2h/2ciQc86mQwoBwOCUBX/3V0nXho IcZIBoyizsc1mLhyyVzWrIqBaqbWXZLe6DJ9iFMb52mX5PdFgrP3yqatWFyn8RwSgFNI 5+O/TCxZZgSJjIMH1ms9QLnrNvvW8MWBkOjrk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679409909; 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=DxB04KYZGQx/08ExC4uV9acrJ8LVbxFIkazAkJlZ9bA=; b=ifMDO/ZGvfzogHATW3pfIpV5yXJvcV9QOLdLqIe+OljlC9YFWbLcsoHxTJ5GeoS3Kv Tg5S9LZPwe4YG+6neUgkW8VIhaB9YXh7JL3GxjXCgcv/UhQnYRQeVwkkKNBedgzTF7Q3 hXpOsUvrQZ0z3u+ljtPxFc0mFSpH5jvc4uBJPkrzZiDGIEcqopUyB2v0cb04YgjgpeL0 bNokCMU0d0sxzME9BnLKIohT99HCuJDLSAzzDHRn+8GmuiPKbqU/jFtwUG55qpyaiauL sjoRWcAlIRegrAq33Vhh1FejByMtwVkjczn71sITST12+2D4oKV25m5/2ovAGhPJ+/g5 r2Rw== X-Gm-Message-State: AO0yUKWxUf2zImo4AON5O9RkZ/I9qvL5+jXNkZ9NI+Xm1/tka6JZ4nZ/ JcSHm7ICgTe0mvQGmiiklk7sFQ== X-Google-Smtp-Source: AK7set/y5mDWnFEoSwn+ujCZ5jkRyBCCy8FDHQcGcC7cHJL7cI7zZmqU+mwYIMP38loxWoq7NNZHUg== X-Received: by 2002:a17:903:234f:b0:1a1:dd3a:7509 with SMTP id c15-20020a170903234f00b001a1dd3a7509mr3036585plh.48.1679409909562; Tue, 21 Mar 2023 07:45:09 -0700 (PDT) Received: from PC-MID-R740.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id h13-20020a170902f7cd00b0019d1f42b00csm8834243plw.17.2023.03.21.07.45.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Mar 2023 07:45:09 -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 v2 3/3] bnxt: Enforce PTP software freq adjustments only when in non-RTC mode Date: Tue, 21 Mar 2023 07:44:49 -0700 Message-Id: <20230321144449.15289-4-pavan.chebbi@broadcom.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230321144449.15289-1-pavan.chebbi@broadcom.com> References: <20230321144449.15289-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 --- 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..e46689128e32 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(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(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)