Lines Matching refs:mcounters

98 	struct mlx5_ib_mcounters *mcounters = to_mcounters(counters);  in mlx5_ib_read_counters()  local
103 mutex_lock(&mcounters->mcntrs_mutex); in mlx5_ib_read_counters()
104 if (mcounters->cntrs_max_index > read_attr->ncounters) { in mlx5_ib_read_counters()
109 mread_attr.out = kcalloc(mcounters->counters_num, sizeof(u64), in mlx5_ib_read_counters()
116 mread_attr.hw_cntrs_hndl = mcounters->hw_cntrs_hndl; in mlx5_ib_read_counters()
118 ret = mcounters->read_counters(counters->device, &mread_attr); in mlx5_ib_read_counters()
125 desc = mcounters->counters_data; in mlx5_ib_read_counters()
126 for (i = 0; i < mcounters->ncounters; i++) in mlx5_ib_read_counters()
132 mutex_unlock(&mcounters->mcntrs_mutex); in mlx5_ib_read_counters()
138 struct mlx5_ib_mcounters *mcounters = to_mcounters(counters); in mlx5_ib_destroy_counters() local
141 if (mcounters->hw_cntrs_hndl) in mlx5_ib_destroy_counters()
143 mcounters->hw_cntrs_hndl); in mlx5_ib_destroy_counters()
150 struct mlx5_ib_mcounters *mcounters = to_mcounters(counters); in mlx5_ib_create_counters() local
152 mutex_init(&mcounters->mcntrs_mutex); in mlx5_ib_create_counters()
713 struct mlx5_ib_mcounters *mcounters = to_mcounters(counters); in counters_set_description() local
721 mcounters->type = counters_type; in counters_set_description()
722 mcounters->read_counters = read_flow_counters; in counters_set_description()
723 mcounters->counters_num = FLOW_COUNTERS_NUM; in counters_set_description()
724 mcounters->ncounters = ncounters; in counters_set_description()
734 mutex_lock(&mcounters->mcntrs_mutex); in counters_set_description()
735 mcounters->counters_data = desc_data; in counters_set_description()
736 mcounters->cntrs_max_index = cntrs_max_index; in counters_set_description()
737 mutex_unlock(&mcounters->mcntrs_mutex); in counters_set_description()
746 struct mlx5_ib_mcounters *mcounters = to_mcounters(ibcounters); in mlx5_ib_flow_counters_set_data() local
771 if (!mcounters->hw_cntrs_hndl) { in mlx5_ib_flow_counters_set_data()
772 mcounters->hw_cntrs_hndl = mlx5_fc_create( in mlx5_ib_flow_counters_set_data()
774 if (IS_ERR(mcounters->hw_cntrs_hndl)) { in mlx5_ib_flow_counters_set_data()
775 ret = PTR_ERR(mcounters->hw_cntrs_hndl); in mlx5_ib_flow_counters_set_data()
783 if (mcounters->cntrs_max_index) { in mlx5_ib_flow_counters_set_data()
795 } else if (!mcounters->cntrs_max_index) { in mlx5_ib_flow_counters_set_data()
806 mcounters->hw_cntrs_hndl); in mlx5_ib_flow_counters_set_data()
807 mcounters->hw_cntrs_hndl = NULL; in mlx5_ib_flow_counters_set_data()
816 struct mlx5_ib_mcounters *mcounters; in mlx5_ib_counters_clear_description() local
821 mcounters = to_mcounters(counters); in mlx5_ib_counters_clear_description()
823 mutex_lock(&mcounters->mcntrs_mutex); in mlx5_ib_counters_clear_description()
824 kfree(mcounters->counters_data); in mlx5_ib_counters_clear_description()
825 mcounters->counters_data = NULL; in mlx5_ib_counters_clear_description()
826 mcounters->cntrs_max_index = 0; in mlx5_ib_counters_clear_description()
827 mutex_unlock(&mcounters->mcntrs_mutex); in mlx5_ib_counters_clear_description()