|
@@ -702,7 +702,24 @@ static inline void i40e_dbg_pf_exit(struct i40e_pf *pf) {}
|
|
|
static inline void i40e_dbg_init(void) {}
|
|
|
static inline void i40e_dbg_exit(void) {}
|
|
|
#endif /* CONFIG_DEBUG_FS*/
|
|
|
-void i40e_irq_dynamic_enable(struct i40e_vsi *vsi, int vector);
|
|
|
+/**
|
|
|
+ * i40e_irq_dynamic_enable - Enable default interrupt generation settings
|
|
|
+ * @vsi: pointer to a vsi
|
|
|
+ * @vector: enable a particular Hw Interrupt vector, without base_vector
|
|
|
+ **/
|
|
|
+static inline void i40e_irq_dynamic_enable(struct i40e_vsi *vsi, int vector)
|
|
|
+{
|
|
|
+ struct i40e_pf *pf = vsi->back;
|
|
|
+ struct i40e_hw *hw = &pf->hw;
|
|
|
+ u32 val;
|
|
|
+
|
|
|
+ val = I40E_PFINT_DYN_CTLN_INTENA_MASK |
|
|
|
+ I40E_PFINT_DYN_CTLN_CLEARPBA_MASK |
|
|
|
+ (I40E_ITR_NONE << I40E_PFINT_DYN_CTLN_ITR_INDX_SHIFT);
|
|
|
+ wr32(hw, I40E_PFINT_DYN_CTLN(vector + vsi->base_vector - 1), val);
|
|
|
+ /* skip the flush */
|
|
|
+}
|
|
|
+
|
|
|
void i40e_irq_dynamic_disable(struct i40e_vsi *vsi, int vector);
|
|
|
void i40e_irq_dynamic_disable_icr0(struct i40e_pf *pf);
|
|
|
void i40e_irq_dynamic_enable_icr0(struct i40e_pf *pf);
|