bnxt_en: Refactor bnxt_ptp_init()
BugLink: https://bugs.launchpad.net/bugs/2101915 [ Upstream commit 1e9614cd956268e10a669c0593e7e54d03d0c087 ] Instead of passing the 2nd parameter phc_cfg to bnxt_ptp_init(). Store it in bp->ptp_cfg so that the caller doesn't need to know what the value should be. In the next patch, we'll need to call bnxt_ptp_init() in bnxt_resume() and this will make it easier. Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Stable-dep-of: 3661c05c54e8 ("bnxt_en: Unregister PTP during PCI shutdown and suspend") Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Koichiro Den <koichiro.den@canonical.com> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
cb88e94480
commit
a6b72a839f
@@ -8567,7 +8567,6 @@ static int __bnxt_hwrm_ptp_qcfg(struct bnxt *bp)
|
||||
struct hwrm_port_mac_ptp_qcfg_output *resp;
|
||||
struct hwrm_port_mac_ptp_qcfg_input *req;
|
||||
struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
|
||||
bool phc_cfg;
|
||||
u8 flags;
|
||||
int rc;
|
||||
|
||||
@@ -8610,8 +8609,9 @@ static int __bnxt_hwrm_ptp_qcfg(struct bnxt *bp)
|
||||
rc = -ENODEV;
|
||||
goto exit;
|
||||
}
|
||||
phc_cfg = (flags & PORT_MAC_PTP_QCFG_RESP_FLAGS_RTC_CONFIGURED) != 0;
|
||||
rc = bnxt_ptp_init(bp, phc_cfg);
|
||||
ptp->rtc_configured =
|
||||
(flags & PORT_MAC_PTP_QCFG_RESP_FLAGS_RTC_CONFIGURED) != 0;
|
||||
rc = bnxt_ptp_init(bp);
|
||||
if (rc)
|
||||
netdev_warn(bp->dev, "PTP initialization failed.\n");
|
||||
exit:
|
||||
|
||||
@@ -925,7 +925,7 @@ static void bnxt_ptp_free(struct bnxt *bp)
|
||||
}
|
||||
}
|
||||
|
||||
int bnxt_ptp_init(struct bnxt *bp, bool phc_cfg)
|
||||
int bnxt_ptp_init(struct bnxt *bp)
|
||||
{
|
||||
struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
|
||||
int rc;
|
||||
@@ -947,7 +947,7 @@ int bnxt_ptp_init(struct bnxt *bp, bool phc_cfg)
|
||||
|
||||
if (BNXT_PTP_USE_RTC(bp)) {
|
||||
bnxt_ptp_timecounter_init(bp, false);
|
||||
rc = bnxt_ptp_init_rtc(bp, phc_cfg);
|
||||
rc = bnxt_ptp_init_rtc(bp, ptp->rtc_configured);
|
||||
if (rc)
|
||||
goto out;
|
||||
} else {
|
||||
|
||||
@@ -115,6 +115,7 @@ struct bnxt_ptp_cfg {
|
||||
BNXT_PTP_MSG_PDELAY_REQ | \
|
||||
BNXT_PTP_MSG_PDELAY_RESP)
|
||||
u8 tx_tstamp_en:1;
|
||||
u8 rtc_configured:1;
|
||||
int rx_filter;
|
||||
u32 tstamp_filters;
|
||||
|
||||
@@ -147,6 +148,6 @@ int bnxt_get_tx_ts_p5(struct bnxt *bp, struct sk_buff *skb);
|
||||
int bnxt_get_rx_ts_p5(struct bnxt *bp, u64 *ts, u32 pkt_ts);
|
||||
void bnxt_ptp_rtc_timecounter_init(struct bnxt_ptp_cfg *ptp, u64 ns);
|
||||
int bnxt_ptp_init_rtc(struct bnxt *bp, bool phc_cfg);
|
||||
int bnxt_ptp_init(struct bnxt *bp, bool phc_cfg);
|
||||
int bnxt_ptp_init(struct bnxt *bp);
|
||||
void bnxt_ptp_clear(struct bnxt *bp);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user