On Wed, 25 Nov 2015 16:19:51 +0000
"Alejandro.Lucero" <alejandro.lucero at netronome.com> wrote:

> +/*
> + * Atomically reads link status information from global structure 
> rte_eth_dev.
> + *
> + * @param dev
> + *   - Pointer to the structure rte_eth_dev to read from.
> + *   - Pointer to the buffer to be saved with the link status.
> + *
> + * @return
> + *   - On success, zero.
> + *   - On failure, negative value.
> + */
> +static inline int
> +nfp_net_dev_atomic_read_link_status(struct rte_eth_dev *dev,
> +                                 struct rte_eth_link *link)
> +{
> +     struct rte_eth_link *dst = link;
> +     struct rte_eth_link *src = &dev->data->dev_link;
> +
> +     if (rte_atomic64_cmpset((uint64_t *)dst, *(uint64_t *)dst,
> +                             *(uint64_t *)src) == 0)
> +             return -1;
> +
> +     return 0;
> +}
> +
> +/

Sigh, this code has been copied and pasted to every driver.
Why is it not part of standard rte_ethdev code.

Reply via email to