Lines Matching +full:0 +full:xffff
23 } while (0); \
46 return (*data != 0xffff) ? 0 : -ETIME; in aq_mss_mdio_read()
52 return 0; in aq_mss_mdio_write()
82 for (i = 0; i < num_words; i += 2) { in set_raw_ingress_record()
96 0); in set_raw_ingress_record()
98 MSS_INGRESS_LUT_DATA_CTL_REGISTER_ADDR + i + 1, 0); in set_raw_ingress_record()
105 lut_op_reg.bits_0.lut_read = 0; in set_raw_ingress_record()
114 return 0; in set_raw_ingress_record()
135 lut_op_reg.bits_0.lut_write = 0; in get_raw_ingress_record()
148 memset(packed_record, 0, sizeof(u16) * num_words); in get_raw_ingress_record()
150 for (i = 0; i < num_words; i += 2) { in get_raw_ingress_record()
165 return 0; in get_raw_ingress_record()
179 for (i = 0; i < num_words; i += 2) { in set_raw_egress_record()
191 MSS_EGRESS_LUT_DATA_CTL_REGISTER_ADDR + i, 0); in set_raw_egress_record()
194 0); in set_raw_egress_record()
201 lut_op_reg.bits_0.lut_read = 0; in set_raw_egress_record()
210 return 0; in set_raw_egress_record()
228 lut_op_reg.bits_0.lut_write = 0; in get_raw_egress_record()
241 memset(packed_record, 0, sizeof(u16) * num_words); in get_raw_egress_record()
243 for (i = 0; i < num_words; i += 2) { in get_raw_egress_record()
258 return 0; in get_raw_egress_record()
271 memset(packed_record, 0, sizeof(u16) * 6); in set_ingress_prectlf_record()
273 packed_record[0] = rec->sa_da[0] & 0xFFFF; in set_ingress_prectlf_record()
274 packed_record[1] = (rec->sa_da[0] >> 16) & 0xFFFF; in set_ingress_prectlf_record()
275 packed_record[2] = rec->sa_da[1] & 0xFFFF; in set_ingress_prectlf_record()
276 packed_record[3] = rec->eth_type & 0xFFFF; in set_ingress_prectlf_record()
277 packed_record[4] = rec->match_mask & 0xFFFF; in set_ingress_prectlf_record()
278 packed_record[5] = rec->match_type & 0xF; in set_ingress_prectlf_record()
279 packed_record[5] |= (rec->action & 0x1) << 4; in set_ingress_prectlf_record()
281 return set_raw_ingress_record(hw, packed_record, 6, 0, in set_ingress_prectlf_record()
310 if ((table_index % 2) > 0) { in get_ingress_prectlf_record()
311 ret = get_raw_ingress_record(hw, packed_record, 6, 0, in get_ingress_prectlf_record()
318 ret = get_raw_ingress_record(hw, packed_record, 6, 0, in get_ingress_prectlf_record()
324 rec->sa_da[0] = packed_record[0]; in get_ingress_prectlf_record()
325 rec->sa_da[0] |= packed_record[1] << 16; in get_ingress_prectlf_record()
333 rec->match_type = packed_record[5] & 0xF; in get_ingress_prectlf_record()
335 rec->action = (packed_record[5] >> 4) & 0x1; in get_ingress_prectlf_record()
337 return 0; in get_ingress_prectlf_record()
344 memset(rec, 0, sizeof(*rec)); in aq_mss_get_ingress_prectlf_record()
360 memset(packed_record, 0, sizeof(u16) * 20); in set_ingress_preclass_record()
362 packed_record[0] = rec->sci[0] & 0xFFFF; in set_ingress_preclass_record()
363 packed_record[1] = (rec->sci[0] >> 16) & 0xFFFF; in set_ingress_preclass_record()
365 packed_record[2] = rec->sci[1] & 0xFFFF; in set_ingress_preclass_record()
366 packed_record[3] = (rec->sci[1] >> 16) & 0xFFFF; in set_ingress_preclass_record()
368 packed_record[4] = rec->tci & 0xFF; in set_ingress_preclass_record()
370 packed_record[4] |= (rec->encr_offset & 0xFF) << 8; in set_ingress_preclass_record()
372 packed_record[5] = rec->eth_type & 0xFFFF; in set_ingress_preclass_record()
374 packed_record[6] = rec->snap[0] & 0xFFFF; in set_ingress_preclass_record()
375 packed_record[7] = (rec->snap[0] >> 16) & 0xFFFF; in set_ingress_preclass_record()
377 packed_record[8] = rec->snap[1] & 0xFF; in set_ingress_preclass_record()
379 packed_record[8] |= (rec->llc & 0xFF) << 8; in set_ingress_preclass_record()
380 packed_record[9] = (rec->llc >> 8) & 0xFFFF; in set_ingress_preclass_record()
382 packed_record[10] = rec->mac_sa[0] & 0xFFFF; in set_ingress_preclass_record()
383 packed_record[11] = (rec->mac_sa[0] >> 16) & 0xFFFF; in set_ingress_preclass_record()
385 packed_record[12] = rec->mac_sa[1] & 0xFFFF; in set_ingress_preclass_record()
387 packed_record[13] = rec->mac_da[0] & 0xFFFF; in set_ingress_preclass_record()
388 packed_record[14] = (rec->mac_da[0] >> 16) & 0xFFFF; in set_ingress_preclass_record()
390 packed_record[15] = rec->mac_da[1] & 0xFFFF; in set_ingress_preclass_record()
392 packed_record[16] = rec->lpbk_packet & 0x1; in set_ingress_preclass_record()
394 packed_record[16] |= (rec->an_mask & 0x3) << 1; in set_ingress_preclass_record()
396 packed_record[16] |= (rec->tci_mask & 0x3F) << 3; in set_ingress_preclass_record()
398 packed_record[16] |= (rec->sci_mask & 0x7F) << 9; in set_ingress_preclass_record()
399 packed_record[17] = (rec->sci_mask >> 7) & 0x1; in set_ingress_preclass_record()
401 packed_record[17] |= (rec->eth_type_mask & 0x3) << 1; in set_ingress_preclass_record()
403 packed_record[17] |= (rec->snap_mask & 0x1F) << 3; in set_ingress_preclass_record()
405 packed_record[17] |= (rec->llc_mask & 0x7) << 8; in set_ingress_preclass_record()
407 packed_record[17] |= (rec->_802_2_encapsulate & 0x1) << 11; in set_ingress_preclass_record()
409 packed_record[17] |= (rec->sa_mask & 0xF) << 12; in set_ingress_preclass_record()
410 packed_record[18] = (rec->sa_mask >> 4) & 0x3; in set_ingress_preclass_record()
412 packed_record[18] |= (rec->da_mask & 0x3F) << 2; in set_ingress_preclass_record()
414 packed_record[18] |= (rec->lpbk_mask & 0x1) << 8; in set_ingress_preclass_record()
416 packed_record[18] |= (rec->sc_idx & 0x1F) << 9; in set_ingress_preclass_record()
418 packed_record[18] |= (rec->proc_dest & 0x1) << 14; in set_ingress_preclass_record()
420 packed_record[18] |= (rec->action & 0x1) << 15; in set_ingress_preclass_record()
421 packed_record[19] = (rec->action >> 1) & 0x1; in set_ingress_preclass_record()
423 packed_record[19] |= (rec->ctrl_unctrl & 0x1) << 1; in set_ingress_preclass_record()
425 packed_record[19] |= (rec->sci_from_table & 0x1) << 2; in set_ingress_preclass_record()
427 packed_record[19] |= (rec->reserved & 0xF) << 3; in set_ingress_preclass_record()
429 packed_record[19] |= (rec->valid & 0x1) << 7; in set_ingress_preclass_record()
462 if ((table_index % 2) > 0) { in get_ingress_preclass_record()
476 rec->sci[0] = packed_record[0]; in get_ingress_preclass_record()
477 rec->sci[0] |= packed_record[1] << 16; in get_ingress_preclass_record()
482 rec->tci = packed_record[4] & 0xFF; in get_ingress_preclass_record()
484 rec->encr_offset = (packed_record[4] >> 8) & 0xFF; in get_ingress_preclass_record()
488 rec->snap[0] = packed_record[6]; in get_ingress_preclass_record()
489 rec->snap[0] |= packed_record[7] << 16; in get_ingress_preclass_record()
491 rec->snap[1] = packed_record[8] & 0xFF; in get_ingress_preclass_record()
493 rec->llc = (packed_record[8] >> 8) & 0xFF; in get_ingress_preclass_record()
496 rec->mac_sa[0] = packed_record[10]; in get_ingress_preclass_record()
497 rec->mac_sa[0] |= packed_record[11] << 16; in get_ingress_preclass_record()
501 rec->mac_da[0] = packed_record[13]; in get_ingress_preclass_record()
502 rec->mac_da[0] |= packed_record[14] << 16; in get_ingress_preclass_record()
506 rec->lpbk_packet = packed_record[16] & 0x1; in get_ingress_preclass_record()
508 rec->an_mask = (packed_record[16] >> 1) & 0x3; in get_ingress_preclass_record()
510 rec->tci_mask = (packed_record[16] >> 3) & 0x3F; in get_ingress_preclass_record()
512 rec->sci_mask = (packed_record[16] >> 9) & 0x7F; in get_ingress_preclass_record()
513 rec->sci_mask |= (packed_record[17] & 0x1) << 7; in get_ingress_preclass_record()
515 rec->eth_type_mask = (packed_record[17] >> 1) & 0x3; in get_ingress_preclass_record()
517 rec->snap_mask = (packed_record[17] >> 3) & 0x1F; in get_ingress_preclass_record()
519 rec->llc_mask = (packed_record[17] >> 8) & 0x7; in get_ingress_preclass_record()
521 rec->_802_2_encapsulate = (packed_record[17] >> 11) & 0x1; in get_ingress_preclass_record()
523 rec->sa_mask = (packed_record[17] >> 12) & 0xF; in get_ingress_preclass_record()
524 rec->sa_mask |= (packed_record[18] & 0x3) << 4; in get_ingress_preclass_record()
526 rec->da_mask = (packed_record[18] >> 2) & 0x3F; in get_ingress_preclass_record()
528 rec->lpbk_mask = (packed_record[18] >> 8) & 0x1; in get_ingress_preclass_record()
530 rec->sc_idx = (packed_record[18] >> 9) & 0x1F; in get_ingress_preclass_record()
532 rec->proc_dest = (packed_record[18] >> 14) & 0x1; in get_ingress_preclass_record()
534 rec->action = (packed_record[18] >> 15) & 0x1; in get_ingress_preclass_record()
535 rec->action |= (packed_record[19] & 0x1) << 1; in get_ingress_preclass_record()
537 rec->ctrl_unctrl = (packed_record[19] >> 1) & 0x1; in get_ingress_preclass_record()
539 rec->sci_from_table = (packed_record[19] >> 2) & 0x1; in get_ingress_preclass_record()
541 rec->reserved = (packed_record[19] >> 3) & 0xF; in get_ingress_preclass_record()
543 rec->valid = (packed_record[19] >> 7) & 0x1; in get_ingress_preclass_record()
545 return 0; in get_ingress_preclass_record()
552 memset(rec, 0, sizeof(*rec)); in aq_mss_get_ingress_preclass_record()
567 memset(packed_record, 0, sizeof(u16) * 8); in set_ingress_sc_record()
569 packed_record[0] = rec->stop_time & 0xFFFF; in set_ingress_sc_record()
570 packed_record[1] = (rec->stop_time >> 16) & 0xFFFF; in set_ingress_sc_record()
572 packed_record[2] = rec->start_time & 0xFFFF; in set_ingress_sc_record()
573 packed_record[3] = (rec->start_time >> 16) & 0xFFFF; in set_ingress_sc_record()
575 packed_record[4] = rec->validate_frames & 0x3; in set_ingress_sc_record()
577 packed_record[4] |= (rec->replay_protect & 0x1) << 2; in set_ingress_sc_record()
579 packed_record[4] |= (rec->anti_replay_window & 0x1FFF) << 3; in set_ingress_sc_record()
580 packed_record[5] = (rec->anti_replay_window >> 13) & 0xFFFF; in set_ingress_sc_record()
581 packed_record[6] = (rec->anti_replay_window >> 29) & 0x7; in set_ingress_sc_record()
583 packed_record[6] |= (rec->receiving & 0x1) << 3; in set_ingress_sc_record()
585 packed_record[6] |= (rec->fresh & 0x1) << 4; in set_ingress_sc_record()
587 packed_record[6] |= (rec->an_rol & 0x1) << 5; in set_ingress_sc_record()
589 packed_record[6] |= (rec->reserved & 0x3FF) << 6; in set_ingress_sc_record()
590 packed_record[7] = (rec->reserved >> 10) & 0x7FFF; in set_ingress_sc_record()
592 packed_record[7] |= (rec->valid & 0x1) << 15; in set_ingress_sc_record()
624 rec->stop_time = packed_record[0]; in get_ingress_sc_record()
630 rec->validate_frames = packed_record[4] & 0x3; in get_ingress_sc_record()
632 rec->replay_protect = (packed_record[4] >> 2) & 0x1; in get_ingress_sc_record()
634 rec->anti_replay_window = (packed_record[4] >> 3) & 0x1FFF; in get_ingress_sc_record()
636 rec->anti_replay_window |= (packed_record[6] & 0x7) << 29; in get_ingress_sc_record()
638 rec->receiving = (packed_record[6] >> 3) & 0x1; in get_ingress_sc_record()
640 rec->fresh = (packed_record[6] >> 4) & 0x1; in get_ingress_sc_record()
642 rec->an_rol = (packed_record[6] >> 5) & 0x1; in get_ingress_sc_record()
644 rec->reserved = (packed_record[6] >> 6) & 0x3FF; in get_ingress_sc_record()
645 rec->reserved |= (packed_record[7] & 0x7FFF) << 10; in get_ingress_sc_record()
647 rec->valid = (packed_record[7] >> 15) & 0x1; in get_ingress_sc_record()
649 return 0; in get_ingress_sc_record()
656 memset(rec, 0, sizeof(*rec)); in aq_mss_get_ingress_sc_record()
670 memset(packed_record, 0, sizeof(u16) * 8); in set_ingress_sa_record()
672 packed_record[0] = rec->stop_time & 0xFFFF; in set_ingress_sa_record()
673 packed_record[1] = (rec->stop_time >> 16) & 0xFFFF; in set_ingress_sa_record()
675 packed_record[2] = rec->start_time & 0xFFFF; in set_ingress_sa_record()
676 packed_record[3] = (rec->start_time >> 16) & 0xFFFF; in set_ingress_sa_record()
678 packed_record[4] = rec->next_pn & 0xFFFF; in set_ingress_sa_record()
679 packed_record[5] = (rec->next_pn >> 16) & 0xFFFF; in set_ingress_sa_record()
681 packed_record[6] = rec->sat_nextpn & 0x1; in set_ingress_sa_record()
683 packed_record[6] |= (rec->in_use & 0x1) << 1; in set_ingress_sa_record()
685 packed_record[6] |= (rec->fresh & 0x1) << 2; in set_ingress_sa_record()
687 packed_record[6] |= (rec->reserved & 0x1FFF) << 3; in set_ingress_sa_record()
688 packed_record[7] = (rec->reserved >> 13) & 0x7FFF; in set_ingress_sa_record()
690 packed_record[7] |= (rec->valid & 0x1) << 15; in set_ingress_sa_record()
722 rec->stop_time = packed_record[0]; in get_ingress_sa_record()
731 rec->sat_nextpn = packed_record[6] & 0x1; in get_ingress_sa_record()
733 rec->in_use = (packed_record[6] >> 1) & 0x1; in get_ingress_sa_record()
735 rec->fresh = (packed_record[6] >> 2) & 0x1; in get_ingress_sa_record()
737 rec->reserved = (packed_record[6] >> 3) & 0x1FFF; in get_ingress_sa_record()
738 rec->reserved |= (packed_record[7] & 0x7FFF) << 13; in get_ingress_sa_record()
740 rec->valid = (packed_record[7] >> 15) & 0x1; in get_ingress_sa_record()
742 return 0; in get_ingress_sa_record()
749 memset(rec, 0, sizeof(*rec)); in aq_mss_get_ingress_sa_record()
764 memset(packed_record, 0, sizeof(u16) * 18); in set_ingress_sakey_record()
766 packed_record[0] = rec->key[0] & 0xFFFF; in set_ingress_sakey_record()
767 packed_record[1] = (rec->key[0] >> 16) & 0xFFFF; in set_ingress_sakey_record()
769 packed_record[2] = rec->key[1] & 0xFFFF; in set_ingress_sakey_record()
770 packed_record[3] = (rec->key[1] >> 16) & 0xFFFF; in set_ingress_sakey_record()
772 packed_record[4] = rec->key[2] & 0xFFFF; in set_ingress_sakey_record()
773 packed_record[5] = (rec->key[2] >> 16) & 0xFFFF; in set_ingress_sakey_record()
775 packed_record[6] = rec->key[3] & 0xFFFF; in set_ingress_sakey_record()
776 packed_record[7] = (rec->key[3] >> 16) & 0xFFFF; in set_ingress_sakey_record()
778 packed_record[8] = rec->key[4] & 0xFFFF; in set_ingress_sakey_record()
779 packed_record[9] = (rec->key[4] >> 16) & 0xFFFF; in set_ingress_sakey_record()
781 packed_record[10] = rec->key[5] & 0xFFFF; in set_ingress_sakey_record()
782 packed_record[11] = (rec->key[5] >> 16) & 0xFFFF; in set_ingress_sakey_record()
784 packed_record[12] = rec->key[6] & 0xFFFF; in set_ingress_sakey_record()
785 packed_record[13] = (rec->key[6] >> 16) & 0xFFFF; in set_ingress_sakey_record()
787 packed_record[14] = rec->key[7] & 0xFFFF; in set_ingress_sakey_record()
788 packed_record[15] = (rec->key[7] >> 16) & 0xFFFF; in set_ingress_sakey_record()
790 packed_record[16] = rec->key_len & 0x3; in set_ingress_sakey_record()
825 rec->key[0] = packed_record[0]; in get_ingress_sakey_record()
826 rec->key[0] |= packed_record[1] << 16; in get_ingress_sakey_record()
849 rec->key_len = packed_record[16] & 0x3; in get_ingress_sakey_record()
851 return 0; in get_ingress_sakey_record()
858 memset(rec, 0, sizeof(*rec)); in aq_mss_get_ingress_sakey_record()
873 memset(packed_record, 0, sizeof(u16) * 8); in set_ingress_postclass_record()
875 packed_record[0] = rec->byte0 & 0xFF; in set_ingress_postclass_record()
877 packed_record[0] |= (rec->byte1 & 0xFF) << 8; in set_ingress_postclass_record()
879 packed_record[1] = rec->byte2 & 0xFF; in set_ingress_postclass_record()
881 packed_record[1] |= (rec->byte3 & 0xFF) << 8; in set_ingress_postclass_record()
883 packed_record[2] = rec->eth_type & 0xFFFF; in set_ingress_postclass_record()
885 packed_record[3] = rec->eth_type_valid & 0x1; in set_ingress_postclass_record()
887 packed_record[3] |= (rec->vlan_id & 0xFFF) << 1; in set_ingress_postclass_record()
889 packed_record[3] |= (rec->vlan_up & 0x7) << 13; in set_ingress_postclass_record()
891 packed_record[4] = rec->vlan_valid & 0x1; in set_ingress_postclass_record()
893 packed_record[4] |= (rec->sai & 0x1F) << 1; in set_ingress_postclass_record()
895 packed_record[4] |= (rec->sai_hit & 0x1) << 6; in set_ingress_postclass_record()
897 packed_record[4] |= (rec->eth_type_mask & 0xF) << 7; in set_ingress_postclass_record()
899 packed_record[4] |= (rec->byte3_location & 0x1F) << 11; in set_ingress_postclass_record()
900 packed_record[5] = (rec->byte3_location >> 5) & 0x1; in set_ingress_postclass_record()
902 packed_record[5] |= (rec->byte3_mask & 0x3) << 1; in set_ingress_postclass_record()
904 packed_record[5] |= (rec->byte2_location & 0x3F) << 3; in set_ingress_postclass_record()
906 packed_record[5] |= (rec->byte2_mask & 0x3) << 9; in set_ingress_postclass_record()
908 packed_record[5] |= (rec->byte1_location & 0x1F) << 11; in set_ingress_postclass_record()
909 packed_record[6] = (rec->byte1_location >> 5) & 0x1; in set_ingress_postclass_record()
911 packed_record[6] |= (rec->byte1_mask & 0x3) << 1; in set_ingress_postclass_record()
913 packed_record[6] |= (rec->byte0_location & 0x3F) << 3; in set_ingress_postclass_record()
915 packed_record[6] |= (rec->byte0_mask & 0x3) << 9; in set_ingress_postclass_record()
917 packed_record[6] |= (rec->eth_type_valid_mask & 0x3) << 11; in set_ingress_postclass_record()
919 packed_record[6] |= (rec->vlan_id_mask & 0x7) << 13; in set_ingress_postclass_record()
920 packed_record[7] = (rec->vlan_id_mask >> 3) & 0x1; in set_ingress_postclass_record()
922 packed_record[7] |= (rec->vlan_up_mask & 0x3) << 1; in set_ingress_postclass_record()
924 packed_record[7] |= (rec->vlan_valid_mask & 0x3) << 3; in set_ingress_postclass_record()
926 packed_record[7] |= (rec->sai_mask & 0x3) << 5; in set_ingress_postclass_record()
928 packed_record[7] |= (rec->sai_hit_mask & 0x3) << 7; in set_ingress_postclass_record()
930 packed_record[7] |= (rec->firstlevel_actions & 0x1) << 9; in set_ingress_postclass_record()
932 packed_record[7] |= (rec->secondlevel_actions & 0x1) << 10; in set_ingress_postclass_record()
934 packed_record[7] |= (rec->reserved & 0xF) << 11; in set_ingress_postclass_record()
936 packed_record[7] |= (rec->valid & 0x1) << 15; in set_ingress_postclass_record()
965 if ((table_index % 2) > 0) { in get_ingress_postclass_record()
979 rec->byte0 = packed_record[0] & 0xFF; in get_ingress_postclass_record()
981 rec->byte1 = (packed_record[0] >> 8) & 0xFF; in get_ingress_postclass_record()
983 rec->byte2 = packed_record[1] & 0xFF; in get_ingress_postclass_record()
985 rec->byte3 = (packed_record[1] >> 8) & 0xFF; in get_ingress_postclass_record()
989 rec->eth_type_valid = packed_record[3] & 0x1; in get_ingress_postclass_record()
991 rec->vlan_id = (packed_record[3] >> 1) & 0xFFF; in get_ingress_postclass_record()
993 rec->vlan_up = (packed_record[3] >> 13) & 0x7; in get_ingress_postclass_record()
995 rec->vlan_valid = packed_record[4] & 0x1; in get_ingress_postclass_record()
997 rec->sai = (packed_record[4] >> 1) & 0x1F; in get_ingress_postclass_record()
999 rec->sai_hit = (packed_record[4] >> 6) & 0x1; in get_ingress_postclass_record()
1001 rec->eth_type_mask = (packed_record[4] >> 7) & 0xF; in get_ingress_postclass_record()
1003 rec->byte3_location = (packed_record[4] >> 11) & 0x1F; in get_ingress_postclass_record()
1004 rec->byte3_location |= (packed_record[5] & 0x1) << 5; in get_ingress_postclass_record()
1006 rec->byte3_mask = (packed_record[5] >> 1) & 0x3; in get_ingress_postclass_record()
1008 rec->byte2_location = (packed_record[5] >> 3) & 0x3F; in get_ingress_postclass_record()
1010 rec->byte2_mask = (packed_record[5] >> 9) & 0x3; in get_ingress_postclass_record()
1012 rec->byte1_location = (packed_record[5] >> 11) & 0x1F; in get_ingress_postclass_record()
1013 rec->byte1_location |= (packed_record[6] & 0x1) << 5; in get_ingress_postclass_record()
1015 rec->byte1_mask = (packed_record[6] >> 1) & 0x3; in get_ingress_postclass_record()
1017 rec->byte0_location = (packed_record[6] >> 3) & 0x3F; in get_ingress_postclass_record()
1019 rec->byte0_mask = (packed_record[6] >> 9) & 0x3; in get_ingress_postclass_record()
1021 rec->eth_type_valid_mask = (packed_record[6] >> 11) & 0x3; in get_ingress_postclass_record()
1023 rec->vlan_id_mask = (packed_record[6] >> 13) & 0x7; in get_ingress_postclass_record()
1024 rec->vlan_id_mask |= (packed_record[7] & 0x1) << 3; in get_ingress_postclass_record()
1026 rec->vlan_up_mask = (packed_record[7] >> 1) & 0x3; in get_ingress_postclass_record()
1028 rec->vlan_valid_mask = (packed_record[7] >> 3) & 0x3; in get_ingress_postclass_record()
1030 rec->sai_mask = (packed_record[7] >> 5) & 0x3; in get_ingress_postclass_record()
1032 rec->sai_hit_mask = (packed_record[7] >> 7) & 0x3; in get_ingress_postclass_record()
1034 rec->firstlevel_actions = (packed_record[7] >> 9) & 0x1; in get_ingress_postclass_record()
1036 rec->secondlevel_actions = (packed_record[7] >> 10) & 0x1; in get_ingress_postclass_record()
1038 rec->reserved = (packed_record[7] >> 11) & 0xF; in get_ingress_postclass_record()
1040 rec->valid = (packed_record[7] >> 15) & 0x1; in get_ingress_postclass_record()
1042 return 0; in get_ingress_postclass_record()
1049 memset(rec, 0, sizeof(*rec)); in aq_mss_get_ingress_postclass_record()
1065 memset(packed_record, 0, sizeof(u16) * 6); in set_ingress_postctlf_record()
1067 packed_record[0] = rec->sa_da[0] & 0xFFFF; in set_ingress_postctlf_record()
1068 packed_record[1] = (rec->sa_da[0] >> 16) & 0xFFFF; in set_ingress_postctlf_record()
1070 packed_record[2] = rec->sa_da[1] & 0xFFFF; in set_ingress_postctlf_record()
1072 packed_record[3] = rec->eth_type & 0xFFFF; in set_ingress_postctlf_record()
1074 packed_record[4] = rec->match_mask & 0xFFFF; in set_ingress_postctlf_record()
1076 packed_record[5] = rec->match_type & 0xF; in set_ingress_postctlf_record()
1078 packed_record[5] |= (rec->action & 0x1) << 4; in set_ingress_postctlf_record()
1107 if ((table_index % 2) > 0) { in get_ingress_postctlf_record()
1121 rec->sa_da[0] = packed_record[0]; in get_ingress_postctlf_record()
1122 rec->sa_da[0] |= packed_record[1] << 16; in get_ingress_postctlf_record()
1130 rec->match_type = packed_record[5] & 0xF; in get_ingress_postctlf_record()
1132 rec->action = (packed_record[5] >> 4) & 0x1; in get_ingress_postctlf_record()
1134 return 0; in get_ingress_postctlf_record()
1141 memset(rec, 0, sizeof(*rec)); in aq_mss_get_ingress_postctlf_record()
1156 memset(packed_record, 0, sizeof(u16) * 6); in set_egress_ctlf_record()
1158 packed_record[0] = rec->sa_da[0] & 0xFFFF; in set_egress_ctlf_record()
1159 packed_record[1] = (rec->sa_da[0] >> 16) & 0xFFFF; in set_egress_ctlf_record()
1161 packed_record[2] = rec->sa_da[1] & 0xFFFF; in set_egress_ctlf_record()
1163 packed_record[3] = rec->eth_type & 0xFFFF; in set_egress_ctlf_record()
1165 packed_record[4] = rec->match_mask & 0xFFFF; in set_egress_ctlf_record()
1167 packed_record[5] = rec->match_type & 0xF; in set_egress_ctlf_record()
1169 packed_record[5] |= (rec->action & 0x1) << 4; in set_egress_ctlf_record()
1171 return set_raw_egress_record(hw, packed_record, 6, 0, in set_egress_ctlf_record()
1195 if ((table_index % 2) > 0) { in get_egress_ctlf_record()
1196 ret = get_raw_egress_record(hw, packed_record, 6, 0, in get_egress_ctlf_record()
1203 ret = get_raw_egress_record(hw, packed_record, 6, 0, in get_egress_ctlf_record()
1208 rec->sa_da[0] = packed_record[0]; in get_egress_ctlf_record()
1209 rec->sa_da[0] |= packed_record[1] << 16; in get_egress_ctlf_record()
1217 rec->match_type = packed_record[5] & 0xF; in get_egress_ctlf_record()
1219 rec->action = (packed_record[5] >> 4) & 0x1; in get_egress_ctlf_record()
1221 return 0; in get_egress_ctlf_record()
1228 memset(rec, 0, sizeof(*rec)); in aq_mss_get_egress_ctlf_record()
1242 memset(packed_record, 0, sizeof(u16) * 28); in set_egress_class_record()
1244 packed_record[0] = rec->vlan_id & 0xFFF; in set_egress_class_record()
1246 packed_record[0] |= (rec->vlan_up & 0x7) << 12; in set_egress_class_record()
1248 packed_record[0] |= (rec->vlan_valid & 0x1) << 15; in set_egress_class_record()
1250 packed_record[1] = rec->byte3 & 0xFF; in set_egress_class_record()
1252 packed_record[1] |= (rec->byte2 & 0xFF) << 8; in set_egress_class_record()
1254 packed_record[2] = rec->byte1 & 0xFF; in set_egress_class_record()
1256 packed_record[2] |= (rec->byte0 & 0xFF) << 8; in set_egress_class_record()
1258 packed_record[3] = rec->tci & 0xFF; in set_egress_class_record()
1260 packed_record[3] |= (rec->sci[0] & 0xFF) << 8; in set_egress_class_record()
1261 packed_record[4] = (rec->sci[0] >> 8) & 0xFFFF; in set_egress_class_record()
1262 packed_record[5] = (rec->sci[0] >> 24) & 0xFF; in set_egress_class_record()
1264 packed_record[5] |= (rec->sci[1] & 0xFF) << 8; in set_egress_class_record()
1265 packed_record[6] = (rec->sci[1] >> 8) & 0xFFFF; in set_egress_class_record()
1266 packed_record[7] = (rec->sci[1] >> 24) & 0xFF; in set_egress_class_record()
1268 packed_record[7] |= (rec->eth_type & 0xFF) << 8; in set_egress_class_record()
1269 packed_record[8] = (rec->eth_type >> 8) & 0xFF; in set_egress_class_record()
1271 packed_record[8] |= (rec->snap[0] & 0xFF) << 8; in set_egress_class_record()
1272 packed_record[9] = (rec->snap[0] >> 8) & 0xFFFF; in set_egress_class_record()
1273 packed_record[10] = (rec->snap[0] >> 24) & 0xFF; in set_egress_class_record()
1275 packed_record[10] |= (rec->snap[1] & 0xFF) << 8; in set_egress_class_record()
1277 packed_record[11] = rec->llc & 0xFFFF; in set_egress_class_record()
1278 packed_record[12] = (rec->llc >> 16) & 0xFF; in set_egress_class_record()
1280 packed_record[12] |= (rec->mac_sa[0] & 0xFF) << 8; in set_egress_class_record()
1281 packed_record[13] = (rec->mac_sa[0] >> 8) & 0xFFFF; in set_egress_class_record()
1282 packed_record[14] = (rec->mac_sa[0] >> 24) & 0xFF; in set_egress_class_record()
1284 packed_record[14] |= (rec->mac_sa[1] & 0xFF) << 8; in set_egress_class_record()
1285 packed_record[15] = (rec->mac_sa[1] >> 8) & 0xFF; in set_egress_class_record()
1287 packed_record[15] |= (rec->mac_da[0] & 0xFF) << 8; in set_egress_class_record()
1288 packed_record[16] = (rec->mac_da[0] >> 8) & 0xFFFF; in set_egress_class_record()
1289 packed_record[17] = (rec->mac_da[0] >> 24) & 0xFF; in set_egress_class_record()
1291 packed_record[17] |= (rec->mac_da[1] & 0xFF) << 8; in set_egress_class_record()
1292 packed_record[18] = (rec->mac_da[1] >> 8) & 0xFF; in set_egress_class_record()
1294 packed_record[18] |= (rec->pn & 0xFF) << 8; in set_egress_class_record()
1295 packed_record[19] = (rec->pn >> 8) & 0xFFFF; in set_egress_class_record()
1296 packed_record[20] = (rec->pn >> 24) & 0xFF; in set_egress_class_record()
1298 packed_record[20] |= (rec->byte3_location & 0x3F) << 8; in set_egress_class_record()
1300 packed_record[20] |= (rec->byte3_mask & 0x1) << 14; in set_egress_class_record()
1302 packed_record[20] |= (rec->byte2_location & 0x1) << 15; in set_egress_class_record()
1303 packed_record[21] = (rec->byte2_location >> 1) & 0x1F; in set_egress_class_record()
1305 packed_record[21] |= (rec->byte2_mask & 0x1) << 5; in set_egress_class_record()
1307 packed_record[21] |= (rec->byte1_location & 0x3F) << 6; in set_egress_class_record()
1309 packed_record[21] |= (rec->byte1_mask & 0x1) << 12; in set_egress_class_record()
1311 packed_record[21] |= (rec->byte0_location & 0x7) << 13; in set_egress_class_record()
1312 packed_record[22] = (rec->byte0_location >> 3) & 0x7; in set_egress_class_record()
1314 packed_record[22] |= (rec->byte0_mask & 0x1) << 3; in set_egress_class_record()
1316 packed_record[22] |= (rec->vlan_id_mask & 0x3) << 4; in set_egress_class_record()
1318 packed_record[22] |= (rec->vlan_up_mask & 0x1) << 6; in set_egress_class_record()
1320 packed_record[22] |= (rec->vlan_valid_mask & 0x1) << 7; in set_egress_class_record()
1322 packed_record[22] |= (rec->tci_mask & 0xFF) << 8; in set_egress_class_record()
1324 packed_record[23] = rec->sci_mask & 0xFF; in set_egress_class_record()
1326 packed_record[23] |= (rec->eth_type_mask & 0x3) << 8; in set_egress_class_record()
1328 packed_record[23] |= (rec->snap_mask & 0x1F) << 10; in set_egress_class_record()
1330 packed_record[23] |= (rec->llc_mask & 0x1) << 15; in set_egress_class_record()
1331 packed_record[24] = (rec->llc_mask >> 1) & 0x3; in set_egress_class_record()
1333 packed_record[24] |= (rec->sa_mask & 0x3F) << 2; in set_egress_class_record()
1335 packed_record[24] |= (rec->da_mask & 0x3F) << 8; in set_egress_class_record()
1337 packed_record[24] |= (rec->pn_mask & 0x3) << 14; in set_egress_class_record()
1338 packed_record[25] = (rec->pn_mask >> 2) & 0x3; in set_egress_class_record()
1340 packed_record[25] |= (rec->eight02dot2 & 0x1) << 2; in set_egress_class_record()
1342 packed_record[25] |= (rec->tci_sc & 0x1) << 3; in set_egress_class_record()
1344 packed_record[25] |= (rec->tci_87543 & 0x1) << 4; in set_egress_class_record()
1346 packed_record[25] |= (rec->exp_sectag_en & 0x1) << 5; in set_egress_class_record()
1348 packed_record[25] |= (rec->sc_idx & 0x1F) << 6; in set_egress_class_record()
1350 packed_record[25] |= (rec->sc_sa & 0x3) << 11; in set_egress_class_record()
1352 packed_record[25] |= (rec->debug & 0x1) << 13; in set_egress_class_record()
1354 packed_record[25] |= (rec->action & 0x3) << 14; in set_egress_class_record()
1356 packed_record[26] = (rec->valid & 0x1) << 3; in set_egress_class_record()
1382 if ((table_index % 2) > 0) { in get_egress_class_record()
1395 rec->vlan_id = packed_record[0] & 0xFFF; in get_egress_class_record()
1397 rec->vlan_up = (packed_record[0] >> 12) & 0x7; in get_egress_class_record()
1399 rec->vlan_valid = (packed_record[0] >> 15) & 0x1; in get_egress_class_record()
1401 rec->byte3 = packed_record[1] & 0xFF; in get_egress_class_record()
1403 rec->byte2 = (packed_record[1] >> 8) & 0xFF; in get_egress_class_record()
1405 rec->byte1 = packed_record[2] & 0xFF; in get_egress_class_record()
1407 rec->byte0 = (packed_record[2] >> 8) & 0xFF; in get_egress_class_record()
1409 rec->tci = packed_record[3] & 0xFF; in get_egress_class_record()
1411 rec->sci[0] = (packed_record[3] >> 8) & 0xFF; in get_egress_class_record()
1412 rec->sci[0] |= packed_record[4] << 8; in get_egress_class_record()
1413 rec->sci[0] |= (packed_record[5] & 0xFF) << 24; in get_egress_class_record()
1415 rec->sci[1] = (packed_record[5] >> 8) & 0xFF; in get_egress_class_record()
1417 rec->sci[1] |= (packed_record[7] & 0xFF) << 24; in get_egress_class_record()
1419 rec->eth_type = (packed_record[7] >> 8) & 0xFF; in get_egress_class_record()
1420 rec->eth_type |= (packed_record[8] & 0xFF) << 8; in get_egress_class_record()
1422 rec->snap[0] = (packed_record[8] >> 8) & 0xFF; in get_egress_class_record()
1423 rec->snap[0] |= packed_record[9] << 8; in get_egress_class_record()
1424 rec->snap[0] |= (packed_record[10] & 0xFF) << 24; in get_egress_class_record()
1426 rec->snap[1] = (packed_record[10] >> 8) & 0xFF; in get_egress_class_record()
1429 rec->llc |= (packed_record[12] & 0xFF) << 16; in get_egress_class_record()
1431 rec->mac_sa[0] = (packed_record[12] >> 8) & 0xFF; in get_egress_class_record()
1432 rec->mac_sa[0] |= packed_record[13] << 8; in get_egress_class_record()
1433 rec->mac_sa[0] |= (packed_record[14] & 0xFF) << 24; in get_egress_class_record()
1435 rec->mac_sa[1] = (packed_record[14] >> 8) & 0xFF; in get_egress_class_record()
1436 rec->mac_sa[1] |= (packed_record[15] & 0xFF) << 8; in get_egress_class_record()
1438 rec->mac_da[0] = (packed_record[15] >> 8) & 0xFF; in get_egress_class_record()
1439 rec->mac_da[0] |= packed_record[16] << 8; in get_egress_class_record()
1440 rec->mac_da[0] |= (packed_record[17] & 0xFF) << 24; in get_egress_class_record()
1442 rec->mac_da[1] = (packed_record[17] >> 8) & 0xFF; in get_egress_class_record()
1443 rec->mac_da[1] |= (packed_record[18] & 0xFF) << 8; in get_egress_class_record()
1445 rec->pn = (packed_record[18] >> 8) & 0xFF; in get_egress_class_record()
1447 rec->pn |= (packed_record[20] & 0xFF) << 24; in get_egress_class_record()
1449 rec->byte3_location = (packed_record[20] >> 8) & 0x3F; in get_egress_class_record()
1451 rec->byte3_mask = (packed_record[20] >> 14) & 0x1; in get_egress_class_record()
1453 rec->byte2_location = (packed_record[20] >> 15) & 0x1; in get_egress_class_record()
1454 rec->byte2_location |= (packed_record[21] & 0x1F) << 1; in get_egress_class_record()
1456 rec->byte2_mask = (packed_record[21] >> 5) & 0x1; in get_egress_class_record()
1458 rec->byte1_location = (packed_record[21] >> 6) & 0x3F; in get_egress_class_record()
1460 rec->byte1_mask = (packed_record[21] >> 12) & 0x1; in get_egress_class_record()
1462 rec->byte0_location = (packed_record[21] >> 13) & 0x7; in get_egress_class_record()
1463 rec->byte0_location |= (packed_record[22] & 0x7) << 3; in get_egress_class_record()
1465 rec->byte0_mask = (packed_record[22] >> 3) & 0x1; in get_egress_class_record()
1467 rec->vlan_id_mask = (packed_record[22] >> 4) & 0x3; in get_egress_class_record()
1469 rec->vlan_up_mask = (packed_record[22] >> 6) & 0x1; in get_egress_class_record()
1471 rec->vlan_valid_mask = (packed_record[22] >> 7) & 0x1; in get_egress_class_record()
1473 rec->tci_mask = (packed_record[22] >> 8) & 0xFF; in get_egress_class_record()
1475 rec->sci_mask = packed_record[23] & 0xFF; in get_egress_class_record()
1477 rec->eth_type_mask = (packed_record[23] >> 8) & 0x3; in get_egress_class_record()
1479 rec->snap_mask = (packed_record[23] >> 10) & 0x1F; in get_egress_class_record()
1481 rec->llc_mask = (packed_record[23] >> 15) & 0x1; in get_egress_class_record()
1482 rec->llc_mask |= (packed_record[24] & 0x3) << 1; in get_egress_class_record()
1484 rec->sa_mask = (packed_record[24] >> 2) & 0x3F; in get_egress_class_record()
1486 rec->da_mask = (packed_record[24] >> 8) & 0x3F; in get_egress_class_record()
1488 rec->pn_mask = (packed_record[24] >> 14) & 0x3; in get_egress_class_record()
1489 rec->pn_mask |= (packed_record[25] & 0x3) << 2; in get_egress_class_record()
1491 rec->eight02dot2 = (packed_record[25] >> 2) & 0x1; in get_egress_class_record()
1493 rec->tci_sc = (packed_record[25] >> 3) & 0x1; in get_egress_class_record()
1495 rec->tci_87543 = (packed_record[25] >> 4) & 0x1; in get_egress_class_record()
1497 rec->exp_sectag_en = (packed_record[25] >> 5) & 0x1; in get_egress_class_record()
1499 rec->sc_idx = (packed_record[25] >> 6) & 0x1F; in get_egress_class_record()
1501 rec->sc_sa = (packed_record[25] >> 11) & 0x3; in get_egress_class_record()
1503 rec->debug = (packed_record[25] >> 13) & 0x1; in get_egress_class_record()
1505 rec->action = (packed_record[25] >> 14) & 0x3; in get_egress_class_record()
1507 rec->valid = (packed_record[26] >> 3) & 0x1; in get_egress_class_record()
1509 return 0; in get_egress_class_record()
1516 memset(rec, 0, sizeof(*rec)); in aq_mss_get_egress_class_record()
1530 memset(packed_record, 0, sizeof(u16) * 8); in set_egress_sc_record()
1532 packed_record[0] = rec->start_time & 0xFFFF; in set_egress_sc_record()
1533 packed_record[1] = (rec->start_time >> 16) & 0xFFFF; in set_egress_sc_record()
1535 packed_record[2] = rec->stop_time & 0xFFFF; in set_egress_sc_record()
1536 packed_record[3] = (rec->stop_time >> 16) & 0xFFFF; in set_egress_sc_record()
1538 packed_record[4] = rec->curr_an & 0x3; in set_egress_sc_record()
1540 packed_record[4] |= (rec->an_roll & 0x1) << 2; in set_egress_sc_record()
1542 packed_record[4] |= (rec->tci & 0x3F) << 3; in set_egress_sc_record()
1544 packed_record[4] |= (rec->enc_off & 0x7F) << 9; in set_egress_sc_record()
1545 packed_record[5] = (rec->enc_off >> 7) & 0x1; in set_egress_sc_record()
1547 packed_record[5] |= (rec->protect & 0x1) << 1; in set_egress_sc_record()
1549 packed_record[5] |= (rec->recv & 0x1) << 2; in set_egress_sc_record()
1551 packed_record[5] |= (rec->fresh & 0x1) << 3; in set_egress_sc_record()
1553 packed_record[5] |= (rec->sak_len & 0x3) << 4; in set_egress_sc_record()
1555 packed_record[7] = (rec->valid & 0x1) << 15; in set_egress_sc_record()
1583 rec->start_time = packed_record[0]; in get_egress_sc_record()
1589 rec->curr_an = packed_record[4] & 0x3; in get_egress_sc_record()
1591 rec->an_roll = (packed_record[4] >> 2) & 0x1; in get_egress_sc_record()
1593 rec->tci = (packed_record[4] >> 3) & 0x3F; in get_egress_sc_record()
1595 rec->enc_off = (packed_record[4] >> 9) & 0x7F; in get_egress_sc_record()
1596 rec->enc_off |= (packed_record[5] & 0x1) << 7; in get_egress_sc_record()
1598 rec->protect = (packed_record[5] >> 1) & 0x1; in get_egress_sc_record()
1600 rec->recv = (packed_record[5] >> 2) & 0x1; in get_egress_sc_record()
1602 rec->fresh = (packed_record[5] >> 3) & 0x1; in get_egress_sc_record()
1604 rec->sak_len = (packed_record[5] >> 4) & 0x3; in get_egress_sc_record()
1606 rec->valid = (packed_record[7] >> 15) & 0x1; in get_egress_sc_record()
1608 return 0; in get_egress_sc_record()
1615 memset(rec, 0, sizeof(*rec)); in aq_mss_get_egress_sc_record()
1629 memset(packed_record, 0, sizeof(u16) * 8); in set_egress_sa_record()
1631 packed_record[0] = rec->start_time & 0xFFFF; in set_egress_sa_record()
1632 packed_record[1] = (rec->start_time >> 16) & 0xFFFF; in set_egress_sa_record()
1634 packed_record[2] = rec->stop_time & 0xFFFF; in set_egress_sa_record()
1635 packed_record[3] = (rec->stop_time >> 16) & 0xFFFF; in set_egress_sa_record()
1637 packed_record[4] = rec->next_pn & 0xFFFF; in set_egress_sa_record()
1638 packed_record[5] = (rec->next_pn >> 16) & 0xFFFF; in set_egress_sa_record()
1640 packed_record[6] = rec->sat_pn & 0x1; in set_egress_sa_record()
1642 packed_record[6] |= (rec->fresh & 0x1) << 1; in set_egress_sa_record()
1644 packed_record[7] = (rec->valid & 0x1) << 15; in set_egress_sa_record()
1676 rec->start_time = packed_record[0]; in get_egress_sa_record()
1685 rec->sat_pn = packed_record[6] & 0x1; in get_egress_sa_record()
1687 rec->fresh = (packed_record[6] >> 1) & 0x1; in get_egress_sa_record()
1689 rec->valid = (packed_record[7] >> 15) & 0x1; in get_egress_sa_record()
1691 return 0; in get_egress_sa_record()
1698 memset(rec, 0, sizeof(*rec)); in aq_mss_get_egress_sa_record()
1713 memset(packed_record, 0, sizeof(u16) * 16); in set_egress_sakey_record()
1715 packed_record[0] = rec->key[0] & 0xFFFF; in set_egress_sakey_record()
1716 packed_record[1] = (rec->key[0] >> 16) & 0xFFFF; in set_egress_sakey_record()
1718 packed_record[2] = rec->key[1] & 0xFFFF; in set_egress_sakey_record()
1719 packed_record[3] = (rec->key[1] >> 16) & 0xFFFF; in set_egress_sakey_record()
1721 packed_record[4] = rec->key[2] & 0xFFFF; in set_egress_sakey_record()
1722 packed_record[5] = (rec->key[2] >> 16) & 0xFFFF; in set_egress_sakey_record()
1724 packed_record[6] = rec->key[3] & 0xFFFF; in set_egress_sakey_record()
1725 packed_record[7] = (rec->key[3] >> 16) & 0xFFFF; in set_egress_sakey_record()
1727 packed_record[8] = rec->key[4] & 0xFFFF; in set_egress_sakey_record()
1728 packed_record[9] = (rec->key[4] >> 16) & 0xFFFF; in set_egress_sakey_record()
1730 packed_record[10] = rec->key[5] & 0xFFFF; in set_egress_sakey_record()
1731 packed_record[11] = (rec->key[5] >> 16) & 0xFFFF; in set_egress_sakey_record()
1733 packed_record[12] = rec->key[6] & 0xFFFF; in set_egress_sakey_record()
1734 packed_record[13] = (rec->key[6] >> 16) & 0xFFFF; in set_egress_sakey_record()
1736 packed_record[14] = rec->key[7] & 0xFFFF; in set_egress_sakey_record()
1737 packed_record[15] = (rec->key[7] >> 16) & 0xFFFF; in set_egress_sakey_record()
1749 return 0; in set_egress_sakey_record()
1784 rec->key[0] = packed_record[0]; in get_egress_sakey_record()
1785 rec->key[0] |= packed_record[1] << 16; in get_egress_sakey_record()
1808 return 0; in get_egress_sakey_record()
1815 memset(rec, 0, sizeof(*rec)); in aq_mss_get_egress_sakey_record()
1833 counters->sc_protected_pkts[0] = in get_egress_sc_counters()
1834 packed_record[0] | (packed_record[1] << 16); in get_egress_sc_counters()
1841 counters->sc_encrypted_pkts[0] = in get_egress_sc_counters()
1842 packed_record[0] | (packed_record[1] << 16); in get_egress_sc_counters()
1849 counters->sc_protected_octets[0] = in get_egress_sc_counters()
1850 packed_record[0] | (packed_record[1] << 16); in get_egress_sc_counters()
1857 counters->sc_encrypted_octets[0] = in get_egress_sc_counters()
1858 packed_record[0] | (packed_record[1] << 16); in get_egress_sc_counters()
1862 return 0; in get_egress_sc_counters()
1869 memset(counters, 0, sizeof(*counters)); in aq_mss_get_egress_sc_counters()
1884 ret = get_raw_egress_record(hw, packed_record, 4, 3, sa_index * 8 + 0); in get_egress_sa_counters()
1887 counters->sa_hit_drop_redirect[0] = in get_egress_sa_counters()
1888 packed_record[0] | (packed_record[1] << 16); in get_egress_sa_counters()
1895 counters->sa_protected2_pkts[0] = in get_egress_sa_counters()
1896 packed_record[0] | (packed_record[1] << 16); in get_egress_sa_counters()
1903 counters->sa_protected_pkts[0] = in get_egress_sa_counters()
1904 packed_record[0] | (packed_record[1] << 16); in get_egress_sa_counters()
1911 counters->sa_encrypted_pkts[0] = in get_egress_sa_counters()
1912 packed_record[0] | (packed_record[1] << 16); in get_egress_sa_counters()
1916 return 0; in get_egress_sa_counters()
1923 memset(counters, 0, sizeof(*counters)); in aq_mss_get_egress_sa_counters()
1935 ret = get_raw_egress_record(hw, packed_record, 4, 3, 256 + 0); in get_egress_common_counters()
1938 counters->ctl_pkt[0] = packed_record[0] | (packed_record[1] << 16); in get_egress_common_counters()
1944 counters->unknown_sa_pkts[0] = in get_egress_common_counters()
1945 packed_record[0] | (packed_record[1] << 16); in get_egress_common_counters()
1952 counters->untagged_pkts[0] = in get_egress_common_counters()
1953 packed_record[0] | (packed_record[1] << 16); in get_egress_common_counters()
1960 counters->too_long[0] = packed_record[0] | (packed_record[1] << 16); in get_egress_common_counters()
1966 counters->ecc_error_pkts[0] = in get_egress_common_counters()
1967 packed_record[0] | (packed_record[1] << 16); in get_egress_common_counters()
1974 counters->unctrl_hit_drop_redir[0] = in get_egress_common_counters()
1975 packed_record[0] | (packed_record[1] << 16); in get_egress_common_counters()
1979 return 0; in get_egress_common_counters()
1985 memset(counters, 0, sizeof(*counters)); in aq_mss_get_egress_common_counters()
1995 memset(&ctl_reg, 0, sizeof(ctl_reg)); in clear_egress_counters()
2007 /* Toggle the Egress MIB clear bit 0->1->0 */ in clear_egress_counters()
2008 ctl_reg.bits_0.clear_counter = 0; in clear_egress_counters()
2030 ctl_reg.bits_0.clear_counter = 0; in clear_egress_counters()
2041 return 0; in clear_egress_counters()
2060 sa_index * 12 + 0); in get_ingress_sa_counters()
2063 counters->untagged_hit_pkts[0] = in get_ingress_sa_counters()
2064 packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2072 counters->ctrl_hit_drop_redir_pkts[0] = in get_ingress_sa_counters()
2073 packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2081 counters->not_using_sa[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2088 counters->unused_sa[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2095 counters->not_valid_pkts[0] = in get_ingress_sa_counters()
2096 packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2104 counters->invalid_pkts[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2111 counters->ok_pkts[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2118 counters->late_pkts[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2125 counters->delayed_pkts[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2132 counters->unchecked_pkts[0] = in get_ingress_sa_counters()
2133 packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2141 counters->validated_octets[0] = in get_ingress_sa_counters()
2142 packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2150 counters->decrypted_octets[0] = in get_ingress_sa_counters()
2151 packed_record[0] | (packed_record[1] << 16); in get_ingress_sa_counters()
2155 return 0; in get_ingress_sa_counters()
2162 memset(counters, 0, sizeof(*counters)); in aq_mss_get_ingress_sa_counters()
2175 ret = get_raw_ingress_record(hw, packed_record, 4, 6, 385 + 0); in get_ingress_common_counters()
2178 counters->ctl_pkts[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2184 counters->tagged_miss_pkts[0] = in get_ingress_common_counters()
2185 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2192 counters->untagged_miss_pkts[0] = in get_ingress_common_counters()
2193 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2200 counters->notag_pkts[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2206 counters->untagged_pkts[0] = in get_ingress_common_counters()
2207 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2214 counters->bad_tag_pkts[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2220 counters->no_sci_pkts[0] = packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2226 counters->unknown_sci_pkts[0] = in get_ingress_common_counters()
2227 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2234 counters->ctrl_prt_pass_pkts[0] = in get_ingress_common_counters()
2235 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2242 counters->unctrl_prt_pass_pkts[0] = in get_ingress_common_counters()
2243 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2250 counters->ctrl_prt_fail_pkts[0] = in get_ingress_common_counters()
2251 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2258 counters->unctrl_prt_fail_pkts[0] = in get_ingress_common_counters()
2259 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2266 counters->too_long_pkts[0] = in get_ingress_common_counters()
2267 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2274 counters->igpoc_ctl_pkts[0] = in get_ingress_common_counters()
2275 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2282 counters->ecc_error_pkts[0] = in get_ingress_common_counters()
2283 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2290 counters->unctrl_hit_drop_redir[0] = in get_ingress_common_counters()
2291 packed_record[0] | (packed_record[1] << 16); in get_ingress_common_counters()
2295 return 0; in get_ingress_common_counters()
2301 memset(counters, 0, sizeof(*counters)); in aq_mss_get_ingress_common_counters()
2311 memset(&ctl_reg, 0, sizeof(ctl_reg)); in clear_ingress_counters()
2323 /* Toggle the Ingress MIB clear bit 0->1->0 */ in clear_ingress_counters()
2324 ctl_reg.bits_0.clear_count = 0; in clear_ingress_counters()
2346 ctl_reg.bits_0.clear_count = 0; in clear_ingress_counters()
2357 return 0; in clear_ingress_counters()
2386 return 0; in get_egress_sa_expired()
2391 *expired = 0; in aq_mss_get_egress_sa_expired()
2416 return 0; in get_egress_sa_threshold_expired()
2422 *expired = 0; in aq_mss_get_egress_sa_threshold_expired()
2433 expired & 0xFFFF); in set_egress_sa_expired()
2443 return 0; in set_egress_sa_expired()
2457 expired & 0xFFFF); in set_egress_sa_threshold_expired()
2467 return 0; in set_egress_sa_threshold_expired()