mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-22 07:16:14 +00:00
pm_rps: Use unbuffered I/O on sysfs files
Bionic C library may not re-read a buffered, read-only file which results in failure to monitor changes in gt_cur_freq_mhz. Signed-off-by: Jeff McGee <jeff.mcgee@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
45d63644d2
commit
265efbb2c4
@ -22,6 +22,7 @@
|
||||
*
|
||||
* Authors:
|
||||
* Ben Widawsky <ben@bwidawsk.net>
|
||||
* Jeff McGee <jeff.mcgee@intel.com>
|
||||
*
|
||||
*/
|
||||
|
||||
@ -66,7 +67,6 @@ static int readval(FILE *filp)
|
||||
int val;
|
||||
int scanned;
|
||||
|
||||
fflush(filp);
|
||||
rewind(filp);
|
||||
scanned = fscanf(filp, "%d", &val);
|
||||
igt_assert(scanned == 1);
|
||||
@ -76,15 +76,11 @@ static int readval(FILE *filp)
|
||||
|
||||
static int do_writeval(FILE *filp, int val, int lerrno)
|
||||
{
|
||||
/* Must write twice to sysfs since the first one simply calculates the size and won't return the error */
|
||||
int ret;
|
||||
rewind(filp);
|
||||
ret = fprintf(filp, "%d", val);
|
||||
rewind(filp);
|
||||
ret = fprintf(filp, "%d", val);
|
||||
if (ret && lerrno)
|
||||
igt_assert(errno = lerrno);
|
||||
fflush(filp);
|
||||
return ret;
|
||||
}
|
||||
#define writeval(filp, val) do_writeval(filp, val, 0)
|
||||
@ -146,6 +142,7 @@ igt_simple_main
|
||||
igt_assert(ret != -1);
|
||||
junk->filp = fopen(path, junk->mode);
|
||||
igt_require(junk->filp);
|
||||
setbuf(junk->filp, NULL);
|
||||
|
||||
val = readval(junk->filp);
|
||||
igt_assert(val >= 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user