xref: /illumos-gate/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l4/lm_l4sp.h (revision d14abf155341d55053c76eeec58b787a456b753b)
1 
2 
3 /*******************************************************************************
4 * lm_l4sp.h - l4 common slow path interface for usage from lm_l4rx.c/lm_l4tx.c
5 *******************************************************************************/
6 #ifndef _LM_L4SP_H
7 #define _LM_L4SP_H
8 
9 void lm_tcp_init_ramrod_comp(
10 	IN    struct _lm_device_t * pdev);
11 
12 void lm_tcp_rss_update_ramrod_comp(
13 	IN    struct _lm_device_t * pdev,
14 	IN    lm_tcp_rcq_t        * rcq,
15 	IN    u32_t cid,
16 	IN    u32_t update_stats_type,
17     IN    u8_t update_suspend_rcq);
18 
19 void lm_tcp_rss_update_suspend_rcq(
20 	IN    struct _lm_device_t * pdev,
21 	IN    lm_tcp_rcq_t        * rcq);
22 
23 void lm_tcp_tx_complete_tcp_sp(
24     IN    struct _lm_device_t * pdev,
25     IN    lm_tcp_state_t      * tcp,
26     IN    lm_tcp_con_t        * con);
27 
28 void lm_tcp_rx_complete_tcp_sp(
29     IN    struct _lm_device_t * pdev,
30     IN    lm_tcp_state_t      * tcp,
31     IN    lm_tcp_con_t        * con);
32 
33 void lm_tcp_searcher_ramrod_complete(
34     IN    struct _lm_device_t * pdev,
35     IN    lm_tcp_state_t      * tcp
36     );
37 
38 void lm_tcp_terminate_ramrod_complete(
39     IN    struct _lm_device_t * pdev,
40     IN    lm_tcp_state_t      * tcp
41     );
42 
43 void lm_tcp_query_ramrod_complete(
44     IN    struct _lm_device_t * pdev,
45     IN    lm_tcp_state_t      * tcp
46     );
47 
48 
49 /** Description
50  *  function fills a certain grq with generic buffers from the generic buffer pool
51  * Assumptions:
52  *  - called after the generic buffer pool is ready to deliver generic buffers
53  * Returns:
54  *  - TRUE if grq was filled with any new buffers
55  *  - FALSE if grq qas not filled at all
56  */
57 
58 #define FILL_GRQ_MIN_CASHED_BDS     0x00
59 #define FILL_GRQ_LOW_THRESHOLD      0x01
60 #define FILL_GRQ_FULL               0x02
61 
62 u8_t lm_tcp_rx_fill_grq(struct _lm_device_t * pdev, u8_t sb_idx, d_list_t * bypass_gen_pool_list, u8_t filling_mode);
63 void lm_tcp_update_isles_cnts(struct _lm_device_t * pdev, s16_t number_of_isles, s32_t number_of_gen_bufs);
64 
65 void lm_tcp_flush_db(struct _lm_device_t * pdev, lm_tcp_state_t *tcp);
66 
67 
68 #endif /* _LM_L4SP_H */
69