| @@ -1327,12 +1327,12 @@ err_free_core: · 1326 unmodified lines |
| 1327 | return rc; | 1327 | return rc; |
| 1328 | } | 1328 | } |
| 1329 | | 1329 | |
| 1330 | u16 bnge_cp_ring_for_rx(struct bnge_rx_ring_info *rxr) | 1330 | u32 bnge_cp_ring_for_rx(struct bnge_rx_ring_info *rxr) |
| 1331 | { | 1331 | { |
| 1332 | return rxr->rx_cpr->ring_struct.fw_ring_id; | 1332 | return rxr->rx_cpr->ring_struct.fw_ring_id; |
| 1333 | } | 1333 | } |
| 1334 | | 1334 | |
| 1335 | u16 bnge_cp_ring_for_tx(struct bnge_tx_ring_info *txr) | 1335 | u32 bnge_cp_ring_for_tx(struct bnge_tx_ring_info *txr) |
| 1336 | { | 1336 | { |
| 1337 | return txr->tx_cpr->ring_struct.fw_ring_id; | 1337 | return txr->tx_cpr->ring_struct.fw_ring_id; |
| 1338 | } | 1338 | } |
| @@ -1375,12 +1375,12 @@ static void bnge_init_nq_tree(struct bnge_net *bn) · 36 unmodified lines |
| 1375 | struct bnge_nq_ring_info *nqr = &bn->bnapi[i]->nq_ring; | 1375 | struct bnge_nq_ring_info *nqr = &bn->bnapi[i]->nq_ring; |
| 1376 | struct bnge_ring_struct *ring = &nqr->ring_struct; | 1376 | struct bnge_ring_struct *ring = &nqr->ring_struct; |
| 1377 | | 1377 | |
| 1378 | ring->fw_ring_id = INVALID_HW_RING_ID; | 1378 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 1379 | for (j = 0; j < nqr->cp_ring_count; j++) { | 1379 | for (j = 0; j < nqr->cp_ring_count; j++) { |
| 1380 | struct bnge_cp_ring_info *cpr = &nqr->cp_ring_arr[j]; | 1380 | struct bnge_cp_ring_info *cpr = &nqr->cp_ring_arr[j]; |
| 1381 | | 1381 | |
| 1382 | ring = &cpr->ring_struct; | 1382 | ring = &cpr->ring_struct; |
| 1383 | ring->fw_ring_id = INVALID_HW_RING_ID; | 1383 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 1384 | } | 1384 | } |
| 1385 | } | 1385 | } |
| 1386 | } | 1386 | } |
| @@ -1637,7 +1637,7 @@ static void bnge_init_one_rx_ring_rxbd(struct bnge_net *bn, · 250 unmodified lines |
| 1637 | | 1637 | |
| 1638 | ring = &rxr->rx_ring_struct; | 1638 | ring = &rxr->rx_ring_struct; |
| 1639 | bnge_init_rxbd_pages(ring, type); | 1639 | bnge_init_rxbd_pages(ring, type); |
| 1640 | ring->fw_ring_id = INVALID_HW_RING_ID; | 1640 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 1641 | } | 1641 | } |
| 1642 | | 1642 | |
| 1643 | static void bnge_init_one_agg_ring_rxbd(struct bnge_net *bn, | 1643 | static void bnge_init_one_agg_ring_rxbd(struct bnge_net *bn, |
| @@ -1647,7 +1647,7 @@ static void bnge_init_one_agg_ring_rxbd(struct bnge_net *bn, · 3 unmodified lines |
| 1647 | u32 type; | 1647 | u32 type; |
| 1648 | | 1648 | |
| 1649 | ring = &rxr->rx_agg_ring_struct; | 1649 | ring = &rxr->rx_agg_ring_struct; |
| 1650 | ring->fw_ring_id = INVALID_HW_RING_ID; | 1650 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 1651 | if (bnge_is_agg_reqd(bn->bd)) { | 1651 | if (bnge_is_agg_reqd(bn->bd)) { |
| 1652 | type = ((u32)BNGE_RX_PAGE_SIZE << RX_BD_LEN_SHIFT) | | 1652 | type = ((u32)BNGE_RX_PAGE_SIZE << RX_BD_LEN_SHIFT) | |
| 1653 | RX_BD_TYPE_RX_AGG_BD | RX_BD_FLAGS_SOP; | 1653 | RX_BD_TYPE_RX_AGG_BD | RX_BD_FLAGS_SOP; |
| @@ -1708,7 +1708,7 @@ static void bnge_init_tx_rings(struct bnge_net *bn) · 54 unmodified lines |
| 1708 | struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; | 1708 | struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; |
| 1709 | struct bnge_ring_struct *ring = &txr->tx_ring_struct; | 1709 | struct bnge_ring_struct *ring = &txr->tx_ring_struct; |
| 1710 | | 1710 | |
| 1711 | ring->fw_ring_id = INVALID_HW_RING_ID; | 1711 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 1712 | | 1712 | |
| 1713 | netif_queue_set_napi(bn->netdev, i, NETDEV_QUEUE_TYPE_TX, | 1713 | netif_queue_set_napi(bn->netdev, i, NETDEV_QUEUE_TYPE_TX, |
| 1714 | &txr->bnapi->napi); | 1714 | &txr->bnapi->napi); |
| @@ -1867,7 +1867,7 @@ static int bnge_hwrm_rx_agg_ring_alloc(struct bnge_net *bn, · 152 unmodified lines |
| 1867 | ring->fw_ring_id); | 1867 | ring->fw_ring_id); |
| 1868 | bnge_db_write(bn->bd, &rxr->rx_agg_db, rxr->rx_agg_prod); | 1868 | bnge_db_write(bn->bd, &rxr->rx_agg_db, rxr->rx_agg_prod); |
| 1869 | bnge_db_write(bn->bd, &rxr->rx_db, rxr->rx_prod); | 1869 | bnge_db_write(bn->bd, &rxr->rx_db, rxr->rx_prod); |
| 1870 | bn->grp_info[grp_idx].agg_fw_ring_id = ring->fw_ring_id; | 1870 | bn->grp_info[grp_idx].agg_fw_ring_id = (u16)ring->fw_ring_id; |
| 1871 | | 1871 | |
| 1872 | return 0; | 1872 | return 0; |
| 1873 | } | 1873 | } |
| @@ -1886,7 +1886,7 @@ static int bnge_hwrm_rx_ring_alloc(struct bnge_net *bn, · 12 unmodified lines |
| 1886 | return rc; | 1886 | return rc; |
| 1887 | | 1887 | |
| 1888 | bnge_set_db(bn, &rxr->rx_db, type, map_idx, ring->fw_ring_id); | 1888 | bnge_set_db(bn, &rxr->rx_db, type, map_idx, ring->fw_ring_id); |
| 1889 | bn->grp_info[map_idx].rx_fw_ring_id = ring->fw_ring_id; | 1889 | bn->grp_info[map_idx].rx_fw_ring_id = (u16)ring->fw_ring_id; |
| 1890 | | 1890 | |
| 1891 | return 0; | 1891 | return 0; |
| 1892 | } | 1892 | } |
| @@ -1916,7 +1916,7 @@ static int bnge_hwrm_ring_alloc(struct bnge_net *bn) · 23 unmodified lines |
| 1916 | bnge_set_db(bn, &nqr->nq_db, type, map_idx, ring->fw_ring_id); | 1916 | bnge_set_db(bn, &nqr->nq_db, type, map_idx, ring->fw_ring_id); |
| 1917 | bnge_db_nq(bn, &nqr->nq_db, nqr->nq_raw_cons); | 1917 | bnge_db_nq(bn, &nqr->nq_db, nqr->nq_raw_cons); |
| 1918 | enable_irq(vector); | 1918 | enable_irq(vector); |
| 1919 | bn->grp_info[i].nq_fw_ring_id = ring->fw_ring_id; | 1919 | bn->grp_info[i].nq_fw_ring_id = (u16)ring->fw_ring_id; |
| 1920 | | 1920 | |
| 1921 | if (!i) { | 1921 | if (!i) { |
| 1922 | rc = bnge_hwrm_set_async_event_cr(bd, ring->fw_ring_id); | 1922 | rc = bnge_hwrm_set_async_event_cr(bd, ring->fw_ring_id); |
| @@ -1986,15 +1986,13 @@ void bnge_fill_hw_rss_tbl(struct bnge_net *bn, struct bnge_vnic_info *vnic) · 63 unmodified lines |
| 1986 | tbl_size = bnge_get_rxfh_indir_size(bd); | 1986 | tbl_size = bnge_get_rxfh_indir_size(bd); |
| 1987 | | 1987 | |
| 1988 | for (i = 0; i < tbl_size; i++) { | 1988 | for (i = 0; i < tbl_size; i++) { |
| 1989 | u16 ring_id, j; | 1989 | u32 j; |
| 1990 | | 1990 | |
| 1991 | j = bd->rss_indir_tbl[i]; | 1991 | j = bd->rss_indir_tbl[i]; |
| 1992 | rxr = &bn->rx_ring[j]; | 1992 | rxr = &bn->rx_ring[j]; |
| 1993 | | 1993 | |
| 1994 | ring_id = rxr->rx_ring_struct.fw_ring_id; | 1994 | *ring_tbl++ = cpu_to_le16(rxr->rx_ring_struct.fw_ring_id); |
| 1995 | *ring_tbl++ = cpu_to_le16(ring_id); | 1995 | *ring_tbl++ = cpu_to_le16(bnge_cp_ring_for_rx(rxr)); |
| 1996 | ring_id = bnge_cp_ring_for_rx(rxr); | | |
| 1997 | *ring_tbl++ = cpu_to_le16(ring_id); | | |
| 1998 | } | 1996 | } |
| 1999 | } | 1997 | } |
| 2000 | | 1998 | |
| @@ -2285,7 +2283,7 @@ static void bnge_disable_int(struct bnge_net *bn) · 284 unmodified lines |
| 2285 | nqr = &bnapi->nq_ring; | 2283 | nqr = &bnapi->nq_ring; |
| 2286 | ring = &nqr->ring_struct; | 2284 | ring = &nqr->ring_struct; |
| 2287 | | 2285 | |
| 2288 | if (ring->fw_ring_id != INVALID_HW_RING_ID) | 2286 | if (ring->fw_ring_id != INVALID_HW_RING_ID_32BIT) |
| 2289 | bnge_db_nq(bn, &nqr->nq_db, nqr->nq_raw_cons); | 2287 | bnge_db_nq(bn, &nqr->nq_db, nqr->nq_raw_cons); |
| 2290 | } | 2288 | } |
| 2291 | } | 2289 | } |
| @@ -2401,7 +2399,7 @@ static void bnge_hwrm_rx_ring_free(struct bnge_net *bn, · 109 unmodified lines |
| 2401 | u32 grp_idx = rxr->bnapi->index; | 2399 | u32 grp_idx = rxr->bnapi->index; |
| 2402 | u32 cmpl_ring_id; | 2400 | u32 cmpl_ring_id; |
| 2403 | | 2401 | |
| 2404 | if (ring->fw_ring_id == INVALID_HW_RING_ID) | 2402 | if (ring->fw_ring_id == INVALID_HW_RING_ID_32BIT) |
| 2405 | return; | 2403 | return; |
| 2406 | | 2404 | |
| 2407 | cmpl_ring_id = bnge_cp_ring_for_rx(rxr); | 2405 | cmpl_ring_id = bnge_cp_ring_for_rx(rxr); |
| @@ -2409,7 +2407,7 @@ static void bnge_hwrm_rx_ring_free(struct bnge_net *bn, · 1 unmodified line |
| 2409 | RING_FREE_REQ_RING_TYPE_RX, | 2407 | RING_FREE_REQ_RING_TYPE_RX, |
| 2410 | close_path ? cmpl_ring_id : | 2408 | close_path ? cmpl_ring_id : |
| 2411 | INVALID_HW_RING_ID); | 2409 | INVALID_HW_RING_ID); |
| 2412 | ring->fw_ring_id = INVALID_HW_RING_ID; | 2410 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 2413 | bn->grp_info[grp_idx].rx_fw_ring_id = INVALID_HW_RING_ID; | 2411 | bn->grp_info[grp_idx].rx_fw_ring_id = INVALID_HW_RING_ID; |
| 2414 | } | 2412 | } |
| 2415 | | 2413 | |
| @@ -2421,14 +2419,14 @@ static void bnge_hwrm_rx_agg_ring_free(struct bnge_net *bn, · 5 unmodified lines |
| 2421 | u32 grp_idx = rxr->bnapi->index; | 2419 | u32 grp_idx = rxr->bnapi->index; |
| 2422 | u32 cmpl_ring_id; | 2420 | u32 cmpl_ring_id; |
| 2423 | | 2421 | |
| 2424 | if (ring->fw_ring_id == INVALID_HW_RING_ID) | 2422 | if (ring->fw_ring_id == INVALID_HW_RING_ID_32BIT) |
| 2425 | return; | 2423 | return; |
| 2426 | | 2424 | |
| 2427 | cmpl_ring_id = bnge_cp_ring_for_rx(rxr); | 2425 | cmpl_ring_id = bnge_cp_ring_for_rx(rxr); |
| 2428 | hwrm_ring_free_send_msg(bn, ring, RING_FREE_REQ_RING_TYPE_RX_AGG, | 2426 | hwrm_ring_free_send_msg(bn, ring, RING_FREE_REQ_RING_TYPE_RX_AGG, |
| 2429 | close_path ? cmpl_ring_id : | 2427 | close_path ? cmpl_ring_id : |
| 2430 | INVALID_HW_RING_ID); | 2428 | INVALID_HW_RING_ID); |
| 2431 | ring->fw_ring_id = INVALID_HW_RING_ID; | 2429 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 2432 | bn->grp_info[grp_idx].agg_fw_ring_id = INVALID_HW_RING_ID; | 2430 | bn->grp_info[grp_idx].agg_fw_ring_id = INVALID_HW_RING_ID; |
| 2433 | } | 2431 | } |
| 2434 | | 2432 | |
| @@ -2439,14 +2437,14 @@ static void bnge_hwrm_tx_ring_free(struct bnge_net *bn, · 4 unmodified lines |
| 2439 | struct bnge_ring_struct *ring = &txr->tx_ring_struct; | 2437 | struct bnge_ring_struct *ring = &txr->tx_ring_struct; |
| 2440 | u32 cmpl_ring_id; | 2438 | u32 cmpl_ring_id; |
| 2441 | | 2439 | |
| 2442 | if (ring->fw_ring_id == INVALID_HW_RING_ID) | 2440 | if (ring->fw_ring_id == INVALID_HW_RING_ID_32BIT) |
| 2443 | return; | 2441 | return; |
| 2444 | | 2442 | |
| 2445 | cmpl_ring_id = close_path ? bnge_cp_ring_for_tx(txr) : | 2443 | cmpl_ring_id = close_path ? bnge_cp_ring_for_tx(txr) : |
| 2446 | INVALID_HW_RING_ID; | 2444 | INVALID_HW_RING_ID; |
| 2447 | hwrm_ring_free_send_msg(bn, ring, RING_FREE_REQ_RING_TYPE_TX, | 2445 | hwrm_ring_free_send_msg(bn, ring, RING_FREE_REQ_RING_TYPE_TX, |
| 2448 | cmpl_ring_id); | 2446 | cmpl_ring_id); |
| 2449 | ring->fw_ring_id = INVALID_HW_RING_ID; | 2447 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 2450 | } | 2448 | } |
| 2451 | | 2449 | |
| 2452 | static void bnge_hwrm_cp_ring_free(struct bnge_net *bn, | 2450 | static void bnge_hwrm_cp_ring_free(struct bnge_net *bn, |
| @@ -2455,12 +2453,12 @@ static void bnge_hwrm_cp_ring_free(struct bnge_net *bn, · 2 unmodified lines |
| 2455 | struct bnge_ring_struct *ring; | 2453 | struct bnge_ring_struct *ring; |
| 2456 | | 2454 | |
| 2457 | ring = &cpr->ring_struct; | 2455 | ring = &cpr->ring_struct; |
| 2458 | if (ring->fw_ring_id == INVALID_HW_RING_ID) | 2456 | if (ring->fw_ring_id == INVALID_HW_RING_ID_32BIT) |
| 2459 | return; | 2457 | return; |
| 2460 | | 2458 | |
| 2461 | hwrm_ring_free_send_msg(bn, ring, RING_FREE_REQ_RING_TYPE_L2_CMPL, | 2459 | hwrm_ring_free_send_msg(bn, ring, RING_FREE_REQ_RING_TYPE_L2_CMPL, |
| 2462 | INVALID_HW_RING_ID); | 2460 | INVALID_HW_RING_ID); |
| 2463 | ring->fw_ring_id = INVALID_HW_RING_ID; | 2461 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 2464 | } | 2462 | } |
| 2465 | | 2463 | |
| 2466 | static void bnge_hwrm_ring_free(struct bnge_net *bn, bool close_path) | 2464 | static void bnge_hwrm_ring_free(struct bnge_net *bn, bool close_path) |
| @@ -2496,11 +2494,11 @@ static void bnge_hwrm_ring_free(struct bnge_net *bn, bool close_path) · 29 unmodified lines |
| 2496 | bnge_hwrm_cp_ring_free(bn, &nqr->cp_ring_arr[j]); | 2494 | bnge_hwrm_cp_ring_free(bn, &nqr->cp_ring_arr[j]); |
| 2497 | | 2495 | |
| 2498 | ring = &nqr->ring_struct; | 2496 | ring = &nqr->ring_struct; |
| 2499 | if (ring->fw_ring_id != INVALID_HW_RING_ID) { | 2497 | if (ring->fw_ring_id != INVALID_HW_RING_ID_32BIT) { |
| 2500 | hwrm_ring_free_send_msg(bn, ring, | 2498 | hwrm_ring_free_send_msg(bn, ring, |
| 2501 | RING_FREE_REQ_RING_TYPE_NQ, | 2499 | RING_FREE_REQ_RING_TYPE_NQ, |
| 2502 | INVALID_HW_RING_ID); | 2500 | INVALID_HW_RING_ID); |
| 2503 | ring->fw_ring_id = INVALID_HW_RING_ID; | 2501 | ring->fw_ring_id = INVALID_HW_RING_ID_32BIT; |
| 2504 | bn->grp_info[i].nq_fw_ring_id = INVALID_HW_RING_ID; | 2502 | bn->grp_info[i].nq_fw_ring_id = INVALID_HW_RING_ID; |
| 2505 | } | 2503 | } |
| 2506 | } | 2504 | } |