sfc: Bowdlerise PTP MCDI errors
Subsystems (3)
v2 cover sfc: Bowdlerise PTP MCDI errors
When the NIC doesn't support PTP, probe-time MCDI commands fail in predictable ways. Instead of logging cryptic MCDI errors, just log that PTP isn't supported.
v2: Hopefully stop Thunderbird mangling the patches.
Edward Cree (2):
sfc: nicer log message on PTP probe fail
sfc: suppress some MCDI error messages in PTP
drivers/net/ethernet/sfc/ptp.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-)
PATCH v2 1/2 sfc: nicer log message on PTP probe fail
--- drivers/net/ethernet/sfc/ptp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/net/ethernet/sfc/ptp.c +6 -1
@@ -604,7 +604,12 @@ static int efx_ptp_disable(struct efx_nic *efx) rc =efx_mcdi_rpc_quiet (efx,MC_CMD_PTP , inbuf,sizeof (inbuf), outbuf,sizeof (outbuf),NULL ); rc = (rc == -EALREADY ) ?0 : rc; -if (rc) +/* If we get ENOSYS, the NIC doesn't support PTP, and thus this function +* should only have been called during probe. +*/ +if (rc == -ENOSYS || rc == -EPERM ) +netif_info (efx, probe, efx->net_dev,"no PTP support\n" ); +else if (rc)efx_mcdi_display_error (efx,MC_CMD_PTP ,MC_CMD_PTP_IN_DISABLE_LEN , outbuf,sizeof (outbuf), rc);
PATCH v2 2/2 sfc: suppress some MCDI error messages in PTP
In reply to Edward CreeAlso, remove a needless netif_err() from efx_ptp_update_stats() - if the
MCDI fails it'll print its own error message, we don't need another that adds no information.
--- drivers/net/ethernet/sfc/ptp.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-)
drivers/net/ethernet/sfc/ptp.c +16 -11
@@ -389,11 +389,8 @@ size_t efx_ptp_update_stats(struct efx_nic *efx, u64 *stats)MCDI_SET_DWORD (inbuf,PTP_IN_PERIPH_ID ,0 ); rc =efx_mcdi_rpc (efx,MC_CMD_PTP , inbuf,sizeof (inbuf), outbuf,sizeof (outbuf),NULL ); -if (rc) { -netif_err (efx, hw, efx->net_dev, -"MC_CMD_PTP_OP_STATUS failed (%d)\n" , rc); +if (rc)memset (outbuf,0 ,sizeof (outbuf)); - }efx_nic_update_stats (efx_ptp_stat_desc,PTP_STAT_COUNT , efx_ptp_stat_mask, stats,_MCDI_PTR (outbuf,0 ), false);
@@ -490,14 +487,20 @@ static int efx_ptp_get_attributes(struct efx_nic *efx)*/ MCDI_SET_DWORD (inbuf,PTP_IN_OP ,MC_CMD_PTP_OP_GET_ATTRIBUTES );MCDI_SET_DWORD (inbuf,PTP_IN_PERIPH_ID ,0 ); - rc =efx_mcdi_rpc (efx,MC_CMD_PTP , inbuf,sizeof (inbuf), - outbuf,sizeof (outbuf), &out_len); -if (rc ==0 ) + rc =efx_mcdi_rpc_quiet (efx,MC_CMD_PTP , inbuf,sizeof (inbuf), + outbuf,sizeof (outbuf), &out_len); +if (rc ==0 ) { fmt =MCDI_DWORD (outbuf,PTP_OUT_GET_ATTRIBUTES_TIME_FORMAT ); -else if (rc == -EINVAL ) + }else if (rc == -EINVAL ) { fmt =MC_CMD_PTP_OUT_GET_ATTRIBUTES_SECONDS_NANOSECONDS ; -else + }else if (rc == -EPERM ) { +netif_info (efx, probe, efx->net_dev,"no PTP support\n" );return rc; + }else { +efx_mcdi_display_error (efx,MC_CMD_PTP ,sizeof (inbuf), + outbuf,sizeof (outbuf), rc); +return rc; + }if (fmt ==MC_CMD_PTP_OUT_GET_ATTRIBUTES_SECONDS_27FRACTION ) { ptp->ns_to_nic_time = efx_ptp_ns_to_s27;
@@ -541,8 +544,8 @@ static int efx_ptp_get_timestamp_corrections(struct efx_nic *efx) MC_CMD_PTP_OP_GET_TIMESTAMP_CORRECTIONS);MCDI_SET_DWORD (inbuf,PTP_IN_PERIPH_ID ,0 ); - rc =efx_mcdi_rpc (efx,MC_CMD_PTP , inbuf,sizeof (inbuf), - outbuf,sizeof (outbuf),NULL ); + rc =efx_mcdi_rpc_quiet (efx,MC_CMD_PTP , inbuf,sizeof (inbuf), + outbuf,sizeof (outbuf),NULL );if (rc ==0 ) { efx->ptp_data->ts_corrections.tx =MCDI_DWORD (outbuf,PTP_OUT_GET_TIMESTAMP_CORRECTIONS_TRANSMIT );
@@ -558,6 +561,8 @@ static int efx_ptp_get_timestamp_corrections(struct efx_nic *efx) efx->ptp_data->ts_corrections.pps_out =0 ; efx->ptp_data->ts_corrections.pps_in =0 ; }else { +efx_mcdi_display_error (efx,MC_CMD_PTP ,sizeof (inbuf), outbuf, +sizeof (outbuf), rc);return rc; }
David Miller
maintainerFrom: Edward Cree <[email protected]>
Date: Tue, 12 May 2015 13:03:27 +0100
Quoted 5 lines
When the NIC doesn't support PTP, probe-time MCDI commands fail in predictable ways. Instead of logging cryptic MCDI errors, just log that PTP isn't supported.
v2: Hopefully stop Thunderbird mangling the patches.
Series applied, thanks.