diff options
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_lib.c')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_lib.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c index 83d0aef7f77e..caa00e8873ec 100644 --- a/drivers/net/ethernet/intel/ice/ice_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_lib.c | |||
@@ -1879,33 +1879,37 @@ void ice_vsi_cfg_msix(struct ice_vsi *vsi) | |||
1879 | * tracked for this PF. | 1879 | * tracked for this PF. |
1880 | */ | 1880 | */ |
1881 | for (q = 0; q < q_vector->num_ring_tx; q++) { | 1881 | for (q = 0; q < q_vector->num_ring_tx; q++) { |
1882 | int itr_idx = q_vector->tx.itr_idx; | 1882 | int itr_idx = (q_vector->tx.itr_idx << |
1883 | QINT_TQCTL_ITR_INDX_S) & | ||
1884 | QINT_TQCTL_ITR_INDX_M; | ||
1883 | u32 val; | 1885 | u32 val; |
1884 | 1886 | ||
1885 | if (vsi->type == ICE_VSI_VF) | 1887 | if (vsi->type == ICE_VSI_VF) |
1886 | val = QINT_TQCTL_CAUSE_ENA_M | | 1888 | val = QINT_TQCTL_CAUSE_ENA_M | itr_idx | |
1887 | (itr_idx << QINT_TQCTL_ITR_INDX_S) | | 1889 | (((i + 1) << QINT_TQCTL_MSIX_INDX_S) & |
1888 | ((i + 1) << QINT_TQCTL_MSIX_INDX_S); | 1890 | QINT_TQCTL_MSIX_INDX_M); |
1889 | else | 1891 | else |
1890 | val = QINT_TQCTL_CAUSE_ENA_M | | 1892 | val = QINT_TQCTL_CAUSE_ENA_M | itr_idx | |
1891 | (itr_idx << QINT_TQCTL_ITR_INDX_S) | | 1893 | ((reg_idx << QINT_TQCTL_MSIX_INDX_S) & |
1892 | (reg_idx << QINT_TQCTL_MSIX_INDX_S); | 1894 | QINT_TQCTL_MSIX_INDX_M); |
1893 | wr32(hw, QINT_TQCTL(vsi->txq_map[txq]), val); | 1895 | wr32(hw, QINT_TQCTL(vsi->txq_map[txq]), val); |
1894 | txq++; | 1896 | txq++; |
1895 | } | 1897 | } |
1896 | 1898 | ||
1897 | for (q = 0; q < q_vector->num_ring_rx; q++) { | 1899 | for (q = 0; q < q_vector->num_ring_rx; q++) { |
1898 | int itr_idx = q_vector->rx.itr_idx; | 1900 | int itr_idx = (q_vector->rx.itr_idx << |
1901 | QINT_RQCTL_ITR_INDX_S) & | ||
1902 | QINT_RQCTL_ITR_INDX_M; | ||
1899 | u32 val; | 1903 | u32 val; |
1900 | 1904 | ||
1901 | if (vsi->type == ICE_VSI_VF) | 1905 | if (vsi->type == ICE_VSI_VF) |
1902 | val = QINT_RQCTL_CAUSE_ENA_M | | 1906 | val = QINT_RQCTL_CAUSE_ENA_M | itr_idx | |
1903 | (itr_idx << QINT_RQCTL_ITR_INDX_S) | | 1907 | (((i + 1) << QINT_RQCTL_MSIX_INDX_S) & |
1904 | ((i + 1) << QINT_RQCTL_MSIX_INDX_S); | 1908 | QINT_RQCTL_MSIX_INDX_M); |
1905 | else | 1909 | else |
1906 | val = QINT_RQCTL_CAUSE_ENA_M | | 1910 | val = QINT_RQCTL_CAUSE_ENA_M | itr_idx | |
1907 | (itr_idx << QINT_RQCTL_ITR_INDX_S) | | 1911 | ((reg_idx << QINT_RQCTL_MSIX_INDX_S) & |
1908 | (reg_idx << QINT_RQCTL_MSIX_INDX_S); | 1912 | QINT_RQCTL_MSIX_INDX_M); |
1909 | wr32(hw, QINT_RQCTL(vsi->rxq_map[rxq]), val); | 1913 | wr32(hw, QINT_RQCTL(vsi->rxq_map[rxq]), val); |
1910 | rxq++; | 1914 | rxq++; |
1911 | } | 1915 | } |