38 #ifndef __OCS_HAL_QUEUES_H__
39 #define __OCS_HAL_QUEUES_H__
41 #define OCS_HAL_EQ_ENTRIES_MIN 1024
42 #define OCS_HAL_EQ_ENTRIES_DEF 1024
43 #define OCS_HAL_EQ_ENTRIES_MAX 4096
45 #define OCS_HAL_CQ_ENTRIES_MIN 256
46 #define OCS_HAL_CQ_ENTRIES_DEF 4096
47 #define OCS_HAL_CQ_ENTRIES_MAX 4096
49 #define OCS_HAL_WQ_ENTRIES_MIN 64
50 #define OCS_HAL_WQ_ENTRIES_DEF 2048
51 #define OCS_HAL_WQ_ENTRIES_MAX 2048
53 #define OCS_HAL_RQ_ENTRIES_MIN 512
54 #define OCS_HAL_RQ_ENTRIES_DEF 1024
55 #define OCS_HAL_RQ_ENTRIES_MAX 4096
57 #define OCS_HAL_MQ_ENTRIES_MIN 16
58 #define OCS_HAL_MQ_ENTRIES_DEF 128
59 #define OCS_HAL_MQ_ENTRIES_MAX 128
112 #define MAX_TOKENS 256
113 #define OCS_HAL_MAX_QTOP_ENTRIES 200
121 uint32_t rptcount[10];
138 return ((len) && (0 == (len & (len-1))));
144 return ((qlen >= min) && (qlen <= max) && (
ocs_power_of_2(qlen)));
ocs_hal_qtop_entry_t * entries
ocs_hal_qtop_entry_e entry
static bool ocs_power_of_2(size_t len)
uint32_t ocs_hal_qtop_eq_count(ocs_hal_t *hal)
Return count of EQs for a queue topology object.
ocs_hal_rtn_e ocs_hal_init_queues(ocs_hal_t *hal, ocs_hal_qtop_t *qtop)
Initialize queues.
hal_wq_t * ocs_hal_queue_next_wq(ocs_hal_t *hal, ocs_hal_io_t *io)
Allocate a WQ to an IO object.
void hal_thread_eq_handler(ocs_hal_t *hal, hal_eq_t *eq, uint32_t max_isr_time_msec)
void ocs_hal_qtop_free(ocs_hal_qtop_t *qtop)
free queue topology object
#define OCS_HAL_MAX_RQ_PAIRS
void hal_thread_cq_handler(ocs_hal_t *hal, hal_cq_t *cq)
ocs_hal_qtop_t * ocs_hal_qtop_parse(ocs_hal_t *hal, const char *qtop_string)
Parse queue topology string.
const char * ocs_hal_qtop_entry_name(ocs_hal_qtop_entry_e entry)
#define OCE_HAL_MAX_NUM_MRQ_PAIRS
static bool ocs_qlen_valid(uint32_t qlen, uint32_t min, uint32_t max)