X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmvpp2%2Fmrvl_ethdev.c;h=65d011300a978a49e9fb83f5cb039b3f54858a92;hb=7483341ae5533c5d5fa080a5d229e6f2daf03ea5;hp=1d41788974a7dad9651f70543fa33b5a61fa8b6d;hpb=fb7ad441d43d4152cb7bde992a1136c20d9166e9;p=dpdk.git diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index 1d41788974..65d011300a 100644 --- a/drivers/net/mvpp2/mrvl_ethdev.c +++ b/drivers/net/mvpp2/mrvl_ethdev.c @@ -533,12 +533,18 @@ mrvl_dev_configure(struct rte_eth_dev *dev) dev->data->dev_conf.rxmode.mq_mode == ETH_MQ_RX_RSS) { MRVL_LOG(WARNING, "Disabling hash for 1 rx queue"); priv->ppio_params.inqs_params.hash_type = PP2_PPIO_HASH_T_NONE; - + priv->configured = 1; return 0; } - return mrvl_configure_rss(priv, + ret = mrvl_configure_rss(priv, &dev->data->dev_conf.rx_adv_conf.rss_conf); + if (ret < 0) + return ret; + + priv->configured = 1; + + return 0; } /** @@ -1867,8 +1873,10 @@ static int mrvl_vlan_offload_set(struct rte_eth_dev *dev, int mask) uint64_t rx_offloads = dev->data->dev_conf.rxmode.offloads; int ret; - if (mask & ETH_VLAN_STRIP_MASK) + if (mask & ETH_VLAN_STRIP_MASK) { MRVL_LOG(ERR, "VLAN stripping is not supported\n"); + return -ENOTSUP; + } if (mask & ETH_VLAN_FILTER_MASK) { if (rx_offloads & DEV_RX_OFFLOAD_VLAN_FILTER) @@ -1880,8 +1888,10 @@ static int mrvl_vlan_offload_set(struct rte_eth_dev *dev, int mask) return ret; } - if (mask & ETH_VLAN_EXTEND_MASK) + if (mask & ETH_VLAN_EXTEND_MASK) { MRVL_LOG(ERR, "Extend VLAN not supported\n"); + return -ENOTSUP; + } return 0; } @@ -2049,13 +2059,15 @@ mrvl_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, /** * DPDK callback to release the receive queue. * - * @param rxq - * Generic receive queue pointer. + * @param dev + * Pointer to Ethernet device structure. + * @param qid + * Receive queue index. */ static void -mrvl_rx_queue_release(void *rxq) +mrvl_rx_queue_release(struct rte_eth_dev *dev, uint16_t qid) { - struct mrvl_rxq *q = rxq; + struct mrvl_rxq *q = dev->data->rx_queues[qid]; struct pp2_ppio_tc_params *tc_params; int i, num, tc, inq; struct pp2_hif *hif; @@ -2136,13 +2148,15 @@ mrvl_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, /** * DPDK callback to release the transmit queue. * - * @param txq - * Generic transmit queue pointer. + * @param dev + * Pointer to Ethernet device structure. + * @param qid + * Transmit queue index. */ static void -mrvl_tx_queue_release(void *txq) +mrvl_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid) { - struct mrvl_txq *q = txq; + struct mrvl_txq *q = dev->data->tx_queues[qid]; if (!q) return; @@ -3309,4 +3323,4 @@ static struct rte_vdev_driver pmd_mrvl_drv = { RTE_PMD_REGISTER_VDEV(net_mvpp2, pmd_mrvl_drv); RTE_PMD_REGISTER_ALIAS(net_mvpp2, eth_mvpp2); -RTE_LOG_REGISTER(mrvl_logtype, pmd.net.mvpp2, NOTICE); +RTE_LOG_REGISTER_DEFAULT(mrvl_logtype, NOTICE);