Commit a85a35fc authored by Srinivas Pandruvada's avatar Srinivas Pandruvada

tools/power/x86/intel-speed-select: Add option to delay mbox commands

Add option "p|--pause" to introduce delay between two mail box commands
for test purpose. This delay can be specified in milliseconds. By default
there is no delay between two mailbox commands.
Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
parent 6374de84
...@@ -44,6 +44,8 @@ static int force_online_offline; ...@@ -44,6 +44,8 @@ static int force_online_offline;
static int auto_mode; static int auto_mode;
static int fact_enable_fail; static int fact_enable_fail;
static int mbox_delay;
/* clos related */ /* clos related */
static int current_clos = -1; static int current_clos = -1;
static int clos_epp = -1; static int clos_epp = -1;
...@@ -788,6 +790,9 @@ int isst_send_mbox_command(unsigned int cpu, unsigned char command, ...@@ -788,6 +790,9 @@ int isst_send_mbox_command(unsigned int cpu, unsigned char command,
mbox_cmds.mbox_cmd[0].parameter = parameter; mbox_cmds.mbox_cmd[0].parameter = parameter;
mbox_cmds.mbox_cmd[0].req_data = req_data; mbox_cmds.mbox_cmd[0].req_data = req_data;
if (mbox_delay)
usleep(mbox_delay * 1000);
fd = open(pathname, O_RDWR); fd = open(pathname, O_RDWR);
if (fd < 0) if (fd < 0)
err(-1, "%s open failed", pathname); err(-1, "%s open failed", pathname);
...@@ -2599,6 +2604,7 @@ static void usage(void) ...@@ -2599,6 +2604,7 @@ static void usage(void)
printf("\t[-i|--info] : Print platform information\n"); printf("\t[-i|--info] : Print platform information\n");
printf("\t[-o|--out] : Output file\n"); printf("\t[-o|--out] : Output file\n");
printf("\t\t\tDefault : stderr\n"); printf("\t\t\tDefault : stderr\n");
printf("\t[-p|--pause] : Delay between two mail box commands in milliseconds\n");
printf("\t[-v|--version] : Print version\n"); printf("\t[-v|--version] : Print version\n");
printf("\nResult format\n"); printf("\nResult format\n");
...@@ -2630,6 +2636,7 @@ static void print_version(void) ...@@ -2630,6 +2636,7 @@ static void print_version(void)
static void cmdline(int argc, char **argv) static void cmdline(int argc, char **argv)
{ {
const char *pathname = "/dev/isst_interface"; const char *pathname = "/dev/isst_interface";
char *ptr;
FILE *fp; FILE *fp;
int opt; int opt;
int option_index = 0; int option_index = 0;
...@@ -2641,6 +2648,7 @@ static void cmdline(int argc, char **argv) ...@@ -2641,6 +2648,7 @@ static void cmdline(int argc, char **argv)
{ "format", required_argument, 0, 'f' }, { "format", required_argument, 0, 'f' },
{ "help", no_argument, 0, 'h' }, { "help", no_argument, 0, 'h' },
{ "info", no_argument, 0, 'i' }, { "info", no_argument, 0, 'i' },
{ "pause", required_argument, 0, 'p' },
{ "out", required_argument, 0, 'o' }, { "out", required_argument, 0, 'o' },
{ "version", no_argument, 0, 'v' }, { "version", no_argument, 0, 'v' },
{ 0, 0, 0, 0 } { 0, 0, 0, 0 }
...@@ -2694,6 +2702,13 @@ static void cmdline(int argc, char **argv) ...@@ -2694,6 +2702,13 @@ static void cmdline(int argc, char **argv)
fclose(outf); fclose(outf);
outf = fopen_or_exit(optarg, "w"); outf = fopen_or_exit(optarg, "w");
break; break;
case 'p':
ret = strtol(optarg, &ptr, 10);
if (!ret)
fprintf(stderr, "Invalid pause interval, ignore\n");
else
mbox_delay = ret;
break;
case 'v': case 'v':
print_version(); print_version();
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment