On Wed, Nov 18, 2020 at 09:30:10PM +0100, Christian Eggers wrote:
> Add control routines required for TX hardware time stamping.
> 
> The KSZ9563 only supports one step time stamping
> (HWTSTAMP_TX_ONESTEP_P2P), which requires linuxptp-2.0 or later.
> 
> Currently, only P2P delay measurement is supported. See patchwork
> discussion and comments in ksz9477_ptp_init() for details:
> https://patchwork.ozlabs.org/project/netdev/patch/20201019172435.4416-8-cegg...@arri.de/
> 
> Signed-off-by: Christian Eggers <cegg...@arri.de>
> ---

Reviewed-by: Vladimir Oltean <olte...@gmail.com>

> +static int ksz9477_set_hwtstamp_config(struct ksz_device *dev, int port,
> +                                    struct hwtstamp_config *config)
> +{
> +     struct ksz_port *prt = &dev->ports[port];
> +
> +     /* reserved for future extensions */
> +     if (config->flags)
> +             return -EINVAL;
> +
> +     switch (config->tx_type) {
> +     case HWTSTAMP_TX_OFF:
> +             prt->hwts_tx_en = false;
> +             break;
> +     case HWTSTAMP_TX_ONESTEP_P2P:
> +             prt->hwts_tx_en = true;
> +             break;
> +     default:
> +             return -ERANGE;
> +     }
> +
> +     switch (config->rx_filter) {
> +     case HWTSTAMP_FILTER_NONE:
> +             break;
> +     case HWTSTAMP_FILTER_PTP_V2_L4_EVENT:
> +     case HWTSTAMP_FILTER_PTP_V2_L4_SYNC:
> +             config->rx_filter = HWTSTAMP_FILTER_PTP_V2_L4_EVENT;
> +             break;
> +     case HWTSTAMP_FILTER_PTP_V2_L2_EVENT:
> +     case HWTSTAMP_FILTER_PTP_V2_L2_SYNC:
> +             config->rx_filter = HWTSTAMP_FILTER_PTP_V2_L2_EVENT;
> +             break;
> +     case HWTSTAMP_FILTER_PTP_V2_EVENT:
> +     case HWTSTAMP_FILTER_PTP_V2_SYNC:
> +             config->rx_filter = HWTSTAMP_FILTER_PTP_V2_EVENT;
> +             break;
> +     case HWTSTAMP_FILTER_ALL:

Putting anything in the same "case" statement as "default" is useless.

> +     default:
> +             config->rx_filter = HWTSTAMP_FILTER_NONE;
> +             return -ERANGE;
> +     }
> +
> +     return 0;
> +}

Reply via email to