[dpdk-dev] [PATCH v4 28/41] net/dpaa: add support for link status update

Ferruh Yigit ferruh.yigit at intel.com
Mon Sep 18 16:56:25 CEST 2017


On 9/9/2017 12:21 PM, Shreyansh Jain wrote:
> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
> Signed-off-by: Shreyansh Jain <shreyansh.jain at nxp.com>

<...>

> +static int dpaa_eth_link_update(struct rte_eth_dev *dev,
> +				int wait_to_complete __rte_unused)
> +{
> +	struct dpaa_if *dpaa_intf = dev->data->dev_private;
> +	struct rte_eth_link *link = &dev->data->dev_link;
> +
> +	PMD_INIT_FUNC_TRACE();
> +
> +	if (dpaa_intf->fif->mac_type == fman_mac_1g)
> +		link->link_speed = 1000;
> +	else if (dpaa_intf->fif->mac_type == fman_mac_10g)
> +		link->link_speed = 10000;
> +	else
> +		DPAA_PMD_ERR("invalid link_speed: %s, %d",
> +			     dpaa_intf->name, dpaa_intf->fif->mac_type);
> +
> +	link->link_status = dpaa_intf->valid;
> +	link->link_duplex = ETH_LINK_FULL_DUPLEX;
> +	link->link_autoneg = ETH_LINK_AUTONEG;

Shouldn't this function go and get link information from hardware?

> +	return 0;
> +}
> +
>  static
>  int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
>  			    uint16_t nb_desc __rte_unused,
> @@ -216,6 +238,22 @@ static void dpaa_eth_tx_queue_release(void *txq __rte_unused)
>  	PMD_INIT_FUNC_TRACE();
>  }
>  
> +static int dpaa_link_down(struct rte_eth_dev *dev)
> +{
> +	PMD_INIT_FUNC_TRACE();
> +
> +	dpaa_eth_dev_stop(dev);

Drivers tend to do revers, make link down on device stop. Just to double
check if stop() is intended for link down.

> +	return 0;
> +}
> +
> +static int dpaa_link_up(struct rte_eth_dev *dev)
> +{
> +	PMD_INIT_FUNC_TRACE();
> +
> +	dpaa_eth_dev_start(dev);
> +	return 0;
> +}

<...>


More information about the dev mailing list