Re: [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa
Matt Roper <[email protected]> Wed, 29 Jul 2026 14:04:27 -0700
| Newsgroups | org.freedesktop.lists.igt-dev |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jul 21, 2026 at 03:59:54PM -0300, Gustavo Sousa wrote: > The functionality provided by intel_wa is specific devices managed by > the xe driver, so move that module to belong to the lib/xe folder. > > While at it, change the function signature to match the adopted > standard for lib/xe (used xe_query.h as example). > > Signed-off-by: Gustavo Sousa <[email protected]> > --- > lib/intel_wa.h | 11 ----------- > lib/meson.build | 2 +- > lib/{intel_wa.c => xe/xe_wa.c} | 21 +++++++++++---------- > lib/xe/xe_wa.h | 11 +++++++++++ > tests/intel/xe_oa.c | 4 ++-- > 5 files changed, 25 insertions(+), 24 deletions(-) > > diff --git a/lib/intel_wa.h b/lib/intel_wa.h > deleted file mode 100644 > index 765a5948ef88..000000000000 > --- a/lib/intel_wa.h > +++ /dev/null > @@ -1,11 +0,0 @@ > -/* SPDX-License-Identifier: MIT */ > -/* > - * Copyright © 2025 Intel Corporation > - */ > - > -#ifndef __INTEL_WA_H__ > -#define __INTEL_WA_H__ > - > -int igt_has_intel_wa(int drm_fd, const char *check_wa); > - > -#endif /* __INTEL_WA_H__ */ > diff --git a/lib/meson.build b/lib/meson.build > index 8db9fffdecec..b31936d6c3fd 100644 > --- a/lib/meson.build > +++ b/lib/meson.build > @@ -93,7 +93,6 @@ lib_sources = [ > 'intel_aux_pgtable.c', > 'intel_reg_map.c', > 'intel_iosf.c', > - 'intel_wa.c', > 'igt_kms.c', > 'igt_fb.c', > 'igt_core.c', > @@ -135,6 +134,7 @@ lib_sources = [ > 'xe/xe_sriov_debugfs.c', > 'xe/xe_sriov_provisioning.c', > 'xe/xe_util.c', > + 'xe/xe_wa.c', > > # Vendored libraries: > 'vendor/uwildmat/uwildmat.c', > diff --git a/lib/intel_wa.c b/lib/xe/xe_wa.c > similarity index 66% > rename from lib/intel_wa.c > rename to lib/xe/xe_wa.c > index 727dd6c988df..ff5daf529831 100644 > --- a/lib/intel_wa.c > +++ b/lib/xe/xe_wa.c > @@ -9,7 +9,8 @@ > > #include "igt_debugfs.h" > #include "igt_sysfs.h" > -#include "intel_wa.h" > + > +#include "xe/xe_wa.h" > #include "xe/xe_query.h" Nitpick: These aren't sorted. > > static int debugfs_file_has_wa(int drm_fd, int debugfs_fd, > @@ -34,32 +35,32 @@ static int debugfs_file_has_wa(int drm_fd, int debugfs_fd, > } > > /** > - * igt_has_intel_wa: > - * @drm_fd: A drm file descriptor > - * @check_wa: Workaround to be checked > + * xe_wa: Check if a workaround is enabled for the device. > + * @fd: A drm file descriptor. > + * @wa: Name of the workaround to be checked. > * > - * Returns: 0 if no WA, 1 if WA present, -1 on error > + * Returns 1 if enabled, 0 if disabled, -1 on error. > */ > -int igt_has_intel_wa(int drm_fd, const char *check_wa) > +int xe_wa(int fd, const char *wa) > { > int ret = 0; > int debugfs_fd; > unsigned int xe; > char name[256]; > > - debugfs_fd = igt_debugfs_dir(drm_fd); > + debugfs_fd = igt_debugfs_dir(fd); > if (debugfs_fd == -1) > return -1; > > - xe_for_each_gt(drm_fd, xe) { > + xe_for_each_gt(fd, xe) { > sprintf(name, "gt%d/workarounds", xe); > - ret = debugfs_file_has_wa(drm_fd, debugfs_fd, name, check_wa); > + ret = debugfs_file_has_wa(fd, debugfs_fd, name, wa); > if (ret) > break; > } > > if (!ret) > - ret = debugfs_file_has_wa(drm_fd, debugfs_fd, "workarounds", check_wa); > + ret = debugfs_file_has_wa(fd, debugfs_fd, "workarounds", wa); > > close(debugfs_fd); > return ret; > diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h > new file mode 100644 > index 000000000000..4ff897196545 > --- /dev/null > +++ b/lib/xe/xe_wa.h > @@ -0,0 +1,11 @@ > +/* SPDX-License-Identifier: MIT */ > +/* > + * Copyright © 2025 Intel Corporation Nitpick: This should say 2026. Aside from those two minor things, Reviewed-by: Matt Roper <[email protected]> Matt > + */ > + > +#ifndef XE_WA_H > +#define XE_WA_H > + > +int xe_wa(int fd, const char *wa); > + > +#endif /* XE_WA_H */ > diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c > index 68c7537d3888..fcf1d71a167f 100644 > --- a/tests/intel/xe_oa.c > +++ b/tests/intel/xe_oa.c > @@ -24,10 +24,10 @@ > #include "igt_device.h" > #include "igt_syncobj.h" > #include "igt_sysfs.h" > -#include "intel_wa.h" > #include "xe/xe_ioctl.h" > #include "xe/xe_query.h" > #include "xe/xe_oa.h" > +#include "xe/xe_wa.h" > > /** > * TEST: perf > @@ -2678,7 +2678,7 @@ test_non_zero_reason(const struct drm_xe_oa_unit *oau, size_t oa_buffer_size) > * can result in buffer overflows. > */ > if (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_MERT && > - igt_has_intel_wa(drm_fd, "14026633728") > 0) { > + xe_wa(drm_fd, "14026633728") > 0) { > oa_exponent = max(oa_exponent, 8); > properties[9] = oa_exponent; > } > > -- > 2.55.0 > -- Matt Roper Graphics Software Engineer Linux GPU Platform Enablement Intel Corporation