i965: perf: use drmIoctl() instead of ioctl()
ioctl() might be interrupted, use drmIoctl() instead as it'll retry
automatically.
Fixes: 27ee83eaf7
"i965: perf: add support for userspace configurations"
Cc: "18.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Tested-by: Mark Janes <mark.a.janes@intel.com>
This commit is contained in:
@@ -1842,7 +1842,7 @@ kernel_has_dynamic_config_support(struct brw_context *brw,
|
|||||||
config.n_mux_regs = 1;
|
config.n_mux_regs = 1;
|
||||||
config.mux_regs_ptr = (uintptr_t) mux_regs;
|
config.mux_regs_ptr = (uintptr_t) mux_regs;
|
||||||
|
|
||||||
if (ioctl(screen->fd, DRM_IOCTL_I915_PERF_REMOVE_CONFIG, &config_id) < 0 &&
|
if (drmIoctl(screen->fd, DRM_IOCTL_I915_PERF_REMOVE_CONFIG, &config_id) < 0 &&
|
||||||
errno == ENOENT)
|
errno == ENOENT)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@@ -1889,7 +1889,7 @@ init_oa_configs(struct brw_context *brw, const char *sysfs_dev_dir)
|
|||||||
config.n_flex_regs = query->n_flex_regs;
|
config.n_flex_regs = query->n_flex_regs;
|
||||||
config.flex_regs_ptr = (uintptr_t) query->flex_regs;
|
config.flex_regs_ptr = (uintptr_t) query->flex_regs;
|
||||||
|
|
||||||
ret = ioctl(screen->fd, DRM_IOCTL_I915_PERF_ADD_CONFIG, &config);
|
ret = drmIoctl(screen->fd, DRM_IOCTL_I915_PERF_ADD_CONFIG, &config);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
DBG("Failed to load \"%s\" (%s) metrics set in kernel: %s\n",
|
DBG("Failed to load \"%s\" (%s) metrics set in kernel: %s\n",
|
||||||
query->name, query->guid, strerror(errno));
|
query->name, query->guid, strerror(errno));
|
||||||
|
Reference in New Issue
Block a user