aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-04-15 17:21:10 -0400
committerDavid S. Miller <davem@davemloft.net>2016-04-15 17:21:10 -0400
commit936d4b41b08f566d0901e81321e4f51ae35c1f45 (patch)
treea0ccf8e9dcc74555cee396cf0e7c62b17e1d1dbf
parent993feee9795bb8f5368207ce075a9060bcb2c649 (diff)
parent7d5e14237a551a5de3d287f2e8db2d044ee81a1a (diff)
Merge branch 'mlx5_ifc-updates'
Saeed Mahameed says: ==================== mlx5_core: mlx5_ifc updates This series include mlx5_core updates for both net-next and rdma trees for 4.7 kernel cycle. This is the only shared code planned for 4.7 between rdma and net trees. Hopefully, this will prevent future conflicts when merging between ib-next and net-next once 4.7 cycle is over and merge window is opened. Both Mellanox rdma and net submissions will proceed once this series is applied into both trees. Future shared code will be sent to both maintainers as pull requests from Mellanox's kernel.org tree. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/linux/mlx5/mlx5_ifc.h253
1 files changed, 179 insertions, 74 deletions
diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h
index c15b8a864937..4ce4ea422a10 100644
--- a/include/linux/mlx5/mlx5_ifc.h
+++ b/include/linux/mlx5/mlx5_ifc.h
@@ -513,7 +513,9 @@ struct mlx5_ifc_per_protocol_networking_offload_caps_bits {
513 u8 max_lso_cap[0x5]; 513 u8 max_lso_cap[0x5];
514 u8 reserved_at_10[0x4]; 514 u8 reserved_at_10[0x4];
515 u8 rss_ind_tbl_cap[0x4]; 515 u8 rss_ind_tbl_cap[0x4];
516 u8 reserved_at_18[0x3]; 516 u8 reg_umr_sq[0x1];
517 u8 scatter_fcs[0x1];
518 u8 reserved_at_1a[0x1];
517 u8 tunnel_lso_const_out_ip_id[0x1]; 519 u8 tunnel_lso_const_out_ip_id[0x1];
518 u8 reserved_at_1c[0x2]; 520 u8 reserved_at_1c[0x2];
519 u8 tunnel_statless_gre[0x1]; 521 u8 tunnel_statless_gre[0x1];
@@ -648,7 +650,7 @@ struct mlx5_ifc_vector_calc_cap_bits {
648enum { 650enum {
649 MLX5_WQ_TYPE_LINKED_LIST = 0x0, 651 MLX5_WQ_TYPE_LINKED_LIST = 0x0,
650 MLX5_WQ_TYPE_CYCLIC = 0x1, 652 MLX5_WQ_TYPE_CYCLIC = 0x1,
651 MLX5_WQ_TYPE_STRQ = 0x2, 653 MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ = 0x2,
652}; 654};
653 655
654enum { 656enum {
@@ -750,21 +752,25 @@ struct mlx5_ifc_cmd_hca_cap_bits {
750 u8 ets[0x1]; 752 u8 ets[0x1];
751 u8 nic_flow_table[0x1]; 753 u8 nic_flow_table[0x1];
752 u8 eswitch_flow_table[0x1]; 754 u8 eswitch_flow_table[0x1];
753 u8 early_vf_enable; 755 u8 early_vf_enable[0x1];
754 u8 reserved_at_1a8[0x2]; 756 u8 reserved_at_1a9[0x2];
755 u8 local_ca_ack_delay[0x5]; 757 u8 local_ca_ack_delay[0x5];
756 u8 reserved_at_1af[0x6]; 758 u8 reserved_at_1af[0x2];
759 u8 ports_check[0x1];
760 u8 reserved_at_1b2[0x1];
761 u8 disable_link_up[0x1];
762 u8 beacon_led[0x1];
757 u8 port_type[0x2]; 763 u8 port_type[0x2];
758 u8 num_ports[0x8]; 764 u8 num_ports[0x8];
759 765
760 u8 reserved_at_1bf[0x3]; 766 u8 reserved_at_1c0[0x3];
761 u8 log_max_msg[0x5]; 767 u8 log_max_msg[0x5];
762 u8 reserved_at_1c7[0x4]; 768 u8 reserved_at_1c8[0x4];
763 u8 max_tc[0x4]; 769 u8 max_tc[0x4];
764 u8 reserved_at_1cf[0x6]; 770 u8 reserved_at_1d0[0x6];
765 u8 rol_s[0x1]; 771 u8 rol_s[0x1];
766 u8 rol_g[0x1]; 772 u8 rol_g[0x1];
767 u8 reserved_at_1d7[0x1]; 773 u8 reserved_at_1d8[0x1];
768 u8 wol_s[0x1]; 774 u8 wol_s[0x1];
769 u8 wol_g[0x1]; 775 u8 wol_g[0x1];
770 u8 wol_a[0x1]; 776 u8 wol_a[0x1];
@@ -774,47 +780,48 @@ struct mlx5_ifc_cmd_hca_cap_bits {
774 u8 wol_p[0x1]; 780 u8 wol_p[0x1];
775 781
776 u8 stat_rate_support[0x10]; 782 u8 stat_rate_support[0x10];
777 u8 reserved_at_1ef[0xc]; 783 u8 reserved_at_1f0[0xc];
778 u8 cqe_version[0x4]; 784 u8 cqe_version[0x4];
779 785
780 u8 compact_address_vector[0x1]; 786 u8 compact_address_vector[0x1];
781 u8 reserved_at_200[0x3]; 787 u8 striding_rq[0x1];
788 u8 reserved_at_201[0x2];
782 u8 ipoib_basic_offloads[0x1]; 789 u8 ipoib_basic_offloads[0x1];
783 u8 reserved_at_204[0xa]; 790 u8 reserved_at_205[0xa];
784 u8 drain_sigerr[0x1]; 791 u8 drain_sigerr[0x1];
785 u8 cmdif_checksum[0x2]; 792 u8 cmdif_checksum[0x2];
786 u8 sigerr_cqe[0x1]; 793 u8 sigerr_cqe[0x1];
787 u8 reserved_at_212[0x1]; 794 u8 reserved_at_213[0x1];
788 u8 wq_signature[0x1]; 795 u8 wq_signature[0x1];
789 u8 sctr_data_cqe[0x1]; 796 u8 sctr_data_cqe[0x1];
790 u8 reserved_at_215[0x1]; 797 u8 reserved_at_216[0x1];
791 u8 sho[0x1]; 798 u8 sho[0x1];
792 u8 tph[0x1]; 799 u8 tph[0x1];
793 u8 rf[0x1]; 800 u8 rf[0x1];
794 u8 dct[0x1]; 801 u8 dct[0x1];
795 u8 reserved_at_21a[0x1]; 802 u8 reserved_at_21b[0x1];
796 u8 eth_net_offloads[0x1]; 803 u8 eth_net_offloads[0x1];
797 u8 roce[0x1]; 804 u8 roce[0x1];
798 u8 atomic[0x1]; 805 u8 atomic[0x1];
799 u8 reserved_at_21e[0x1]; 806 u8 reserved_at_21f[0x1];
800 807
801 u8 cq_oi[0x1]; 808 u8 cq_oi[0x1];
802 u8 cq_resize[0x1]; 809 u8 cq_resize[0x1];
803 u8 cq_moderation[0x1]; 810 u8 cq_moderation[0x1];
804 u8 reserved_at_222[0x3]; 811 u8 reserved_at_223[0x3];
805 u8 cq_eq_remap[0x1]; 812 u8 cq_eq_remap[0x1];
806 u8 pg[0x1]; 813 u8 pg[0x1];
807 u8 block_lb_mc[0x1]; 814 u8 block_lb_mc[0x1];
808 u8 reserved_at_228[0x1]; 815 u8 reserved_at_229[0x1];
809 u8 scqe_break_moderation[0x1]; 816 u8 scqe_break_moderation[0x1];
810 u8 reserved_at_22a[0x1]; 817 u8 cq_period_start_from_cqe[0x1];
811 u8 cd[0x1]; 818 u8 cd[0x1];
812 u8 reserved_at_22c[0x1]; 819 u8 reserved_at_22d[0x1];
813 u8 apm[0x1]; 820 u8 apm[0x1];
814 u8 vector_calc[0x1]; 821 u8 vector_calc[0x1];
815 u8 reserved_at_22f[0x1]; 822 u8 umr_ptr_rlky[0x1];
816 u8 imaicl[0x1]; 823 u8 imaicl[0x1];
817 u8 reserved_at_231[0x4]; 824 u8 reserved_at_232[0x4];
818 u8 qkv[0x1]; 825 u8 qkv[0x1];
819 u8 pkv[0x1]; 826 u8 pkv[0x1];
820 u8 set_deth_sqpn[0x1]; 827 u8 set_deth_sqpn[0x1];
@@ -824,98 +831,101 @@ struct mlx5_ifc_cmd_hca_cap_bits {
824 u8 uc[0x1]; 831 u8 uc[0x1];
825 u8 rc[0x1]; 832 u8 rc[0x1];
826 833
827 u8 reserved_at_23f[0xa]; 834 u8 reserved_at_240[0xa];
828 u8 uar_sz[0x6]; 835 u8 uar_sz[0x6];
829 u8 reserved_at_24f[0x8]; 836 u8 reserved_at_250[0x8];
830 u8 log_pg_sz[0x8]; 837 u8 log_pg_sz[0x8];
831 838
832 u8 bf[0x1]; 839 u8 bf[0x1];
833 u8 reserved_at_260[0x1]; 840 u8 reserved_at_261[0x1];
834 u8 pad_tx_eth_packet[0x1]; 841 u8 pad_tx_eth_packet[0x1];
835 u8 reserved_at_262[0x8]; 842 u8 reserved_at_263[0x8];
836 u8 log_bf_reg_size[0x5]; 843 u8 log_bf_reg_size[0x5];
837 u8 reserved_at_26f[0x10]; 844 u8 reserved_at_270[0x10];
838 845
839 u8 reserved_at_27f[0x10]; 846 u8 reserved_at_280[0x10];
840 u8 max_wqe_sz_sq[0x10]; 847 u8 max_wqe_sz_sq[0x10];
841 848
842 u8 reserved_at_29f[0x10]; 849 u8 reserved_at_2a0[0x10];
843 u8 max_wqe_sz_rq[0x10]; 850 u8 max_wqe_sz_rq[0x10];
844 851
845 u8 reserved_at_2bf[0x10]; 852 u8 reserved_at_2c0[0x10];
846 u8 max_wqe_sz_sq_dc[0x10]; 853 u8 max_wqe_sz_sq_dc[0x10];
847 854
848 u8 reserved_at_2df[0x7]; 855 u8 reserved_at_2e0[0x7];
849 u8 max_qp_mcg[0x19]; 856 u8 max_qp_mcg[0x19];
850 857
851 u8 reserved_at_2ff[0x18]; 858 u8 reserved_at_300[0x18];
852 u8 log_max_mcg[0x8]; 859 u8 log_max_mcg[0x8];
853 860
854 u8 reserved_at_31f[0x3]; 861 u8 reserved_at_320[0x3];
855 u8 log_max_transport_domain[0x5]; 862 u8 log_max_transport_domain[0x5];
856 u8 reserved_at_327[0x3]; 863 u8 reserved_at_328[0x3];
857 u8 log_max_pd[0x5]; 864 u8 log_max_pd[0x5];
858 u8 reserved_at_32f[0xb]; 865 u8 reserved_at_330[0xb];
859 u8 log_max_xrcd[0x5]; 866 u8 log_max_xrcd[0x5];
860 867
861 u8 reserved_at_33f[0x20]; 868 u8 reserved_at_340[0x20];
862 869
863 u8 reserved_at_35f[0x3]; 870 u8 reserved_at_360[0x3];
864 u8 log_max_rq[0x5]; 871 u8 log_max_rq[0x5];
865 u8 reserved_at_367[0x3]; 872 u8 reserved_at_368[0x3];
866 u8 log_max_sq[0x5]; 873 u8 log_max_sq[0x5];
867 u8 reserved_at_36f[0x3]; 874 u8 reserved_at_370[0x3];
868 u8 log_max_tir[0x5]; 875 u8 log_max_tir[0x5];
869 u8 reserved_at_377[0x3]; 876 u8 reserved_at_378[0x3];
870 u8 log_max_tis[0x5]; 877 u8 log_max_tis[0x5];
871 878
872 u8 basic_cyclic_rcv_wqe[0x1]; 879 u8 basic_cyclic_rcv_wqe[0x1];
873 u8 reserved_at_380[0x2]; 880 u8 reserved_at_381[0x2];
874 u8 log_max_rmp[0x5]; 881 u8 log_max_rmp[0x5];
875 u8 reserved_at_387[0x3]; 882 u8 reserved_at_388[0x3];
876 u8 log_max_rqt[0x5]; 883 u8 log_max_rqt[0x5];
877 u8 reserved_at_38f[0x3]; 884 u8 reserved_at_390[0x3];
878 u8 log_max_rqt_size[0x5]; 885 u8 log_max_rqt_size[0x5];
879 u8 reserved_at_397[0x3]; 886 u8 reserved_at_398[0x3];
880 u8 log_max_tis_per_sq[0x5]; 887 u8 log_max_tis_per_sq[0x5];
881 888
882 u8 reserved_at_39f[0x3]; 889 u8 reserved_at_3a0[0x3];
883 u8 log_max_stride_sz_rq[0x5]; 890 u8 log_max_stride_sz_rq[0x5];
884 u8 reserved_at_3a7[0x3]; 891 u8 reserved_at_3a8[0x3];
885 u8 log_min_stride_sz_rq[0x5]; 892 u8 log_min_stride_sz_rq[0x5];
886 u8 reserved_at_3af[0x3]; 893 u8 reserved_at_3b0[0x3];
887 u8 log_max_stride_sz_sq[0x5]; 894 u8 log_max_stride_sz_sq[0x5];
888 u8 reserved_at_3b7[0x3]; 895 u8 reserved_at_3b8[0x3];
889 u8 log_min_stride_sz_sq[0x5]; 896 u8 log_min_stride_sz_sq[0x5];
890 897
891 u8 reserved_at_3bf[0x1b]; 898 u8 reserved_at_3c0[0x1b];
892 u8 log_max_wq_sz[0x5]; 899 u8 log_max_wq_sz[0x5];
893 900
894 u8 nic_vport_change_event[0x1]; 901 u8 nic_vport_change_event[0x1];
895 u8 reserved_at_3e0[0xa]; 902 u8 reserved_at_3e1[0xa];
896 u8 log_max_vlan_list[0x5]; 903 u8 log_max_vlan_list[0x5];
897 u8 reserved_at_3ef[0x3]; 904 u8 reserved_at_3f0[0x3];
898 u8 log_max_current_mc_list[0x5]; 905 u8 log_max_current_mc_list[0x5];
899 u8 reserved_at_3f7[0x3]; 906 u8 reserved_at_3f8[0x3];
900 u8 log_max_current_uc_list[0x5]; 907 u8 log_max_current_uc_list[0x5];
901 908
902 u8 reserved_at_3ff[0x80]; 909 u8 reserved_at_400[0x80];
903 910
904 u8 reserved_at_47f[0x3]; 911 u8 reserved_at_480[0x3];
905 u8 log_max_l2_table[0x5]; 912 u8 log_max_l2_table[0x5];
906 u8 reserved_at_487[0x8]; 913 u8 reserved_at_488[0x8];
907 u8 log_uar_page_sz[0x10]; 914 u8 log_uar_page_sz[0x10];
908 915
909 u8 reserved_at_49f[0x20]; 916 u8 reserved_at_4a0[0x20];
910 u8 device_frequency_mhz[0x20]; 917 u8 device_frequency_mhz[0x20];
911 u8 device_frequency_khz[0x20]; 918 u8 device_frequency_khz[0x20];
912 u8 reserved_at_4ff[0x5f];
913 u8 cqe_zip[0x1];
914 919
915 u8 cqe_zip_timeout[0x10]; 920 u8 reserved_at_500[0x80];
916 u8 cqe_zip_max_num[0x10];
917 921
918 u8 reserved_at_57f[0x220]; 922 u8 reserved_at_580[0x3f];
923 u8 cqe_compression[0x1];
924
925 u8 cqe_compression_timeout[0x10];
926 u8 cqe_compression_max_num[0x10];
927
928 u8 reserved_at_5e0[0x220];
919}; 929};
920 930
921enum mlx5_flow_destination_type { 931enum mlx5_flow_destination_type {
@@ -997,7 +1007,13 @@ struct mlx5_ifc_wq_bits {
997 u8 reserved_at_118[0x3]; 1007 u8 reserved_at_118[0x3];
998 u8 log_wq_sz[0x5]; 1008 u8 log_wq_sz[0x5];
999 1009
1000 u8 reserved_at_120[0x4e0]; 1010 u8 reserved_at_120[0x15];
1011 u8 log_wqe_num_of_strides[0x3];
1012 u8 two_byte_shift_en[0x1];
1013 u8 reserved_at_139[0x4];
1014 u8 log_wqe_stride_size[0x3];
1015
1016 u8 reserved_at_140[0x4c0];
1001 1017
1002 struct mlx5_ifc_cmd_pas_bits pas[0]; 1018 struct mlx5_ifc_cmd_pas_bits pas[0];
1003}; 1019};
@@ -2196,7 +2212,8 @@ struct mlx5_ifc_sqc_bits {
2196 u8 flush_in_error_en[0x1]; 2212 u8 flush_in_error_en[0x1];
2197 u8 reserved_at_4[0x4]; 2213 u8 reserved_at_4[0x4];
2198 u8 state[0x4]; 2214 u8 state[0x4];
2199 u8 reserved_at_c[0x14]; 2215 u8 reg_umr[0x1];
2216 u8 reserved_at_d[0x13];
2200 2217
2201 u8 reserved_at_20[0x8]; 2218 u8 reserved_at_20[0x8];
2202 u8 user_index[0x18]; 2219 u8 user_index[0x18];
@@ -2244,7 +2261,8 @@ enum {
2244 2261
2245struct mlx5_ifc_rqc_bits { 2262struct mlx5_ifc_rqc_bits {
2246 u8 rlky[0x1]; 2263 u8 rlky[0x1];
2247 u8 reserved_at_1[0x2]; 2264 u8 reserved_at_1[0x1];
2265 u8 scatter_fcs[0x1];
2248 u8 vsd[0x1]; 2266 u8 vsd[0x1];
2249 u8 mem_rq_type[0x4]; 2267 u8 mem_rq_type[0x4];
2250 u8 state[0x4]; 2268 u8 state[0x4];
@@ -2601,6 +2619,11 @@ enum {
2601 MLX5_CQC_ST_FIRED = 0xa, 2619 MLX5_CQC_ST_FIRED = 0xa,
2602}; 2620};
2603 2621
2622enum {
2623 MLX5_CQ_PERIOD_MODE_START_FROM_EQE = 0x0,
2624 MLX5_CQ_PERIOD_MODE_START_FROM_CQE = 0x1,
2625};
2626
2604struct mlx5_ifc_cqc_bits { 2627struct mlx5_ifc_cqc_bits {
2605 u8 status[0x4]; 2628 u8 status[0x4];
2606 u8 reserved_at_4[0x4]; 2629 u8 reserved_at_4[0x4];
@@ -2609,8 +2632,8 @@ struct mlx5_ifc_cqc_bits {
2609 u8 reserved_at_c[0x1]; 2632 u8 reserved_at_c[0x1];
2610 u8 scqe_break_moderation_en[0x1]; 2633 u8 scqe_break_moderation_en[0x1];
2611 u8 oi[0x1]; 2634 u8 oi[0x1];
2612 u8 reserved_at_f[0x2]; 2635 u8 cq_period_mode[0x2];
2613 u8 cqe_zip_en[0x1]; 2636 u8 cqe_comp_en[0x1];
2614 u8 mini_cqe_res_format[0x2]; 2637 u8 mini_cqe_res_format[0x2];
2615 u8 st[0x4]; 2638 u8 st[0x4];
2616 u8 reserved_at_18[0x8]; 2639 u8 reserved_at_18[0x8];
@@ -2984,7 +3007,11 @@ struct mlx5_ifc_set_fte_in_bits {
2984 u8 reserved_at_20[0x10]; 3007 u8 reserved_at_20[0x10];
2985 u8 op_mod[0x10]; 3008 u8 op_mod[0x10];
2986 3009
2987 u8 reserved_at_40[0x40]; 3010 u8 other_vport[0x1];
3011 u8 reserved_at_41[0xf];
3012 u8 vport_number[0x10];
3013
3014 u8 reserved_at_60[0x20];
2988 3015
2989 u8 table_type[0x8]; 3016 u8 table_type[0x8];
2990 u8 reserved_at_88[0x18]; 3017 u8 reserved_at_88[0x18];
@@ -5178,7 +5205,11 @@ struct mlx5_ifc_destroy_flow_table_in_bits {
5178 u8 reserved_at_20[0x10]; 5205 u8 reserved_at_20[0x10];
5179 u8 op_mod[0x10]; 5206 u8 op_mod[0x10];
5180 5207
5181 u8 reserved_at_40[0x40]; 5208 u8 other_vport[0x1];
5209 u8 reserved_at_41[0xf];
5210 u8 vport_number[0x10];
5211
5212 u8 reserved_at_60[0x20];
5182 5213
5183 u8 table_type[0x8]; 5214 u8 table_type[0x8];
5184 u8 reserved_at_88[0x18]; 5215 u8 reserved_at_88[0x18];
@@ -5205,7 +5236,11 @@ struct mlx5_ifc_destroy_flow_group_in_bits {
5205 u8 reserved_at_20[0x10]; 5236 u8 reserved_at_20[0x10];
5206 u8 op_mod[0x10]; 5237 u8 op_mod[0x10];
5207 5238
5208 u8 reserved_at_40[0x40]; 5239 u8 other_vport[0x1];
5240 u8 reserved_at_41[0xf];
5241 u8 vport_number[0x10];
5242
5243 u8 reserved_at_60[0x20];
5209 5244
5210 u8 table_type[0x8]; 5245 u8 table_type[0x8];
5211 u8 reserved_at_88[0x18]; 5246 u8 reserved_at_88[0x18];
@@ -5346,7 +5381,11 @@ struct mlx5_ifc_delete_fte_in_bits {
5346 u8 reserved_at_20[0x10]; 5381 u8 reserved_at_20[0x10];
5347 u8 op_mod[0x10]; 5382 u8 op_mod[0x10];
5348 5383
5349 u8 reserved_at_40[0x40]; 5384 u8 other_vport[0x1];
5385 u8 reserved_at_41[0xf];
5386 u8 vport_number[0x10];
5387
5388 u8 reserved_at_60[0x20];
5350 5389
5351 u8 table_type[0x8]; 5390 u8 table_type[0x8];
5352 u8 reserved_at_88[0x18]; 5391 u8 reserved_at_88[0x18];
@@ -5792,7 +5831,11 @@ struct mlx5_ifc_create_flow_table_in_bits {
5792 u8 reserved_at_20[0x10]; 5831 u8 reserved_at_20[0x10];
5793 u8 op_mod[0x10]; 5832 u8 op_mod[0x10];
5794 5833
5795 u8 reserved_at_40[0x40]; 5834 u8 other_vport[0x1];
5835 u8 reserved_at_41[0xf];
5836 u8 vport_number[0x10];
5837
5838 u8 reserved_at_60[0x20];
5796 5839
5797 u8 table_type[0x8]; 5840 u8 table_type[0x8];
5798 u8 reserved_at_88[0x18]; 5841 u8 reserved_at_88[0x18];
@@ -5836,7 +5879,11 @@ struct mlx5_ifc_create_flow_group_in_bits {
5836 u8 reserved_at_20[0x10]; 5879 u8 reserved_at_20[0x10];
5837 u8 op_mod[0x10]; 5880 u8 op_mod[0x10];
5838 5881
5839 u8 reserved_at_40[0x40]; 5882 u8 other_vport[0x1];
5883 u8 reserved_at_41[0xf];
5884 u8 vport_number[0x10];
5885
5886 u8 reserved_at_60[0x20];
5840 5887
5841 u8 table_type[0x8]; 5888 u8 table_type[0x8];
5842 u8 reserved_at_88[0x18]; 5889 u8 reserved_at_88[0x18];
@@ -6369,6 +6416,17 @@ struct mlx5_ifc_ptys_reg_bits {
6369 u8 reserved_at_1a0[0x60]; 6416 u8 reserved_at_1a0[0x60];
6370}; 6417};
6371 6418
6419struct mlx5_ifc_mlcr_reg_bits {
6420 u8 reserved_at_0[0x8];
6421 u8 local_port[0x8];
6422 u8 reserved_at_10[0x20];
6423
6424 u8 beacon_duration[0x10];
6425 u8 reserved_at_40[0x10];
6426
6427 u8 beacon_remain[0x10];
6428};
6429
6372struct mlx5_ifc_ptas_reg_bits { 6430struct mlx5_ifc_ptas_reg_bits {
6373 u8 reserved_at_0[0x20]; 6431 u8 reserved_at_0[0x20];
6374 6432
@@ -6778,6 +6836,16 @@ struct mlx5_ifc_pamp_reg_bits {
6778 u8 index_data[18][0x10]; 6836 u8 index_data[18][0x10];
6779}; 6837};
6780 6838
6839struct mlx5_ifc_pcmr_reg_bits {
6840 u8 reserved_at_0[0x8];
6841 u8 local_port[0x8];
6842 u8 reserved_at_10[0x2e];
6843 u8 fcs_cap[0x1];
6844 u8 reserved_at_3f[0x1f];
6845 u8 fcs_chk[0x1];
6846 u8 reserved_at_5f[0x1];
6847};
6848
6781struct mlx5_ifc_lane_2_module_mapping_bits { 6849struct mlx5_ifc_lane_2_module_mapping_bits {
6782 u8 reserved_at_0[0x6]; 6850 u8 reserved_at_0[0x6];
6783 u8 rx_lane[0x2]; 6851 u8 rx_lane[0x2];
@@ -7114,6 +7182,7 @@ union mlx5_ifc_ports_control_registers_document_bits {
7114 struct mlx5_ifc_pspa_reg_bits pspa_reg; 7182 struct mlx5_ifc_pspa_reg_bits pspa_reg;
7115 struct mlx5_ifc_ptas_reg_bits ptas_reg; 7183 struct mlx5_ifc_ptas_reg_bits ptas_reg;
7116 struct mlx5_ifc_ptys_reg_bits ptys_reg; 7184 struct mlx5_ifc_ptys_reg_bits ptys_reg;
7185 struct mlx5_ifc_mlcr_reg_bits mlcr_reg;
7117 struct mlx5_ifc_pude_reg_bits pude_reg; 7186 struct mlx5_ifc_pude_reg_bits pude_reg;
7118 struct mlx5_ifc_pvlc_reg_bits pvlc_reg; 7187 struct mlx5_ifc_pvlc_reg_bits pvlc_reg;
7119 struct mlx5_ifc_slrg_reg_bits slrg_reg; 7188 struct mlx5_ifc_slrg_reg_bits slrg_reg;
@@ -7147,7 +7216,11 @@ struct mlx5_ifc_set_flow_table_root_in_bits {
7147 u8 reserved_at_20[0x10]; 7216 u8 reserved_at_20[0x10];
7148 u8 op_mod[0x10]; 7217 u8 op_mod[0x10];
7149 7218
7150 u8 reserved_at_40[0x40]; 7219 u8 other_vport[0x1];
7220 u8 reserved_at_41[0xf];
7221 u8 vport_number[0x10];
7222
7223 u8 reserved_at_60[0x20];
7151 7224
7152 u8 table_type[0x8]; 7225 u8 table_type[0x8];
7153 u8 reserved_at_88[0x18]; 7226 u8 reserved_at_88[0x18];
@@ -7178,7 +7251,9 @@ struct mlx5_ifc_modify_flow_table_in_bits {
7178 u8 reserved_at_20[0x10]; 7251 u8 reserved_at_20[0x10];
7179 u8 op_mod[0x10]; 7252 u8 op_mod[0x10];
7180 7253
7181 u8 reserved_at_40[0x20]; 7254 u8 other_vport[0x1];
7255 u8 reserved_at_41[0xf];
7256 u8 vport_number[0x10];
7182 7257
7183 u8 reserved_at_60[0x10]; 7258 u8 reserved_at_60[0x10];
7184 u8 modify_field_select[0x10]; 7259 u8 modify_field_select[0x10];
@@ -7244,4 +7319,34 @@ struct mlx5_ifc_qtct_reg_bits {
7244 u8 tclass[0x3]; 7319 u8 tclass[0x3];
7245}; 7320};
7246 7321
7322struct mlx5_ifc_mcia_reg_bits {
7323 u8 l[0x1];
7324 u8 reserved_at_1[0x7];
7325 u8 module[0x8];
7326 u8 reserved_at_10[0x8];
7327 u8 status[0x8];
7328
7329 u8 i2c_device_address[0x8];
7330 u8 page_number[0x8];
7331 u8 device_address[0x10];
7332
7333 u8 reserved_at_40[0x10];
7334 u8 size[0x10];
7335
7336 u8 reserved_at_60[0x20];
7337
7338 u8 dword_0[0x20];
7339 u8 dword_1[0x20];
7340 u8 dword_2[0x20];
7341 u8 dword_3[0x20];
7342 u8 dword_4[0x20];
7343 u8 dword_5[0x20];
7344 u8 dword_6[0x20];
7345 u8 dword_7[0x20];
7346 u8 dword_8[0x20];
7347 u8 dword_9[0x20];
7348 u8 dword_10[0x20];
7349 u8 dword_11[0x20];
7350};
7351
7247#endif /* MLX5_IFC_H */ 7352#endif /* MLX5_IFC_H */