Loading drivers/net/ethernet/sfc/ptp.c +7 −28 Original line number Diff line number Diff line Loading @@ -432,13 +432,10 @@ static int efx_ptp_process_times(struct efx_nic *efx, u8 *synch_buf, unsigned number_readings = (response_length / MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_LEN); unsigned i; unsigned min; unsigned min_set = 0; unsigned total; unsigned ngood = 0; unsigned last_good = 0; struct efx_ptp_data *ptp = efx->ptp_data; bool min_valid = false; u32 last_sec; u32 start_sec; struct timespec delta; Loading @@ -446,35 +443,17 @@ static int efx_ptp_process_times(struct efx_nic *efx, u8 *synch_buf, if (number_readings == 0) return -EAGAIN; /* Find minimum value in this set of results, discarding clearly * erroneous results. /* Read the set of results and increment stats for any results that * appera to be erroneous. */ for (i = 0; i < number_readings; i++) { efx_ptp_read_timeset(synch_buf, &ptp->timeset[i]); synch_buf += MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_LEN; if (ptp->timeset[i].window > SYNCHRONISATION_GRANULARITY_NS) { if (min_valid) { if (ptp->timeset[i].window < min_set) min_set = ptp->timeset[i].window; } else { min_valid = true; min_set = ptp->timeset[i].window; } } } if (min_valid) { if (ptp->base_sync_valid && (min_set > ptp->base_sync_ns)) min = ptp->base_sync_ns; else min = min_set; } else { min = SYNCHRONISATION_GRANULARITY_NS; } /* Discard excessively long synchronise durations. The MC times * when it finishes reading the host time so the corrected window * time should be fairly constant for a given platform. /* Find the last good host-MC synchronization result. The MC times * when it finishes reading the host time so the corrected window time * should be fairly constant for a given platform. */ total = 0; for (i = 0; i < number_readings; i++) Loading @@ -492,8 +471,8 @@ static int efx_ptp_process_times(struct efx_nic *efx, u8 *synch_buf, if (ngood == 0) { netif_warn(efx, drv, efx->net_dev, "PTP no suitable synchronisations %dns %dns\n", ptp->base_sync_ns, min_set); "PTP no suitable synchronisations %dns\n", ptp->base_sync_ns); return -EAGAIN; } Loading Loading
drivers/net/ethernet/sfc/ptp.c +7 −28 Original line number Diff line number Diff line Loading @@ -432,13 +432,10 @@ static int efx_ptp_process_times(struct efx_nic *efx, u8 *synch_buf, unsigned number_readings = (response_length / MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_LEN); unsigned i; unsigned min; unsigned min_set = 0; unsigned total; unsigned ngood = 0; unsigned last_good = 0; struct efx_ptp_data *ptp = efx->ptp_data; bool min_valid = false; u32 last_sec; u32 start_sec; struct timespec delta; Loading @@ -446,35 +443,17 @@ static int efx_ptp_process_times(struct efx_nic *efx, u8 *synch_buf, if (number_readings == 0) return -EAGAIN; /* Find minimum value in this set of results, discarding clearly * erroneous results. /* Read the set of results and increment stats for any results that * appera to be erroneous. */ for (i = 0; i < number_readings; i++) { efx_ptp_read_timeset(synch_buf, &ptp->timeset[i]); synch_buf += MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_LEN; if (ptp->timeset[i].window > SYNCHRONISATION_GRANULARITY_NS) { if (min_valid) { if (ptp->timeset[i].window < min_set) min_set = ptp->timeset[i].window; } else { min_valid = true; min_set = ptp->timeset[i].window; } } } if (min_valid) { if (ptp->base_sync_valid && (min_set > ptp->base_sync_ns)) min = ptp->base_sync_ns; else min = min_set; } else { min = SYNCHRONISATION_GRANULARITY_NS; } /* Discard excessively long synchronise durations. The MC times * when it finishes reading the host time so the corrected window * time should be fairly constant for a given platform. /* Find the last good host-MC synchronization result. The MC times * when it finishes reading the host time so the corrected window time * should be fairly constant for a given platform. */ total = 0; for (i = 0; i < number_readings; i++) Loading @@ -492,8 +471,8 @@ static int efx_ptp_process_times(struct efx_nic *efx, u8 *synch_buf, if (ngood == 0) { netif_warn(efx, drv, efx->net_dev, "PTP no suitable synchronisations %dns %dns\n", ptp->base_sync_ns, min_set); "PTP no suitable synchronisations %dns\n", ptp->base_sync_ns); return -EAGAIN; } Loading