Lines Matching refs:rx_monitor
8026 * lpfc_rx_monitor_create_ring - Initialize ring buffer for rx_monitor
8027 * @rx_monitor: Pointer to lpfc_rx_info_monitor object
8034 int lpfc_rx_monitor_create_ring(struct lpfc_rx_info_monitor *rx_monitor,
8037 rx_monitor->ring = kmalloc_array(entries, sizeof(struct rx_info_entry),
8039 if (!rx_monitor->ring)
8042 rx_monitor->head_idx = 0;
8043 rx_monitor->tail_idx = 0;
8044 spin_lock_init(&rx_monitor->lock);
8045 rx_monitor->entries = entries;
8051 * lpfc_rx_monitor_destroy_ring - Free ring buffer for rx_monitor
8052 * @rx_monitor: Pointer to lpfc_rx_info_monitor object
8056 void lpfc_rx_monitor_destroy_ring(struct lpfc_rx_info_monitor *rx_monitor)
8058 kfree(rx_monitor->ring);
8059 rx_monitor->ring = NULL;
8060 rx_monitor->entries = 0;
8061 rx_monitor->head_idx = 0;
8062 rx_monitor->tail_idx = 0;
8066 * lpfc_rx_monitor_record - Insert an entry into rx_monitor's ring
8067 * @rx_monitor: Pointer to lpfc_rx_info_monitor object
8070 * Used to insert an rx_info_entry into rx_monitor's ring. Note that this is a
8077 void lpfc_rx_monitor_record(struct lpfc_rx_info_monitor *rx_monitor,
8080 struct rx_info_entry *ring = rx_monitor->ring;
8081 u32 *head_idx = &rx_monitor->head_idx;
8082 u32 *tail_idx = &rx_monitor->tail_idx;
8083 spinlock_t *ring_lock = &rx_monitor->lock;
8084 u32 ring_size = rx_monitor->entries;
8098 * lpfc_rx_monitor_report - Read out rx_monitor's ring
8100 * @rx_monitor: Pointer to lpfc_rx_info_monitor object
8105 * Used to dump/read what's in rx_monitor's ring buffer.
8114 struct lpfc_rx_info_monitor *rx_monitor, char *buf,
8117 struct rx_info_entry *ring = rx_monitor->ring;
8119 u32 *head_idx = &rx_monitor->head_idx;
8120 u32 *tail_idx = &rx_monitor->tail_idx;
8121 spinlock_t *ring_lock = &rx_monitor->lock;
8122 u32 ring_size = rx_monitor->entries;
8366 if (!phba->rx_monitor) {
8367 phba->rx_monitor = kzalloc(sizeof(*phba->rx_monitor),
8370 if (!phba->rx_monitor) {
8377 /* Instruct the rx_monitor object to instantiate its ring */
8378 if (lpfc_rx_monitor_create_ring(phba->rx_monitor,
8380 kfree(phba->rx_monitor);
8381 phba->rx_monitor = NULL;