X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fark%2Fark_ethdev.c;h=c3642012dd04108855501eef0c91476cb7a0fe07;hb=86421846cc20e963e5b6878724727abd427cd1b6;hp=86e500ecb30cb63fb7ddc13c897b0246ccff6815;hpb=e7f2fa88a71eb667788a124abbdc6d1ca1e0671e;p=dpdk.git diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c index 86e500ecb3..c3642012dd 100644 --- a/drivers/net/ark/ark_ethdev.c +++ b/drivers/net/ark/ark_ethdev.c @@ -31,15 +31,15 @@ static int eth_ark_dev_configure(struct rte_eth_dev *dev); static int eth_ark_dev_start(struct rte_eth_dev *dev); static void eth_ark_dev_stop(struct rte_eth_dev *dev); static void eth_ark_dev_close(struct rte_eth_dev *dev); -static void eth_ark_dev_info_get(struct rte_eth_dev *dev, - struct rte_eth_dev_info *dev_info); +static int eth_ark_dev_info_get(struct rte_eth_dev *dev, + struct rte_eth_dev_info *dev_info); static int eth_ark_dev_link_update(struct rte_eth_dev *dev, int wait_to_complete); static int eth_ark_dev_set_link_up(struct rte_eth_dev *dev); static int eth_ark_dev_set_link_down(struct rte_eth_dev *dev); static int eth_ark_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats); -static void eth_ark_dev_stats_reset(struct rte_eth_dev *dev); +static int eth_ark_dev_stats_reset(struct rte_eth_dev *dev); static int eth_ark_set_default_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr); static int eth_ark_macaddr_add(struct rte_eth_dev *dev, @@ -78,6 +78,8 @@ static int eth_ark_set_mtu(struct rte_eth_dev *dev, uint16_t size); #define ARK_TX_MAX_QUEUE (4096 * 4) #define ARK_TX_MIN_QUEUE (256) +int ark_logtype; + static const char * const valid_arguments[] = { ARK_PKTGEN_ARG, ARK_PKTCHKR_ARG, @@ -261,6 +263,8 @@ eth_ark_dev_init(struct rte_eth_dev *dev) /* Use dummy function until setup */ dev->rx_pkt_burst = ð_ark_recv_pkts_noop; dev->tx_pkt_burst = ð_ark_xmit_pkts_noop; + /* Let rte_eth_dev_close() release the port resources */ + dev->data->dev_flags |= RTE_ETH_DEV_CLOSE_REMOVE; ark->bar0 = (uint8_t *)pci_dev->mem_resource[0].addr; ark->a_bar = (uint8_t *)pci_dev->mem_resource[2].addr; @@ -706,9 +710,12 @@ eth_ark_dev_close(struct rte_eth_dev *dev) eth_ark_dev_rx_queue_release(dev->data->rx_queues[i]); dev->data->rx_queues[i] = 0; } + + rte_free(dev->data->mac_addrs); + dev->data->mac_addrs = 0; } -static void +static int eth_ark_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) { @@ -740,6 +747,8 @@ eth_ark_dev_info_get(struct rte_eth_dev *dev, ETH_LINK_SPEED_40G | ETH_LINK_SPEED_50G | ETH_LINK_SPEED_100G); + + return 0; } static int @@ -804,7 +813,7 @@ eth_ark_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) return 0; } -static void +static int eth_ark_dev_stats_reset(struct rte_eth_dev *dev) { uint16_t i; @@ -817,6 +826,8 @@ eth_ark_dev_stats_reset(struct rte_eth_dev *dev) if (ark->user_ext.stats_reset) ark->user_ext.stats_reset(dev, ark->user_data[dev->data->port_id]); + + return 0; } static int @@ -1007,3 +1018,10 @@ RTE_PMD_REGISTER_PARAM_STRING(net_ark, ARK_PKTGEN_ARG "= " ARK_PKTCHKR_ARG "= " ARK_PKTDIR_ARG "="); + +RTE_INIT(ark_init_log) +{ + ark_logtype = rte_log_register("pmd.net.ark"); + if (ark_logtype >= 0) + rte_log_set_level(ark_logtype, RTE_LOG_NOTICE); +}