Lines Matching full:request

34  * __hwrm_req_init() - Initialize an HWRM request.
36 * @req: A pointer to the request pointer to initialize.
37 * @req_type: The request type. This will be converted to the little endian
38 * before being written to the req_type field of the returned request.
39 * @req_len: The length of the request to be allocated.
41 * Allocate DMA resources and initialize a new HWRM request object of the
42 * given type. The response address field in the request is configured with
44 * request is pointed to kernel virtual memory mapped for the request (such
46 * request’s target and completion ring are initialized to default values and
47 * can be overridden by writing to the returned request object directly.
49 * The initialized request can be further customized by writing to its fields
50 * directly, taking care to covert such fields to little endian. The request
52 * passing it to hwrm_req_send() unless ownership of the request has been
53 * claimed by the caller via a call to hwrm_req_hold(). If the request is not
58 * E2BIG: the type of request pointer is too large to fit.
88 /* initialize common request fields */ in __hwrm_req_init()
107 netdev_err(bp->dev, "null HWRM request"); in __hwrm_ctx()
126 * hwrm_req_timeout() - Set the completion timeout for the request.
128 * @req: The request to set the timeout.
131 * Set the timeout associated with the request for subsequent calls to
146 * @req: The request for which calls to hwrm_req_dma_slice() will have altered
151 * however, memory suballocated from the request buffer is already
154 * Sets the GFP allocation flags associated with the request for subsequent
167 * hwrm_req_replace() - Replace request data.
169 * @req: The request to modify. A call to hwrm_req_replace() is conceptually
172 * calls to HWRM API functions will fail if non-managed request objects
175 * @new_req: The pre-built request to copy or reference.
177 * Replaces the request data in req with that of new_req. This is useful in
178 * scenarios where a request object has already been constructed by a third
179 * party prior to creating a resource managed request using hwrm_req_init().
181 * request data into the DMA memory allocated for req, or it will simply
182 * reference the new request and use it in lieu of req during subsequent
186 * that may have been associated with the original request are released.
189 * E2BIG: Request is too large.
190 * EINVAL: Invalid request to modify.
224 /* update sentinel for potentially new request type */ in hwrm_req_replace()
234 * @req: The request containing the HWRM command
254 * hwrm_req_hold() - Claim ownership of the request's resources.
256 * @req: A pointer to the request to own. The request will no longer be
259 * Take ownership of the request. Ownership places responsibility on the
260 * caller to free the resources associated with the request via a call to
262 * call to hwrm_req_send() will not consume the request (ie. sending will
263 * not free the associated resources if the request is owned by the caller).
266 * of the request. Ownership can also be acquired in order to reuse the same
267 * request object across multiple invocations of hwrm_req_send().
272 * caller until ownership of the request is relinquished via a call to
274 * a valid request is provided. A returned NULL value would imply a driver
317 * hwrm_req_drop() - Release all resources associated with the request.
319 * @req: The request to consume, releasing the associated resources. The
320 * request object, any slices, and its associated response are no
323 * It is legal to call hwrm_req_drop() on an unowned request, provided it
325 * an aborted request). A given request should not be dropped more than once,
488 netdev_warn(bp->dev, "oversized hwrm request, req_type 0x%x", in __hwrm_send()
530 /* Write request msg to hwrm channel */ in __hwrm_send()
698 * @req: A pointer to the request to send. The DMA resources associated with
699 * the request will be released (ie. the request will be consumed) unless
700 * ownership of the request has been assumed by the caller via a call to
703 * Send an HWRM request to the device and wait for a response. The request is
705 * the request has either completed or times out due to an error.
711 * E2BIG: The request was too large.
712 * EBUSY: The firmware is in a fatal state or the request timed out
715 * EINVAL: Request parameters are invalid.
718 * EOPNOTSUPP: Invalid request type.
720 * Error handling is orthogonal to request ownership. An unowned request will
721 * still be consumed on error. If the caller owns the request, then the caller
723 * always consume the request.
738 * @req: The request to send without logging.
740 * The same as hwrm_req_send(), except that the request is silenced using
755 * @req: The request for which indirect data will be associated.
758 * no knowledge about the type of the request and so cannot infer how the
760 * responsible for configuring the request object appropriately to
766 * Allocates DMA mapped memory for indirect data related to a request. The
767 * lifetime of the DMA resources will be bound to that of the request (ie.
768 * they will be automatically released when the request is either consumed by
770 * efficiently suballocated out of the request buffer space, hence the name