Lines Matching defs:ring
257 * the @q. This function will then ring the Work Queue Doorbell to signal the
374 * the @q. This function will then ring the Work Queue Doorbell to signal the
523 /* ring doorbell for number popped */
561 /* ring doorbell for number popped */
743 /* ring doorbell for number popped */
776 /* ring doorbell for number popped */
789 * the @q. This function will then ring the Receive Queue Doorbell to signal the
873 * lpfc_cmd_iocb - Get next command iocb entry in the ring
875 * @pring: Pointer to driver SLI ring object.
878 * in the command ring. The caller must hold hbalock to prevent
890 * lpfc_resp_iocb - Get next response iocb entry in the ring
892 * @pring: Pointer to driver SLI ring object.
895 * in the response ring. The caller must hold hbalock to make sure
1238 * The driver calls this function with either the nvme ls ring lock
1239 * or the fc els ring lock held depending on the iocb usage. This function
1550 * This function is called by ring event handler function to get the iocb type.
1667 * to configure every ring of the HBA's SLI interface. The
1669 * a config_ring mailbox command for each ring.
1693 "ring %d\n",
1708 * @pring: Pointer to driver SLI ring object.
1712 * the ring lock held for SLI4 ports. The function adds the
1713 * new iocb to txcmplq of the given ring. This function always returns
1714 * 0. If this function is called for ELS ring, this function checks if
1747 * @pring: Pointer to driver SLI ring object.
1750 * iocb in txq of the given ring. If there is any iocb in
2040 * lpfc_sli_next_iocb_slot - Get next iocb slot in the ring
2042 * @pring: Pointer to driver SLI ring object.
2048 * is available slot in the ring, else it returns NULL.
2049 * If the get index of the ring is ahead of the put index, the function
2073 "is bigger than cmd ring %d\n",
2176 * @pring: Pointer to driver SLI ring object.
2177 * @iocb: Pointer to iocb slot in the ring.
2182 * function copies the new iocb to ring iocb slot and updates the
2183 * ring pointers. It adds the new iocb to txcmplq if there is
2200 "IOCB cmd ring: wd4:x%08x wd6:x%08x wd7:x%08x",
2216 * that have no rsp ring completion, cmd_cmpl MUST be NULL.
2234 * @pring: Pointer to driver SLI ring object.
2237 * This function updates the chip attention bits for the ring to inform firmware
2238 * that there are pending work to be done for this ring and requests an
2239 * interrupt when there is space available in the ring. This function is
2240 * called when the driver is unable to post more iocbs to the ring due
2241 * to unavailability of space in the ring.
2253 * Set ring 'ringno' to SET R0CE_REQ in Chip Att register.
2265 * @pring: Pointer to driver SLI ring object.
2268 * given ring to inform HBA that there is more work to be done
2269 * in this ring. The caller is not required to hold any lock.
2277 * Tell the HBA that there is work to do in this ring.
2289 * @pring: Pointer to driver SLI ring object.
2293 * detects space available in the ring.
2307 * (c) link attention events can be processed (fcp ring only)
3174 * @pring: Pointer to driver SLI ring object.
3339 * @pring: Pointer to driver SLI ring object.
3437 * @pring: Pointer to driver SLI ring object.
3440 * This function is called with no lock held by the ring event handler
3441 * when there is an unsolicited iocb posted to the response ring by the
3443 * and calls the event handler for the ring. This function handles both
3641 * @pring: Pointer to driver SLI ring object.
3647 * for SLI3 ports or the ring lock held for SLI4 ports.
3685 * @pring: Pointer to driver SLI ring object.
3690 * the ring lock held because this function is an SLI4 port only helper.
3722 * @pring: Pointer to driver SLI ring object.
3725 * This function is called by the ring event handler for non-fcp
3726 * rings when there is a new response iocb in the response ring.
3863 * This could be the case on the ELS ring because of
3884 * lpfc_sli_rsp_pointers_error - Response ring pointer error handler
3886 * @pring: Pointer to driver SLI ring object.
3888 * This function is called from the iocb ring event handlers when
3889 * put pointer is ahead of the get pointer for a ring. This function signal
3899 * rsp ring <portRspMax>
3903 "is bigger than rsp ring %d\n",
3972 * lpfc_sli_handle_fast_ring_event - Handle ring events on FCP ring
3974 * @pring: Pointer to driver SLI ring object.
3975 * @mask: Host attention register mask for this ring.
3977 * This function is called from the interrupt context when there is a ring
3978 * event for the fcp ring. The caller does not hold any lock.
3979 * The function processes each response iocb in the response ring until it
4027 * Fetch an entry off the ring and copy it into a local data
4060 /* Rsp ring <ringno> error: IOCB */
4131 * The response IOCB has been processed. Update the ring
4170 * @pring: Pointer to driver SLI ring object.
4232 /* Rsp ring <ringno> error: IOCB */
4275 * routine. Solicited and Unsolicited IOCBs on the ELS ring
4350 * @pring: Pointer to driver SLI ring object.
4351 * @mask: Host attention register mask for this ring.
4364 * lpfc_sli_handle_slow_ring_event_s3 - Handle SLI3 ring event for non-FCP rings
4366 * @pring: Pointer to driver SLI ring object.
4367 * @mask: Host attention register mask for this ring.
4369 * This function is called from the worker thread when there is a ring event
4371 * remove each response iocb in the response ring and calls the handle
4399 * rsp ring <portRspMax>
4403 "is bigger than rsp ring %d\n",
4423 * iocb's in the ring available to DMA as fast as possible but
4449 "IOCB rsp ring: wd4:x%08x wd6:x%08x wd7:x%08x",
4501 * @pring: Pointer to driver SLI ring object.
4502 * @mask: Host attention register mask for this ring.
4560 * lpfc_sli_abort_iocb_ring - Abort all iocbs in the ring
4562 * @pring: Pointer to driver SLI ring object.
4564 * This function aborts all iocbs in the given ring and frees all the iocb
4660 * lpfc_sli_flush_io_rings - flush all iocbs in the IO ring
4663 * This function flushes all iocbs in the IO ring and frees all the iocb
5066 * register. After the HBA resets, this function resets all the iocb ring
5504 mbxStatus <status>, ring <num> */
8026 * lpfc_rx_monitor_create_ring - Initialize ring buffer for rx_monitor
8028 * @entries: Number of rx_info_entry objects to allocate in ring
8037 rx_monitor->ring = kmalloc_array(entries, sizeof(struct rx_info_entry),
8039 if (!rx_monitor->ring)
8051 * lpfc_rx_monitor_destroy_ring - Free ring buffer for rx_monitor
8058 kfree(rx_monitor->ring);
8059 rx_monitor->ring = NULL;
8066 * lpfc_rx_monitor_record - Insert an entry into rx_monitor's ring
8070 * Used to insert an rx_info_entry into rx_monitor's ring. Note that this is a
8080 struct rx_info_entry *ring = rx_monitor->ring;
8087 memcpy(&ring[*tail_idx], entry, sizeof(*entry));
8098 * lpfc_rx_monitor_report - Read out rx_monitor's ring
8103 * @max_read_entries: Maximum number of entries to read out of ring
8105 * Used to dump/read what's in rx_monitor's ring buffer.
8111 * Number of entries read out of the ring
8117 struct rx_info_entry *ring = rx_monitor->ring;
8144 entry = &ring[*head_idx];
8377 /* Instruct the rx_monitor object to instantiate its ring */
10344 * @pring: Pointer to driver SLI ring object.
10348 * the ring lock held for SLI4 ports to add a command
10350 * to the ring.
10367 * @pring: Pointer to driver SLI ring object.
10401 * @ring_number: SLI ring number to issue iocb on.
10410 * next available slot in the command ring and posts the command to the
10412 * processing new iocb. If there is no slot available in the ring and
10471 * For IOCBs, like QUE_RING_BUF, that have no rsp ring
10524 * @ring_number: SLI ring number to issue wqe on.
10552 * @ring_number: SLI ring number to issue wqe on.
10631 * @ring_number: SLI ring number to issue iocb on.
10660 /* Get corresponding ring */
11211 * lpfc_sli4_calc_ring - Calculates which ring to use
11216 * hba_wqidx, thus we need to calculate the corresponding ring.
11320 * lpfc_extra_ring_setup - Extra ring setup function
11324 * HBA to setup the extra ring. The extra ring is used
11338 /* Adjust cmd/rsp ring iocb entries more evenly */
11340 /* Take some away from the FCP ring */
11347 /* and give them to the extra ring */
11355 /* Setup default profile for this ring */
11485 * @pring: Pointer to driver SLI ring object.
11488 * This function is called by the slow ring event handler
11489 * function when there is an ASYNC event iocb in the ring.
11557 * lpfc_sli4_setup - SLI ring setup function
11561 * number of iocbs per ring and iotags. This function is
11602 * lpfc_sli_setup - SLI ring setup function
11606 * number of iocbs per ring and iotags. This function is
11629 case LPFC_FCP_RING: /* ring 0 - FCP */
11653 case LPFC_EXTRA_RING: /* ring 1 - EXTRA */
11666 case LPFC_ELS_RING: /* ring 2 - ELS / CT */
11713 /* Too many cmd / rsp ring entries in SLI2 SLIM */
11714 printk(KERN_ERR "%d:0462 Too many cmd / rsp ring entries in "
11730 * ring. This function also initializes ring indices of each ring.
11786 * ring. This function also initializes ring indices of each ring.
12138 * @pring: Pointer to driver SLI ring object.
12186 * @pring: Pointer to driver SLI ring object.
12191 * iocb is posted to the response ring with the tag of the buffer.
12219 "ring %d Data x%lx x%px x%px x%x\n",
12229 * @pring: Pointer to driver SLI ring object.
12263 "ring %d Data x%llx x%px x%px x%x\n",
12276 * ELS commands. This function is called from the ELS ring event
12323 * The function is called from SLI ring event handler with no
12379 * @pring: Pointer to driver SLI ring object.
12385 * ring. Instead, the callback function shall be changed to those commands
12424 * If we're unloading, don't abort iocb on the ELS ring, but change
12715 * function is called by the ring event handler with no lock held.
12744 * associated with the given virtual port pending on the ring
12806 * @pring: Pointer to driver SLI ring object.
12812 * associated with the given virtual port pending on the ring
12977 * ring event handler function without any lock held. This function
13092 * the thread which process iocb completion for this ring.
13611 * the interrupt. The link attention and ELS ring attention events are
13722 * the only slow ring.
13733 "ISR slow ring: ctl:x%x stat:x%x isrcnt:x%x",
13739 "ISR Disable ring:"
13752 "ISR slow ring: pwork:"
13923 * ring event in the HBA. However, when the device is enabled with either
13927 * process the interrupt. The SCSI FCP fast-path ring event are handled in
13959 /* Need to read HA REG for FCP ring and other ring events */
13980 * Process all events on FCP ring. Take the optimized path for FCP IO.
13992 * Process all events on extra ring. Take the optimized path
13993 * for extra ring IO.
14090 /* status of events with ELS ring */
14103 /* status of events with FCP ring */
14107 /* status of events with extra ring */
15527 * ring event in the HBA. However, when the device is enabled with either
15531 * process the interrupt. The SCSI FCP fast-path ring event are handled in
15537 * The link attention and ELS ring attention events are handled