Lines Matching +full:max +full:- +full:by +full:- +full:define
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
39 #define __LIO_CONFIG_H__
41 /*--------------------------CONFIG VALUES------------------------*/
53 #define LIO_MAX_IF 128
54 #define LIO_MAX_DEVICES LIO_MAX_IF
55 #define LIO_MAX_MULTICAST_ADDR 32
58 #define LIO_CN23XX_PF_MAX_RINGS 64
60 #define LIO_BR_SIZE 4096
62 #define LIO_CN23XX_PF_MAX_INPUT_QUEUES LIO_CN23XX_PF_MAX_RINGS
63 #define LIO_CN23XX_MAX_IQ_DESCRIPTORS 2048
64 #define LIO_CN23XX_DEFAULT_IQ_DESCRIPTORS 512
65 #define LIO_CN23XX_MIN_IQ_DESCRIPTORS 128
66 #define LIO_CN23XX_DB_MIN 1
67 #define LIO_CN23XX_DB_TIMEOUT 1
69 #define LIO_CN23XX_PF_MAX_OUTPUT_QUEUES LIO_CN23XX_PF_MAX_RINGS
70 #define LIO_CN23XX_MAX_OQ_DESCRIPTORS 2048
71 #define LIO_CN23XX_DEFAULT_OQ_DESCRIPTORS 512
72 #define LIO_CN23XX_MIN_OQ_DESCRIPTORS 128
73 #define LIO_CN23XX_OQ_BUF_SIZE MCLBYTES
74 #define LIO_CN23XX_OQ_PKTS_PER_INTR 128
75 #define LIO_CN23XX_OQ_REFIL_THRESHOLD 16
77 #define LIO_CN23XX_OQ_INTR_PKT 64
78 #define LIO_CN23XX_OQ_INTR_TIME 100
79 #define LIO_CN23XX_DEFAULT_NUM_PORTS 1
81 #define LIO_CN23XX_CFG_IO_QUEUES LIO_CN23XX_PF_MAX_RINGS
83 #define LIO_CN23XX_DEF_IQ_INTR_THRESHOLD 32
84 #define LIO_CN23XX_PKI_MAX_FRAME_SIZE 65535
85 #define LIO_CN23XX_RAW_FRONT_SIZE 48
87 * this is the max jabber value.Any packets greater than this size sent over
90 #define LIO_CN23XX_MAX_INPUT_JABBER (LIO_CN23XX_PKI_MAX_FRAME_SIZE - \
94 #define LIO_64BYTE_INSTR 64
96 #define LIO_MAX_TXQS_PER_INTF 8
97 #define LIO_MAX_RXQS_PER_INTF 8
98 #define LIO_DEF_TXQS_PER_INTF 4
99 #define LIO_DEF_RXQS_PER_INTF 4
102 #define LIO_GET_IQ_CFG(cfg) ((cfg)->iq)
103 #define LIO_GET_IQ_MAX_Q_CFG(cfg) ((cfg)->iq.max_iqs)
104 #define LIO_GET_IQ_INSTR_TYPE_CFG(cfg) ((cfg)->iq.instr_type)
106 #define LIO_GET_IQ_INTR_PKT_CFG(cfg) ((cfg)->iq.iq_intr_pkt)
108 #define LIO_GET_OQ_MAX_Q_CFG(cfg) ((cfg)->oq.max_oqs)
109 #define LIO_GET_OQ_PKTS_PER_INTR_CFG(cfg) ((cfg)->oq.pkts_per_intr)
110 #define LIO_GET_OQ_REFILL_THRESHOLD_CFG(cfg) ((cfg)->oq.refill_threshold)
111 #define LIO_GET_OQ_INTR_PKT_CFG(cfg) ((cfg)->oq.oq_intr_pkt)
112 #define LIO_GET_OQ_INTR_TIME_CFG(cfg) ((cfg)->oq.oq_intr_time)
114 #define LIO_GET_NUM_NIC_PORTS_CFG(cfg) ((cfg)->num_nic_ports)
115 #define LIO_GET_NUM_DEF_TX_DESCS_CFG(cfg) ((cfg)->num_def_tx_descs)
116 #define LIO_GET_NUM_DEF_RX_DESCS_CFG(cfg) ((cfg)->num_def_rx_descs)
117 #define LIO_GET_DEF_RX_BUF_SIZE_CFG(cfg) ((cfg)->def_rx_buf_size)
119 #define LIO_GET_NUM_RX_DESCS_NIC_IF_CFG(cfg, idx) \
120 ((cfg)->nic_if_cfg[idx].num_rx_descs)
121 #define LIO_GET_NUM_TX_DESCS_NIC_IF_CFG(cfg, idx) \
122 ((cfg)->nic_if_cfg[idx].num_tx_descs)
123 #define LIO_GET_NUM_RX_BUF_SIZE_NIC_IF_CFG(cfg, idx) \
124 ((cfg)->nic_if_cfg[idx].rx_buf_size)
126 #define LIO_GET_IS_SLI_BP_ON_CFG(cfg) ((cfg)->misc.enable_sli_oq_bp)
128 /* Max IOQs per OCTEON Link */
129 #define LIO_MAX_IOQS_PER_NICIF 64
131 #define LIO_SET_NUM_RX_DESCS_NIC_IF(cfg, idx, value) \
132 ((cfg)->nic_if_cfg[idx].num_rx_descs = value)
133 #define LIO_SET_NUM_TX_DESCS_NIC_IF(cfg, idx, value) \
134 ((cfg)->nic_if_cfg[idx].num_tx_descs = value)
137 #define LIO_DEFAULT_TX_PKTS_PROCESS_BUDGET 64
138 #define LIO_DEFAULT_RX_PKTS_PROCESS_BUDGET 64
144 #define LIO_23XX_NAME "23xx"
147 * Structure to define the configuration attributes for each Input queue.
166 /* Command size - 32 or 64 bytes */
175 /* Max number of IQs available */
180 /* Max number of IQs available */
189 /* Command size - 32 or 64 bytes */
210 * Structure to define the configuration attributes for each Output queue.
222 * by this field. The driver uses time interval interrupt coalescing
223 * by default. The time is specified in microseconds.
229 * only if it sent as many packets as specified by this field.
236 * The number of buffers that were consumed during packet processing by
243 /* Max number of OQs available */
248 /* Max number of OQs available */
252 * The number of buffers that were consumed during packet processing by
261 * only if it sent as many packets as specified by this field.
270 * by this field. The driver uses time interval interrupt coalescing
271 * by default. The time is specified in microseconds.
309 /* Max Rxqs: Half for each of the two ports :max_oq/2 */
315 /* Max Txqs: Half for each of the two ports :max_iq/2 */
320 /* Max Txqs: Half for each of the two ports :max_iq/2 */
326 /* Max Rxqs: Half for each of the two ports :max_oq/2 */
354 * Structure to define the configuration attributes for meta data.
383 /* Structure to define the configuration for all OCTEON processors. */
412 /* Maximum address space to be mapped for Octeon's BAR1 index-based access. */
413 #define LIO_MAX_BAR1_MAP_INDEX 2
416 * Response lists - 1 ordered, 1 unordered-blocking, 1 unordered-nonblocking
419 #define LIO_MAX_RESPONSE_LISTS 4
422 * Opcode hash bits. The opcode is hashed on the lower 6-bits to lookup the
425 #define LIO_OPCODE_MASK_BITS 6
427 /* Mask for the 6-bit lookup hash */
428 #define LIO_OPCODE_MASK 0x3f
430 /* Size of the dispatch table. The 6-bit hash can index into 2^6 entries */
431 #define LIO_DISPATCH_LIST_SIZE BIT(LIO_OPCODE_MASK_BITS)
433 #define LIO_MAX_INSTR_QUEUES(oct) LIO_CN23XX_PF_MAX_INPUT_QUEUES
434 #define LIO_MAX_OUTPUT_QUEUES(oct) LIO_CN23XX_PF_MAX_OUTPUT_QUEUES
436 #define LIO_MAX_POSSIBLE_INSTR_QUEUES LIO_CN23XX_PF_MAX_INPUT_QUEUES
437 #define LIO_MAX_POSSIBLE_OUTPUT_QUEUES LIO_CN23XX_PF_MAX_OUTPUT_QUEUES