net/sfc: support regioned NIC DMA memory mapping type
[dpdk.git] / drivers / net / sfc / sfc_port.c
index adb2b2c..9113937 100644 (file)
@@ -48,7 +48,7 @@ sfc_port_update_mac_stats(struct sfc_adapter *sa, boolean_t force_upload)
 
        SFC_ASSERT(sfc_adapter_is_locked(sa));
 
-       if (sa->state != SFC_ADAPTER_STARTED)
+       if (sa->state != SFC_ETHDEV_STARTED)
                return 0;
 
        /*
@@ -383,14 +383,10 @@ sfc_port_configure(struct sfc_adapter *sa)
 {
        const struct rte_eth_dev_data *dev_data = sa->eth_dev->data;
        struct sfc_port *port = &sa->port;
-       const struct rte_eth_rxmode *rxmode = &dev_data->dev_conf.rxmode;
 
        sfc_log_init(sa, "entry");
 
-       if (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
-               port->pdu = rxmode->max_rx_pkt_len;
-       else
-               port->pdu = EFX_MAC_PDU(dev_data->mtu);
+       port->pdu = EFX_MAC_PDU(dev_data->mtu);
 
        return 0;
 }
@@ -444,7 +440,8 @@ sfc_port_attach(struct sfc_adapter *sa)
 
        mac_nstats = efx_nic_cfg_get(sa->nic)->enc_mac_stats_nstats;
        mac_stats_size = RTE_ALIGN(mac_nstats * sizeof(uint64_t), EFX_BUF_SIZE);
-       rc = sfc_dma_alloc(sa, "mac_stats", 0, mac_stats_size,
+       rc = sfc_dma_alloc(sa, "mac_stats", 0, EFX_NIC_DMA_ADDR_MAC_STATS_BUF,
+                          mac_stats_size,
                           sa->socket_id, &port->mac_stats_dma_mem);
        if (rc != 0)
                goto fail_mac_stats_dma_alloc;
@@ -577,66 +574,66 @@ sfc_port_link_mode_to_info(efx_link_mode_t link_mode,
 
        memset(link_info, 0, sizeof(*link_info));
        if ((link_mode == EFX_LINK_DOWN) || (link_mode == EFX_LINK_UNKNOWN))
-               link_info->link_status = ETH_LINK_DOWN;
+               link_info->link_status = RTE_ETH_LINK_DOWN;
        else
-               link_info->link_status = ETH_LINK_UP;
+               link_info->link_status = RTE_ETH_LINK_UP;
 
        switch (link_mode) {
        case EFX_LINK_10HDX:
-               link_info->link_speed  = ETH_SPEED_NUM_10M;
-               link_info->link_duplex = ETH_LINK_HALF_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_10M;
+               link_info->link_duplex = RTE_ETH_LINK_HALF_DUPLEX;
                break;
        case EFX_LINK_10FDX:
-               link_info->link_speed  = ETH_SPEED_NUM_10M;
-               link_info->link_duplex = ETH_LINK_FULL_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_10M;
+               link_info->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
                break;
        case EFX_LINK_100HDX:
-               link_info->link_speed  = ETH_SPEED_NUM_100M;
-               link_info->link_duplex = ETH_LINK_HALF_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_100M;
+               link_info->link_duplex = RTE_ETH_LINK_HALF_DUPLEX;
                break;
        case EFX_LINK_100FDX:
-               link_info->link_speed  = ETH_SPEED_NUM_100M;
-               link_info->link_duplex = ETH_LINK_FULL_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_100M;
+               link_info->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
                break;
        case EFX_LINK_1000HDX:
-               link_info->link_speed  = ETH_SPEED_NUM_1G;
-               link_info->link_duplex = ETH_LINK_HALF_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_1G;
+               link_info->link_duplex = RTE_ETH_LINK_HALF_DUPLEX;
                break;
        case EFX_LINK_1000FDX:
-               link_info->link_speed  = ETH_SPEED_NUM_1G;
-               link_info->link_duplex = ETH_LINK_FULL_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_1G;
+               link_info->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
                break;
        case EFX_LINK_10000FDX:
-               link_info->link_speed  = ETH_SPEED_NUM_10G;
-               link_info->link_duplex = ETH_LINK_FULL_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_10G;
+               link_info->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
                break;
        case EFX_LINK_25000FDX:
-               link_info->link_speed  = ETH_SPEED_NUM_25G;
-               link_info->link_duplex = ETH_LINK_FULL_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_25G;
+               link_info->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
                break;
        case EFX_LINK_40000FDX:
-               link_info->link_speed  = ETH_SPEED_NUM_40G;
-               link_info->link_duplex = ETH_LINK_FULL_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_40G;
+               link_info->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
                break;
        case EFX_LINK_50000FDX:
-               link_info->link_speed  = ETH_SPEED_NUM_50G;
-               link_info->link_duplex = ETH_LINK_FULL_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_50G;
+               link_info->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
                break;
        case EFX_LINK_100000FDX:
-               link_info->link_speed  = ETH_SPEED_NUM_100G;
-               link_info->link_duplex = ETH_LINK_FULL_DUPLEX;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_100G;
+               link_info->link_duplex = RTE_ETH_LINK_FULL_DUPLEX;
                break;
        default:
                SFC_ASSERT(B_FALSE);
                /* FALLTHROUGH */
        case EFX_LINK_UNKNOWN:
        case EFX_LINK_DOWN:
-               link_info->link_speed  = ETH_SPEED_NUM_NONE;
+               link_info->link_speed  = RTE_ETH_SPEED_NUM_NONE;
                link_info->link_duplex = 0;
                break;
        }
 
-       link_info->link_autoneg = ETH_LINK_AUTONEG;
+       link_info->link_autoneg = RTE_ETH_LINK_AUTONEG;
 }
 
 int