pm_rps: Convert to subtest structure

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Jeff McGee 2014-01-17 16:56:05 -06:00 committed by Daniel Vetter
parent 0102b6bde6
commit d14cd7430b

View File

@ -142,66 +142,71 @@ static void pm_rps_exit_handler(int sig)
} }
} }
igt_simple_main igt_main
{ {
const int device = drm_get_card();
struct junk *junk = stuff;
int fd, ret;
igt_skip_on_simulation(); igt_skip_on_simulation();
/* Use drm_open_any to verify device existence */ igt_fixture {
fd = drm_open_any(); const int device = drm_get_card();
close(fd); struct junk *junk = stuff;
int fd, ret;
do { /* Use drm_open_any to verify device existence */
int val = -1; fd = drm_open_any();
char *path; close(fd);
ret = asprintf(&path, sysfs_base_path, device, junk->name);
igt_assert(ret != -1);
junk->filp = fopen(path, junk->mode);
igt_require(junk->filp);
setbuf(junk->filp, NULL);
val = readval(junk->filp); do {
igt_assert(val >= 0); int val = -1;
junk++; char *path;
} while(junk->name != NULL); ret = asprintf(&path, sysfs_base_path, device, junk->name);
igt_assert(ret != -1);
junk->filp = fopen(path, junk->mode);
igt_require(junk->filp);
setbuf(junk->filp, NULL);
origmin = fmin; val = readval(junk->filp);
origmax = fmax; igt_assert(val >= 0);
junk++;
} while(junk->name != NULL);
igt_install_exit_handler(pm_rps_exit_handler); origmin = fmin;
origmax = fmax;
if (verbose) igt_install_exit_handler(pm_rps_exit_handler);
printf("Original min = %d\nOriginal max = %d\n", origmin, origmax); }
if (verbose) igt_subtest("min-max-config-at-idle") {
dumpit(); if (verbose)
printf("Original min = %d\nOriginal max = %d\n",
origmin, origmax);
checkit(); if (verbose)
setfreq(origmin); dumpit();
if (verbose)
dumpit();
igt_assert(fcur == fmin);
setfreq(origmax);
if (verbose)
dumpit();
igt_assert(fcur == fmax);
checkit();
/* And some errors */ checkit();
writeval_inval(stuff[MIN].filp, frpn - 1); setfreq(origmin);
writeval_inval(stuff[MAX].filp, frp0 + 1000); if (verbose)
checkit(); dumpit();
igt_assert(fcur == fmin);
setfreq(origmax);
if (verbose)
dumpit();
igt_assert(fcur == fmax);
checkit();
writeval_inval(stuff[MIN].filp, fmax + 1000); /* And some errors */
writeval_inval(stuff[MAX].filp, fmin - 1); writeval_inval(stuff[MIN].filp, frpn - 1);
checkit(); writeval_inval(stuff[MAX].filp, frp0 + 1000);
checkit();
writeval_inval(stuff[MIN].filp, 0x11111110); writeval_inval(stuff[MIN].filp, fmax + 1000);
writeval_inval(stuff[MAX].filp, 0); writeval_inval(stuff[MAX].filp, fmin - 1);
checkit();
writeval(stuff[MIN].filp, origmin); writeval_inval(stuff[MIN].filp, 0x11111110);
writeval(stuff[MAX].filp, origmax); writeval_inval(stuff[MAX].filp, 0);
writeval(stuff[MIN].filp, origmin);
writeval(stuff[MAX].filp, origmax);
}
} }