diff options
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h index 992308ff82e8..66da39f0c84a 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h | |||
@@ -161,6 +161,10 @@ typedef int (*exe_q_validate)(struct bnx2x *bp, | |||
161 | union bnx2x_qable_obj *o, | 161 | union bnx2x_qable_obj *o, |
162 | struct bnx2x_exeq_elem *elem); | 162 | struct bnx2x_exeq_elem *elem); |
163 | 163 | ||
164 | typedef int (*exe_q_remove)(struct bnx2x *bp, | ||
165 | union bnx2x_qable_obj *o, | ||
166 | struct bnx2x_exeq_elem *elem); | ||
167 | |||
164 | /** | 168 | /** |
165 | * @return positive is entry was optimized, 0 - if not, negative | 169 | * @return positive is entry was optimized, 0 - if not, negative |
166 | * in case of an error. | 170 | * in case of an error. |
@@ -203,11 +207,18 @@ struct bnx2x_exe_queue_obj { | |||
203 | */ | 207 | */ |
204 | exe_q_validate validate; | 208 | exe_q_validate validate; |
205 | 209 | ||
210 | /** | ||
211 | * Called before removing pending commands, cleaning allocated | ||
212 | * resources (e.g., credits from validate) | ||
213 | */ | ||
214 | exe_q_remove remove; | ||
206 | 215 | ||
207 | /** | 216 | /** |
208 | * This will try to cancel the current pending commands list | 217 | * This will try to cancel the current pending commands list |
209 | * considering the new command. | 218 | * considering the new command. |
210 | * | 219 | * |
220 | * Returns the number of optimized commands or a negative error code | ||
221 | * | ||
211 | * Must run under exe_queue->lock | 222 | * Must run under exe_queue->lock |
212 | */ | 223 | */ |
213 | exe_q_optimize optimize; | 224 | exe_q_optimize optimize; |