Lines Matching defs:command
41 * 3. Notify consumer. If SW is producer, it rings the doorbell for command
51 * updates event ring dequeue pointer. HC is the consumer for the command and
276 /* Ring the host controller doorbell after placing a command on the ring */
303 * Turn all commands on command ring with status set to "aborted" to no-op trbs.
305 * This must be called with command ring stopped and xhci->lock held.
320 xhci_dbg(xhci, "Turn aborted command %p to no-op\n",
326 * caller waiting for completion is called when command
333 /* ring command ring doorbell to restart the command ring */
350 xhci_dbg(xhci, "Abort command ring\n");
355 * The control bits like command stop, abort are located in lower
356 * dword of the command ring control register.
358 * Make sure the upper dword is valid, pointing to the next command,
359 * avoiding corrupting the command ring pointer in case the command ring
378 xhci_err(xhci, "Abort failed to stop command ring: %d\n", ret);
414 * pointer command pending because the device can choose to start any
825 struct xhci_command *command;
828 command = xhci_alloc_command(xhci, false, GFP_ATOMIC);
829 if (!command) {
834 ret = xhci_queue_reset_ep(xhci, command, slot_id, ep_index, reset_type);
875 * Stop Endpoint command completes.
924 * When we get a command completion for a Stop Endpoint Command, we need to
947 xhci_warn(xhci, "Stop endpoint command "
977 /* If necessary, queue a Set Transfer Ring Dequeue Pointer command */
1118 /* Watchdog timer function for when a stop endpoint command fails to complete.
1125 * command, and the stop endpoint command completion handler cannot delete the
1128 * another stop endpoint command and add the timer back. So we cannot use a
1129 * simple flag to say whether there is a pending stop endpoint command for a
1154 xhci_warn(xhci, "xHCI host not responding to stop endpoint command.\n");
1220 * When we get a completion for a Set Transfer Ring Dequeue Pointer command,
1246 xhci_warn(xhci, "WARN Set TR deq ptr command for freed stream ID %u\n",
1309 xhci_warn(xhci, "Mismatch between completed Set TR Deq Ptr command & xHCI internal state.\n");
1340 /* This command will only fail if the endpoint wasn't halted,
1347 * command complete before the endpoint can be used. Queue that here
1351 struct xhci_command *command;
1353 command = xhci_alloc_command(xhci, false, GFP_ATOMIC);
1354 if (!command)
1358 "Queueing configure endpoint command");
1359 xhci_queue_configure_endpoint(xhci, command,
1374 struct xhci_command *command, u32 cmd_comp_code)
1377 command->slot_id = slot_id;
1379 command->slot_id = 0;
1412 * needed an extra configure endpoint command after a reset
1413 * endpoint command or streams were being configured.
1414 * If the command was for a halted endpoint, the xHCI driver
1415 * is not waiting on the configure endpoint command.
1476 xhci_dbg(xhci, "Completed reset device command.\n");
1478 xhci_warn(xhci, "Reset device command completion "
1486 xhci_warn(xhci, "WARN NEC_GET_FW command on non-NEC host\n");
1527 * raced with command completion. Command is handled so just return.
1533 /* mark this command to be cancelled */
1536 /* Make sure command ring is running before aborting it */
1545 /* Prevent new doorbell, and start command abort */
1560 /* command timeout on stopped ring, ring can't be aborted */
1589 * command.
1593 "ERROR mismatched command completion event\n");
1611 "Command completion event does not match command\n");
1616 * Host aborted the command ring, check if the current command was
1618 * The command ring is stopped now, but the xHC will issue a Command
1660 /* Is this an aborted command turned to NO-OP? */
1671 * Use the SLOT_ID from the command TRB instead (xhci 4.6.11)
1682 xhci_info(xhci, "INFO unknown command type %d\n", cmd_type);
1686 /* restart timer if this wasn't the last command */
1829 cmd_reg = readl(&xhci->op_regs->command);
2026 * Ring Dequeue Pointer command manually.
2086 * command, followed by a set dequeue command to move past the
2623 /* needs disable slot command to recover */
2698 * last TRB of the previous TD. The command completion handle
3104 * FIXME issue Configure Endpoint command to try to get the HC
3115 xhci_err(xhci, "Do not support expand command ring\n");
4169 /* Generic function for queueing a command TRB on the command ring.
4170 * Check to make sure there's room on the command ring for one command TRB.
4172 * If this is a command that must not fail, meaning command_must_succeed = TRUE,
4175 * because the command event handler may want to resubmit a failed command.
4196 xhci_err(xhci, "ERR: No room for command on command ring\n");
4218 /* Queue a slot enable or disable request on the command ring */
4226 /* Queue an address device command TRB */
4242 /* Queue a reset device command TRB */
4251 /* Queue a configure endpoint command TRB */
4262 /* Queue an evaluate context command TRB */
4288 /* Set Transfer Ring Dequeue Pointer command */
4323 xhci_warn(xhci, "A Set TR Deq Ptr command is pending.\n");
4346 * this command completes. The HC won't set the dequeue pointer