Lines Matching refs:port_counter
37 struct rdma_port_counter *port_counter; in rdma_counter_set_auto_mode() local
40 port_counter = &dev->port_data[port].port_counter; in rdma_counter_set_auto_mode()
41 if (!port_counter->hstats) in rdma_counter_set_auto_mode()
44 mutex_lock(&port_counter->lock); in rdma_counter_set_auto_mode()
46 ret = __counter_set_mode(&port_counter->mode, in rdma_counter_set_auto_mode()
49 if (port_counter->mode.mode != RDMA_COUNTER_MODE_AUTO) { in rdma_counter_set_auto_mode()
54 if (port_counter->num_counters) in rdma_counter_set_auto_mode()
55 ret = __counter_set_mode(&port_counter->mode, in rdma_counter_set_auto_mode()
58 ret = __counter_set_mode(&port_counter->mode, in rdma_counter_set_auto_mode()
63 mutex_unlock(&port_counter->lock); in rdma_counter_set_auto_mode()
70 struct rdma_port_counter *port_counter; in rdma_counter_alloc() local
88 port_counter = &dev->port_data[port].port_counter; in rdma_counter_alloc()
89 mutex_lock(&port_counter->lock); in rdma_counter_alloc()
91 ret = __counter_set_mode(&port_counter->mode, in rdma_counter_alloc()
97 port_counter->num_counters++; in rdma_counter_alloc()
98 mutex_unlock(&port_counter->lock); in rdma_counter_alloc()
107 mutex_unlock(&port_counter->lock); in rdma_counter_alloc()
116 struct rdma_port_counter *port_counter; in rdma_counter_free() local
118 port_counter = &counter->device->port_data[counter->port].port_counter; in rdma_counter_free()
119 mutex_lock(&port_counter->lock); in rdma_counter_free()
120 port_counter->num_counters--; in rdma_counter_free()
121 if (!port_counter->num_counters && in rdma_counter_free()
122 (port_counter->mode.mode == RDMA_COUNTER_MODE_MANUAL)) in rdma_counter_free()
123 __counter_set_mode(&port_counter->mode, RDMA_COUNTER_MODE_NONE, in rdma_counter_free()
126 mutex_unlock(&port_counter->lock); in rdma_counter_free()
201 struct rdma_port_counter *port_counter; in counter_history_stat_update() local
204 port_counter = &dev->port_data[counter->port].port_counter; in counter_history_stat_update()
205 if (!port_counter->hstats) in counter_history_stat_update()
209 port_counter->hstats->value[i] += counter->stats->value[i]; in counter_history_stat_update()
221 struct rdma_port_counter *port_counter; in rdma_get_counter_auto_mode() local
228 port_counter = &dev->port_data[port].port_counter; in rdma_get_counter_auto_mode()
239 if (auto_mode_match(qp, counter, port_counter->mode.mask)) in rdma_get_counter_auto_mode()
280 struct rdma_port_counter *port_counter; in rdma_counter_bind_qp_auto() local
288 port_counter = &dev->port_data[port].port_counter; in rdma_counter_bind_qp_auto()
289 if (port_counter->mode.mode != RDMA_COUNTER_MODE_AUTO) in rdma_counter_bind_qp_auto()
304 auto_mode_init_counter(counter, qp, port_counter->mode.mask); in rdma_counter_bind_qp_auto()
393 struct rdma_port_counter *port_counter; in rdma_counter_get_hwstat_value() local
396 port_counter = &dev->port_data[port].port_counter; in rdma_counter_get_hwstat_value()
397 if (!port_counter->hstats) in rdma_counter_get_hwstat_value()
401 sum += port_counter->hstats->value[index]; in rdma_counter_get_hwstat_value()
513 if (!dev->port_data[port].port_counter.hstats) in rdma_counter_bind_qpn_alloc()
556 struct rdma_port_counter *port_counter; in rdma_counter_unbind_qpn() local
572 port_counter = &dev->port_data[port].port_counter; in rdma_counter_unbind_qpn()
574 port_counter->mode.mode != RDMA_COUNTER_MODE_MANUAL) { in rdma_counter_unbind_qpn()
590 struct rdma_port_counter *port_counter; in rdma_counter_get_mode() local
592 port_counter = &dev->port_data[port].port_counter; in rdma_counter_get_mode()
593 *mode = port_counter->mode.mode; in rdma_counter_get_mode()
594 *mask = port_counter->mode.mask; in rdma_counter_get_mode()
601 struct rdma_port_counter *port_counter; in rdma_counter_init() local
608 port_counter = &dev->port_data[port].port_counter; in rdma_counter_init()
609 port_counter->mode.mode = RDMA_COUNTER_MODE_NONE; in rdma_counter_init()
610 mutex_init(&port_counter->lock); in rdma_counter_init()
615 port_counter->hstats = dev->ops.alloc_hw_stats(dev, port); in rdma_counter_init()
616 if (!port_counter->hstats) in rdma_counter_init()
624 port_counter = &dev->port_data[port].port_counter; in rdma_counter_init()
625 kfree(port_counter->hstats); in rdma_counter_init()
626 port_counter->hstats = NULL; in rdma_counter_init()
627 mutex_destroy(&port_counter->lock); in rdma_counter_init()
633 struct rdma_port_counter *port_counter; in rdma_counter_release() local
637 port_counter = &dev->port_data[port].port_counter; in rdma_counter_release()
638 kfree(port_counter->hstats); in rdma_counter_release()
639 mutex_destroy(&port_counter->lock); in rdma_counter_release()