On Sun, Mar 25, 2012 at 05:33:32PM -0700, Ben Widawsky wrote:
> +int main(int argc, char *argv[])
> +{
> +     const int device = drm_get_card(0);
> +     char *path, *pathp, *pathpp;
> +     int fd, ret;
> +     unsigned int value1, value1p, value1pp, value2, value2p, value2pp;
> +     int diff;
> +
> +     /* Use drm_open_any to verify device existence */
> +     fd = drm_open_any();
> +     close(fd);
> +
> +     ret = asprintf(&path, "/sys/class/drm/card%d/power/rc6", device);
> +     assert(ret != -1);
> +     ret = asprintf(&pathp, "/sys/class/drm/card%d/power/rc6p", device);
> +     assert(ret != -1);
> +     ret = asprintf(&pathpp, "/sys/class/drm/card%d/power/rc6pp", device);
> +     assert(ret != -1);
> +
> +     value1 = readit(path);
> +     value1p = readit(pathp);
> +     value1pp = readit(pathpp);
> +     // Sleep for 3 seconds and compare
> +     sleep(3);
> +     value2 = readit(path);
> +     value2p = readit(pathp);
> +     value2pp = readit(pathpp);
> +
> +     diff = (value2pp - value1pp) +
> +             (value2p - value1p) +
> +             (value2 - value1);
> +
> +     /* Plenty of fudge */
> +     if (diff > 3900 || diff < 2100) {
> +             printf("%d\n", diff);

While I bitch around: A slightly more informative error message could be
usueful ;-)

Cheers, Daniel
-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to