New upstream version 17.11.3
[deb_dpdk.git] / drivers / net / szedata2 / rte_eth_szedata2.c
index 403cfdb..88f5fb8 100644 (file)
@@ -682,7 +682,7 @@ eth_szedata2_tx(void *queue,
        uint32_t hwpkt_len;
        uint32_t unlock_size;
        uint32_t rem_len;
-       uint8_t mbuf_segs;
+       uint16_t mbuf_segs;
        uint16_t pkt_left = nb_pkts;
 
        if (sze_q->sze == NULL || nb_pkts == 0)
@@ -1054,22 +1054,29 @@ eth_stats_get(struct rte_eth_dev *dev,
        uint64_t tx_err_total = 0;
        uint64_t rx_total_bytes = 0;
        uint64_t tx_total_bytes = 0;
-       const struct pmd_internals *internals = dev->data->dev_private;
 
-       for (i = 0; i < RTE_ETHDEV_QUEUE_STAT_CNTRS && i < nb_rx; i++) {
-               stats->q_ipackets[i] = internals->rx_queue[i].rx_pkts;
-               stats->q_ibytes[i] = internals->rx_queue[i].rx_bytes;
-               rx_total += stats->q_ipackets[i];
-               rx_total_bytes += stats->q_ibytes[i];
+       for (i = 0; i < nb_rx; i++) {
+               struct szedata2_rx_queue *rxq = dev->data->rx_queues[i];
+
+               if (i < RTE_ETHDEV_QUEUE_STAT_CNTRS) {
+                       stats->q_ipackets[i] = rxq->rx_pkts;
+                       stats->q_ibytes[i] = rxq->rx_bytes;
+               }
+               rx_total += rxq->rx_pkts;
+               rx_total_bytes += rxq->rx_bytes;
        }
 
-       for (i = 0; i < RTE_ETHDEV_QUEUE_STAT_CNTRS && i < nb_tx; i++) {
-               stats->q_opackets[i] = internals->tx_queue[i].tx_pkts;
-               stats->q_obytes[i] = internals->tx_queue[i].tx_bytes;
-               stats->q_errors[i] = internals->tx_queue[i].err_pkts;
-               tx_total += stats->q_opackets[i];
-               tx_total_bytes += stats->q_obytes[i];
-               tx_err_total += stats->q_errors[i];
+       for (i = 0; i < nb_tx; i++) {
+               struct szedata2_tx_queue *txq = dev->data->tx_queues[i];
+
+               if (i < RTE_ETHDEV_QUEUE_STAT_CNTRS) {
+                       stats->q_opackets[i] = txq->tx_pkts;
+                       stats->q_obytes[i] = txq->tx_bytes;
+                       stats->q_errors[i] = txq->err_pkts;
+               }
+               tx_total += txq->tx_pkts;
+               tx_total_bytes += txq->tx_bytes;
+               tx_err_total += txq->err_pkts;
        }
 
        stats->ipackets = rx_total;
@@ -1214,7 +1221,7 @@ eth_link_update(struct rte_eth_dev *dev,
 
        link.link_status = (link_is_up) ? ETH_LINK_UP : ETH_LINK_DOWN;
 
-       link.link_autoneg = ETH_LINK_SPEED_FIXED;
+       link.link_autoneg = ETH_LINK_FIXED;
 
        rte_atomic64_cmpset((uint64_t *)dev_link, *(uint64_t *)dev_link,
                        *(uint64_t *)link_ptr);
@@ -1417,9 +1424,9 @@ get_szedata2_index(const struct rte_pci_addr *pcislot_addr, uint32_t *index)
        FILE *fd;
        char pcislot_path[PATH_MAX];
        uint32_t domain;
-       uint32_t bus;
-       uint32_t devid;
-       uint32_t function;
+       uint8_t bus;
+       uint8_t devid;
+       uint8_t function;
 
        dir = opendir("/sys/class/combo");
        if (dir == NULL)
@@ -1444,7 +1451,7 @@ get_szedata2_index(const struct rte_pci_addr *pcislot_addr, uint32_t *index)
                if (fd == NULL)
                        continue;
 
-               ret = fscanf(fd, "%4" PRIx16 ":%2" PRIx8 ":%2" PRIx8 ".%" PRIx8,
+               ret = fscanf(fd, "%8" SCNx32 ":%2" SCNx8 ":%2" SCNx8 ".%" SCNx8,
                                &domain, &bus, &devid, &function);
                fclose(fd);
                if (ret != 4)
@@ -1553,7 +1560,7 @@ rte_szedata2_eth_dev_init(struct rte_eth_dev *dev)
                        pci_dev->mem_resource[PCI_RESOURCE_NUMBER].len,
                        PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
        close(fd);
-       if (pci_resource_ptr == NULL) {
+       if (pci_resource_ptr == MAP_FAILED) {
                RTE_LOG(ERR, PMD, "Could not mmap file %s (fd = %d)\n",
                                rsc_filename, fd);
                return -EINVAL;