• Home
  • Raw
  • Download

Lines Matching refs:vcap

50 				 const struct vcap_props *vcap)  in vcap_read_update_ctrl()  argument
52 return ocelot_target_read(ocelot, vcap->target, VCAP_CORE_UPDATE_CTRL); in vcap_read_update_ctrl()
55 static void vcap_cmd(struct ocelot *ocelot, const struct vcap_props *vcap, in vcap_cmd() argument
62 if ((sel & VCAP_SEL_ENTRY) && ix >= vcap->entry_count) in vcap_cmd()
74 ocelot_target_write(ocelot, vcap->target, value, VCAP_CORE_UPDATE_CTRL); in vcap_cmd()
78 10, 100000, false, ocelot, vcap); in vcap_cmd()
82 static void vcap_row_cmd(struct ocelot *ocelot, const struct vcap_props *vcap, in vcap_row_cmd() argument
85 vcap_cmd(ocelot, vcap, vcap->entry_count - row - 1, cmd, sel); in vcap_row_cmd()
89 const struct vcap_props *vcap, in vcap_entry2cache() argument
94 entry_words = DIV_ROUND_UP(vcap->entry_width, ENTRY_WIDTH); in vcap_entry2cache()
97 ocelot_target_write_rix(ocelot, vcap->target, data->entry[i], in vcap_entry2cache()
99 ocelot_target_write_rix(ocelot, vcap->target, ~data->mask[i], in vcap_entry2cache()
102 ocelot_target_write(ocelot, vcap->target, data->tg, VCAP_CACHE_TG_DAT); in vcap_entry2cache()
106 const struct vcap_props *vcap, in vcap_cache2entry() argument
111 entry_words = DIV_ROUND_UP(vcap->entry_width, ENTRY_WIDTH); in vcap_cache2entry()
114 data->entry[i] = ocelot_target_read_rix(ocelot, vcap->target, in vcap_cache2entry()
117 data->mask[i] = ~ocelot_target_read_rix(ocelot, vcap->target, in vcap_cache2entry()
120 data->tg = ocelot_target_read(ocelot, vcap->target, VCAP_CACHE_TG_DAT); in vcap_cache2entry()
124 const struct vcap_props *vcap, in vcap_action2cache() argument
131 width = vcap->action_type_width; in vcap_action2cache()
137 action_words = DIV_ROUND_UP(vcap->action_width, ENTRY_WIDTH); in vcap_action2cache()
140 ocelot_target_write_rix(ocelot, vcap->target, data->action[i], in vcap_action2cache()
143 for (i = 0; i < vcap->counter_words; i++) in vcap_action2cache()
144 ocelot_target_write_rix(ocelot, vcap->target, data->counter[i], in vcap_action2cache()
149 const struct vcap_props *vcap, in vcap_cache2action() argument
155 action_words = DIV_ROUND_UP(vcap->action_width, ENTRY_WIDTH); in vcap_cache2action()
158 data->action[i] = ocelot_target_read_rix(ocelot, vcap->target, in vcap_cache2action()
162 for (i = 0; i < vcap->counter_words; i++) in vcap_cache2action()
163 data->counter[i] = ocelot_target_read_rix(ocelot, vcap->target, in vcap_cache2action()
168 width = vcap->action_type_width; in vcap_cache2action()
173 static void vcap_data_offset_get(const struct vcap_props *vcap, in vcap_data_offset_get() argument
178 u32 width = vcap->tg_width; in vcap_data_offset_get()
195 num_subwords_per_entry = (vcap->sw_count / num_entries_per_row); in vcap_data_offset_get()
196 base = (vcap->sw_count - col * num_subwords_per_entry - in vcap_data_offset_get()
208 data->key_offset = (base * vcap->entry_width) / vcap->sw_count; in vcap_data_offset_get()
210 vcap->counter_width); in vcap_data_offset_get()
212 width = vcap->action_table[i].width; in vcap_data_offset_get()
213 num_subwords_per_action = vcap->action_table[i].count; in vcap_data_offset_get()
216 data->action_offset += vcap->action_type_width; in vcap_data_offset_get()
254 static void vcap_key_set(const struct vcap_props *vcap, struct vcap_data *data, in vcap_key_set() argument
257 u32 offset = vcap->keys[field].offset; in vcap_key_set()
258 u32 length = vcap->keys[field].length; in vcap_key_set()
263 static void vcap_key_bytes_set(const struct vcap_props *vcap, in vcap_key_bytes_set() argument
267 u32 offset = vcap->keys[field].offset; in vcap_key_bytes_set()
268 u32 count = vcap->keys[field].length; in vcap_key_bytes_set()
294 static void vcap_key_l4_port_set(const struct vcap_props *vcap, in vcap_key_l4_port_set() argument
298 u32 offset = vcap->keys[field].offset; in vcap_key_l4_port_set()
299 u32 length = vcap->keys[field].length; in vcap_key_l4_port_set()
306 static void vcap_key_bit_set(const struct vcap_props *vcap, in vcap_key_bit_set() argument
312 u32 offset = vcap->keys[field].offset; in vcap_key_bit_set()
313 u32 length = vcap->keys[field].length; in vcap_key_bit_set()
320 static void vcap_action_set(const struct vcap_props *vcap, in vcap_action_set() argument
323 int offset = vcap->actions[field].offset; in vcap_action_set()
324 int length = vcap->actions[field].length; in vcap_action_set()
333 const struct vcap_props *vcap = &ocelot->vcap[VCAP_IS2]; in is2_action_set() local
336 vcap_action_set(vcap, data, VCAP_IS2_ACT_MASK_MODE, a->mask_mode); in is2_action_set()
337 vcap_action_set(vcap, data, VCAP_IS2_ACT_PORT_MASK, a->port_mask); in is2_action_set()
338 vcap_action_set(vcap, data, VCAP_IS2_ACT_POLICE_ENA, a->police_ena); in is2_action_set()
339 vcap_action_set(vcap, data, VCAP_IS2_ACT_POLICE_IDX, a->pol_ix); in is2_action_set()
340 vcap_action_set(vcap, data, VCAP_IS2_ACT_CPU_QU_NUM, a->cpu_qu_num); in is2_action_set()
341 vcap_action_set(vcap, data, VCAP_IS2_ACT_CPU_COPY_ENA, a->cpu_copy_ena); in is2_action_set()
347 const struct vcap_props *vcap = &ocelot->vcap[VCAP_IS2]; in is2_entry_set() local
358 vcap_row_cmd(ocelot, vcap, row, VCAP_CMD_READ, VCAP_SEL_ALL); in is2_entry_set()
359 vcap_cache2entry(ocelot, vcap, &data); in is2_entry_set()
360 vcap_cache2action(ocelot, vcap, &data); in is2_entry_set()
363 vcap_data_offset_get(vcap, &data, ix); in is2_entry_set()
370 vcap_key_set(vcap, &data, VCAP_IS2_HK_PAG, filter->pag, 0xff); in is2_entry_set()
371 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_FIRST, in is2_entry_set()
374 vcap_key_set(vcap, &data, VCAP_IS2_HK_IGR_PORT_MASK, 0, in is2_entry_set()
376 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_HOST_MATCH, in is2_entry_set()
378 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L2_MC, filter->dmac_mc); in is2_entry_set()
379 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L2_BC, filter->dmac_bc); in is2_entry_set()
380 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_VLAN_TAGGED, tag->tagged); in is2_entry_set()
381 vcap_key_set(vcap, &data, VCAP_IS2_HK_VID, in is2_entry_set()
383 vcap_key_set(vcap, &data, VCAP_IS2_HK_PCP, in is2_entry_set()
385 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_DEI, tag->dei); in is2_entry_set()
392 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L2_DMAC, in is2_entry_set()
394 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L2_SMAC, in is2_entry_set()
396 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_MAC_ETYPE_ETYPE, in is2_entry_set()
399 vcap_key_set(vcap, &data, VCAP_IS2_HK_MAC_ETYPE_L2_PAYLOAD0, in is2_entry_set()
401 vcap_key_set(vcap, &data, VCAP_IS2_HK_MAC_ETYPE_L2_PAYLOAD1, in is2_entry_set()
403 vcap_key_set(vcap, &data, VCAP_IS2_HK_MAC_ETYPE_L2_PAYLOAD2, in is2_entry_set()
405 vcap_key_bytes_set(vcap, &data, in is2_entry_set()
414 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L2_DMAC, in is2_entry_set()
416 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L2_SMAC, in is2_entry_set()
422 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_MAC_LLC_L2_LLC, in is2_entry_set()
430 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L2_DMAC, in is2_entry_set()
432 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L2_SMAC, in is2_entry_set()
434 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_MAC_SNAP_L2_SNAP, in is2_entry_set()
443 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_MAC_ARP_SMAC, in is2_entry_set()
445 vcap_key_bit_set(vcap, &data, in is2_entry_set()
448 vcap_key_bit_set(vcap, &data, in is2_entry_set()
451 vcap_key_bit_set(vcap, &data, in is2_entry_set()
454 vcap_key_bit_set(vcap, &data, in is2_entry_set()
457 vcap_key_bit_set(vcap, &data, in is2_entry_set()
460 vcap_key_bit_set(vcap, &data, in is2_entry_set()
469 vcap_key_set(vcap, &data, VCAP_IS2_HK_MAC_ARP_OPCODE, in is2_entry_set()
471 vcap_key_bytes_set(vcap, &data, in is2_entry_set()
474 vcap_key_bytes_set(vcap, &data, in is2_entry_set()
477 vcap_key_set(vcap, &data, VCAP_IS2_HK_MAC_ARP_DIP_EQ_SIP, in is2_entry_set()
546 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_IP4, in is2_entry_set()
548 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L3_FRAGMENT, in is2_entry_set()
550 vcap_key_set(vcap, &data, VCAP_IS2_HK_L3_FRAG_OFS_GT0, 0, 0); in is2_entry_set()
551 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L3_OPTIONS, in is2_entry_set()
553 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_IP4_L3_TTL_GT0, in is2_entry_set()
555 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L3_TOS, in is2_entry_set()
557 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L3_IP4_DIP, in is2_entry_set()
559 vcap_key_bytes_set(vcap, &data, VCAP_IS2_HK_L3_IP4_SIP, in is2_entry_set()
561 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_DIP_EQ_SIP, in is2_entry_set()
570 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_TCP, tcp); in is2_entry_set()
571 vcap_key_l4_port_set(vcap, &data, in is2_entry_set()
573 vcap_key_l4_port_set(vcap, &data, in is2_entry_set()
575 vcap_key_set(vcap, &data, VCAP_IS2_HK_L4_RNG, 0, 0); in is2_entry_set()
576 vcap_key_bit_set(vcap, &data, in is2_entry_set()
579 vcap_key_bit_set(vcap, &data, in is2_entry_set()
582 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L4_FIN, in is2_entry_set()
584 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L4_SYN, in is2_entry_set()
586 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L4_RST, in is2_entry_set()
588 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L4_PSH, in is2_entry_set()
590 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L4_ACK, in is2_entry_set()
592 vcap_key_bit_set(vcap, &data, VCAP_IS2_HK_L4_URG, in is2_entry_set()
594 vcap_key_set(vcap, &data, VCAP_IS2_HK_L4_1588_DOM, in is2_entry_set()
596 vcap_key_set(vcap, &data, VCAP_IS2_HK_L4_1588_VER, in is2_entry_set()
610 vcap_key_bytes_set(vcap, &data, in is2_entry_set()
613 vcap_key_bytes_set(vcap, &data, in is2_entry_set()
623 count = vcap->entry_width / 2; in is2_entry_set()
627 for (i = vcap->keys[VCAP_IS2_HK_L2_DMAC].offset; in is2_entry_set()
634 vcap_key_set(vcap, &data, VCAP_IS2_TYPE, type, type_mask); in is2_entry_set()
637 vcap->counter_width, filter->stats.pkts); in is2_entry_set()
640 vcap_entry2cache(ocelot, vcap, &data); in is2_entry_set()
641 vcap_action2cache(ocelot, vcap, &data); in is2_entry_set()
642 vcap_row_cmd(ocelot, vcap, row, VCAP_CMD_WRITE, VCAP_SEL_ALL); in is2_entry_set()
648 const struct vcap_props *vcap = &ocelot->vcap[VCAP_IS1]; in is1_action_set() local
651 vcap_action_set(vcap, data, VCAP_IS1_ACT_VID_REPLACE_ENA, in is1_action_set()
653 vcap_action_set(vcap, data, VCAP_IS1_ACT_VID_ADD_VAL, a->vid); in is1_action_set()
654 vcap_action_set(vcap, data, VCAP_IS1_ACT_VLAN_POP_CNT_ENA, in is1_action_set()
656 vcap_action_set(vcap, data, VCAP_IS1_ACT_VLAN_POP_CNT, in is1_action_set()
658 vcap_action_set(vcap, data, VCAP_IS1_ACT_PCP_DEI_ENA, a->pcp_dei_ena); in is1_action_set()
659 vcap_action_set(vcap, data, VCAP_IS1_ACT_PCP_VAL, a->pcp); in is1_action_set()
660 vcap_action_set(vcap, data, VCAP_IS1_ACT_DEI_VAL, a->dei); in is1_action_set()
661 vcap_action_set(vcap, data, VCAP_IS1_ACT_QOS_ENA, a->qos_ena); in is1_action_set()
662 vcap_action_set(vcap, data, VCAP_IS1_ACT_QOS_VAL, a->qos_val); in is1_action_set()
663 vcap_action_set(vcap, data, VCAP_IS1_ACT_PAG_OVERRIDE_MASK, in is1_action_set()
665 vcap_action_set(vcap, data, VCAP_IS1_ACT_PAG_VAL, a->pag_val); in is1_action_set()
671 const struct vcap_props *vcap = &ocelot->vcap[VCAP_IS1]; in is1_entry_set() local
682 vcap_row_cmd(ocelot, vcap, row, VCAP_CMD_READ, VCAP_SEL_ALL); in is1_entry_set()
683 vcap_cache2entry(ocelot, vcap, &data); in is1_entry_set()
684 vcap_cache2action(ocelot, vcap, &data); in is1_entry_set()
688 vcap_data_offset_get(vcap, &data, ix); in is1_entry_set()
693 vcap_key_set(vcap, &data, VCAP_IS1_HK_LOOKUP, filter->lookup, 0x3); in is1_entry_set()
694 vcap_key_set(vcap, &data, VCAP_IS1_HK_IGR_PORT_MASK, 0, in is1_entry_set()
696 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_L2_MC, filter->dmac_mc); in is1_entry_set()
697 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_L2_BC, filter->dmac_bc); in is1_entry_set()
698 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_VLAN_TAGGED, tag->tagged); in is1_entry_set()
699 vcap_key_set(vcap, &data, VCAP_IS1_HK_VID, in is1_entry_set()
701 vcap_key_set(vcap, &data, VCAP_IS1_HK_PCP, in is1_entry_set()
709 vcap_key_bytes_set(vcap, &data, VCAP_IS1_HK_L2_SMAC, in is1_entry_set()
711 vcap_key_bytes_set(vcap, &data, VCAP_IS1_HK_ETYPE, in is1_entry_set()
724 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_IP_SNAP, in is1_entry_set()
726 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_IP4, in is1_entry_set()
728 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_ETYPE_LEN, in is1_entry_set()
730 vcap_key_bytes_set(vcap, &data, VCAP_IS1_HK_L3_IP4_SIP, in is1_entry_set()
738 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_TCP_UDP, tcp_udp); in is1_entry_set()
746 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_TCP, tcp); in is1_entry_set()
747 vcap_key_l4_port_set(vcap, &data, VCAP_IS1_HK_L4_SPORT, in is1_entry_set()
750 vcap_key_l4_port_set(vcap, &data, VCAP_IS1_HK_ETYPE, in is1_entry_set()
760 vcap_key_bytes_set(vcap, &data, VCAP_IS1_HK_ETYPE, in is1_entry_set()
768 vcap_key_bit_set(vcap, &data, VCAP_IS1_HK_TYPE, in is1_entry_set()
773 vcap->counter_width, filter->stats.pkts); in is1_entry_set()
776 vcap_entry2cache(ocelot, vcap, &data); in is1_entry_set()
777 vcap_action2cache(ocelot, vcap, &data); in is1_entry_set()
778 vcap_row_cmd(ocelot, vcap, row, VCAP_CMD_WRITE, VCAP_SEL_ALL); in is1_entry_set()
784 const struct vcap_props *vcap = &ocelot->vcap[VCAP_ES0]; in es0_action_set() local
787 vcap_action_set(vcap, data, VCAP_ES0_ACT_PUSH_OUTER_TAG, in es0_action_set()
789 vcap_action_set(vcap, data, VCAP_ES0_ACT_PUSH_INNER_TAG, in es0_action_set()
791 vcap_action_set(vcap, data, VCAP_ES0_ACT_TAG_A_TPID_SEL, in es0_action_set()
793 vcap_action_set(vcap, data, VCAP_ES0_ACT_TAG_A_VID_SEL, in es0_action_set()
795 vcap_action_set(vcap, data, VCAP_ES0_ACT_TAG_A_PCP_SEL, in es0_action_set()
797 vcap_action_set(vcap, data, VCAP_ES0_ACT_VID_A_VAL, a->vid_a_val); in es0_action_set()
798 vcap_action_set(vcap, data, VCAP_ES0_ACT_PCP_A_VAL, a->pcp_a_val); in es0_action_set()
799 vcap_action_set(vcap, data, VCAP_ES0_ACT_TAG_B_TPID_SEL, in es0_action_set()
801 vcap_action_set(vcap, data, VCAP_ES0_ACT_TAG_B_VID_SEL, in es0_action_set()
803 vcap_action_set(vcap, data, VCAP_ES0_ACT_TAG_B_PCP_SEL, in es0_action_set()
805 vcap_action_set(vcap, data, VCAP_ES0_ACT_VID_B_VAL, a->vid_b_val); in es0_action_set()
806 vcap_action_set(vcap, data, VCAP_ES0_ACT_PCP_B_VAL, a->pcp_b_val); in es0_action_set()
812 const struct vcap_props *vcap = &ocelot->vcap[VCAP_ES0]; in es0_entry_set() local
822 vcap_row_cmd(ocelot, vcap, row, VCAP_CMD_READ, VCAP_SEL_ALL); in es0_entry_set()
823 vcap_cache2entry(ocelot, vcap, &data); in es0_entry_set()
824 vcap_cache2action(ocelot, vcap, &data); in es0_entry_set()
828 vcap_data_offset_get(vcap, &data, ix); in es0_entry_set()
833 vcap_key_set(vcap, &data, VCAP_ES0_IGR_PORT, filter->ingress_port.value, in es0_entry_set()
835 vcap_key_set(vcap, &data, VCAP_ES0_EGR_PORT, filter->egress_port.value, in es0_entry_set()
837 vcap_key_bit_set(vcap, &data, VCAP_ES0_L2_MC, filter->dmac_mc); in es0_entry_set()
838 vcap_key_bit_set(vcap, &data, VCAP_ES0_L2_BC, filter->dmac_bc); in es0_entry_set()
839 vcap_key_set(vcap, &data, VCAP_ES0_VID, in es0_entry_set()
841 vcap_key_set(vcap, &data, VCAP_ES0_PCP, in es0_entry_set()
846 vcap->counter_width, filter->stats.pkts); in es0_entry_set()
849 vcap_entry2cache(ocelot, vcap, &data); in es0_entry_set()
850 vcap_action2cache(ocelot, vcap, &data); in es0_entry_set()
851 vcap_row_cmd(ocelot, vcap, row, VCAP_CMD_WRITE, VCAP_SEL_ALL); in es0_entry_set()
857 const struct vcap_props *vcap = &ocelot->vcap[filter->block_id]; in vcap_entry_get() local
869 vcap_row_cmd(ocelot, vcap, row, VCAP_CMD_READ, VCAP_SEL_COUNTER); in vcap_entry_get()
870 vcap_cache2action(ocelot, vcap, &data); in vcap_entry_get()
871 vcap_data_offset_get(vcap, &data, ix); in vcap_entry_get()
873 vcap->counter_width); in vcap_entry_get()
1249 const struct vcap_props *vcap) in ocelot_vcap_init_one() argument
1255 vcap_entry2cache(ocelot, vcap, &data); in ocelot_vcap_init_one()
1256 ocelot_target_write(ocelot, vcap->target, vcap->entry_count, in ocelot_vcap_init_one()
1258 vcap_cmd(ocelot, vcap, 0, VCAP_CMD_INITIALIZE, VCAP_SEL_ENTRY); in ocelot_vcap_init_one()
1260 vcap_action2cache(ocelot, vcap, &data); in ocelot_vcap_init_one()
1261 ocelot_target_write(ocelot, vcap->target, vcap->action_count, in ocelot_vcap_init_one()
1263 vcap_cmd(ocelot, vcap, 0, VCAP_CMD_INITIALIZE, in ocelot_vcap_init_one()
1268 struct vcap_props *vcap) in ocelot_vcap_detect_constants() argument
1274 version = ocelot_target_read(ocelot, vcap->target, in ocelot_vcap_detect_constants()
1281 vcap->tg_width = ocelot_target_read(ocelot, vcap->target, in ocelot_vcap_detect_constants()
1284 vcap->sw_count = ocelot_target_read(ocelot, vcap->target, in ocelot_vcap_detect_constants()
1289 vcap->entry_count = ocelot_target_read(ocelot, vcap->target, in ocelot_vcap_detect_constants()
1317 vcap->entry_width = ocelot_target_read(ocelot, vcap->target, in ocelot_vcap_detect_constants()
1319 vcap->entry_width -= vcap->tg_width * vcap->sw_count; in ocelot_vcap_detect_constants()
1320 num_default_actions = ocelot_target_read(ocelot, vcap->target, in ocelot_vcap_detect_constants()
1322 vcap->action_count = vcap->entry_count + num_default_actions; in ocelot_vcap_detect_constants()
1323 vcap->action_width = ocelot_target_read(ocelot, vcap->target, in ocelot_vcap_detect_constants()
1330 vcap->counter_words = vcap->sw_count; in ocelot_vcap_detect_constants()
1331 counter_memory_width = ocelot_target_read(ocelot, vcap->target, in ocelot_vcap_detect_constants()
1333 vcap->counter_width = counter_memory_width / vcap->counter_words; in ocelot_vcap_detect_constants()
1357 struct vcap_props *vcap = &ocelot->vcap[i]; in ocelot_vcap_init() local
1362 ocelot_vcap_detect_constants(ocelot, vcap); in ocelot_vcap_init()
1363 ocelot_vcap_init_one(ocelot, vcap); in ocelot_vcap_init()