Lines Matching refs:uic_cmd
2087 * @uic_cmd: UIC command
2092 ufshcd_dispatch_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
2096 hba->active_uic_cmd = uic_cmd;
2099 ufshcd_writel(hba, uic_cmd->argument1, REG_UIC_COMMAND_ARG_1);
2100 ufshcd_writel(hba, uic_cmd->argument2, REG_UIC_COMMAND_ARG_2);
2101 ufshcd_writel(hba, uic_cmd->argument3, REG_UIC_COMMAND_ARG_3);
2103 ufshcd_add_uic_command_trace(hba, uic_cmd, "send");
2106 ufshcd_writel(hba, uic_cmd->command & COMMAND_OPCODE_MASK,
2113 * @uic_cmd: UIC command
2119 ufshcd_wait_for_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
2124 if (wait_for_completion_timeout(&uic_cmd->done,
2126 ret = uic_cmd->argument2 & MASK_UIC_COMMAND_RESULT;
2131 uic_cmd->command, uic_cmd->argument3);
2133 if (!uic_cmd->cmd_active) {
2136 ret = uic_cmd->argument2 & MASK_UIC_COMMAND_RESULT;
2150 * @uic_cmd: UIC command
2158 __ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd,
2168 init_completion(&uic_cmd->done);
2170 uic_cmd->cmd_active = 1;
2171 ufshcd_dispatch_uic_cmd(hba, uic_cmd);
2179 * @uic_cmd: UIC command
2183 int ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
2193 ret = __ufshcd_send_uic_cmd(hba, uic_cmd, true);
2196 ret = ufshcd_wait_for_uic_cmd(hba, uic_cmd);
3574 struct uic_command uic_cmd = {0};
3577 uic_cmd.command = UIC_CMD_DME_LINK_STARTUP;
3579 ret = ufshcd_send_uic_cmd(hba, &uic_cmd);
3596 struct uic_command uic_cmd = {0};
3599 uic_cmd.command = UIC_CMD_DME_RESET;
3601 ret = ufshcd_send_uic_cmd(hba, &uic_cmd);
3619 struct uic_command uic_cmd = {0};
3622 uic_cmd.command = UIC_CMD_DME_ENABLE;
3624 ret = ufshcd_send_uic_cmd(hba, &uic_cmd);
3676 struct uic_command uic_cmd = {0};
3685 uic_cmd.command = peer ?
3687 uic_cmd.argument1 = attr_sel;
3688 uic_cmd.argument2 = UIC_ARG_ATTR_TYPE(attr_set);
3689 uic_cmd.argument3 = mib_val;
3693 ret = ufshcd_send_uic_cmd(hba, &uic_cmd);
3720 struct uic_command uic_cmd = {0};
3754 uic_cmd.command = peer ?
3756 uic_cmd.argument1 = attr_sel;
3760 ret = ufshcd_send_uic_cmd(hba, &uic_cmd);
3772 *mib_val = uic_cmd.argument3;
3891 struct uic_command uic_cmd = {0};
3904 uic_cmd.command = UIC_CMD_DME_SET;
3905 uic_cmd.argument1 = UIC_ARG_MIB(PA_PWRMODE);
3906 uic_cmd.argument3 = mode;
3908 ret = ufshcd_uic_pwr_ctrl(hba, &uic_cmd);
3947 struct uic_command uic_cmd = {0};
3952 uic_cmd.command = UIC_CMD_DME_HIBER_ENTER;
3953 ret = ufshcd_uic_pwr_ctrl(hba, &uic_cmd);
3969 struct uic_command uic_cmd = {0};
3975 uic_cmd.command = UIC_CMD_DME_HIBER_EXIT;
3976 ret = ufshcd_uic_pwr_ctrl(hba, &uic_cmd);