Lines Matching defs:uic_cmd

887  * @uic_cmd: UIC command
892 ufshcd_dispatch_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
896 hba->active_uic_cmd = uic_cmd;
899 ufshcd_writel(hba, uic_cmd->argument1, REG_UIC_COMMAND_ARG_1);
900 ufshcd_writel(hba, uic_cmd->argument2, REG_UIC_COMMAND_ARG_2);
901 ufshcd_writel(hba, uic_cmd->argument3, REG_UIC_COMMAND_ARG_3);
904 ufshcd_writel(hba, uic_cmd->command & COMMAND_OPCODE_MASK,
917 ufshcd_wait_for_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
922 if (wait_for_completion_timeout(&uic_cmd->done,
924 ret = uic_cmd->argument2 & MASK_UIC_COMMAND_RESULT;
938 * @uic_cmd: UIC command
945 __ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
953 init_completion(&uic_cmd->done);
955 ufshcd_dispatch_uic_cmd(hba, uic_cmd);
963 * @uic_cmd: UIC command
968 ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
976 ret = __ufshcd_send_uic_cmd(hba, uic_cmd);
979 ret = ufshcd_wait_for_uic_cmd(hba, uic_cmd);
2049 struct uic_command uic_cmd = {0};
2052 uic_cmd.command = UIC_CMD_DME_LINK_STARTUP;
2054 ret = ufshcd_send_uic_cmd(hba, &uic_cmd);
2074 struct uic_command uic_cmd = {0};
2082 uic_cmd.command = peer ?
2084 uic_cmd.argument1 = attr_sel;
2085 uic_cmd.argument2 = UIC_ARG_ATTR_TYPE(attr_set);
2086 uic_cmd.argument3 = mib_val;
2088 ret = ufshcd_send_uic_cmd(hba, &uic_cmd);
2109 struct uic_command uic_cmd = {0};
2117 uic_cmd.command = peer ?
2119 uic_cmd.argument1 = attr_sel;
2121 ret = ufshcd_send_uic_cmd(hba, &uic_cmd);
2129 *mib_val = uic_cmd.argument3;
2214 struct uic_command uic_cmd = {0};
2217 uic_cmd.command = UIC_CMD_DME_SET;
2218 uic_cmd.argument1 = UIC_ARG_MIB(PA_PWRMODE);
2219 uic_cmd.argument3 = mode;
2221 ret = ufshcd_uic_pwr_ctrl(hba, &uic_cmd);
2229 struct uic_command uic_cmd = {0};
2231 uic_cmd.command = UIC_CMD_DME_HIBER_ENTER;
2233 return ufshcd_uic_pwr_ctrl(hba, &uic_cmd);
2238 struct uic_command uic_cmd = {0};
2241 uic_cmd.command = UIC_CMD_DME_HIBER_EXIT;
2242 ret = ufshcd_uic_pwr_ctrl(hba, &uic_cmd);