aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ice/ice_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_lib.c')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_lib.c32
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 }