engine_info
const struct engine_info *info = &intel_engines[id];
static const struct engine_info intel_engines[] = {
const struct engine_info *info = &intel_engines[i];
static const struct engine_info engine_info[] = {
for (size_t i = 0; i < ARRAY_SIZE(engine_info); i++) {
u64 mask = engine_info[i].mask;
p += sprintf(p, "%s*\n", engine_info[i].cls);
p += sprintf(p, "%s%u\n", engine_info[i].cls,
static const struct engine_info *lookup_engine_info(const char *pattern, u64 *mask)
for (size_t i = 0; i < ARRAY_SIZE(engine_info); i++) {
if (!str_has_prefix(pattern, engine_info[i].cls))
pattern += strlen(engine_info[i].cls);
return *pattern ? NULL : &engine_info[i];
*mask = engine_info[i].mask;
return &engine_info[i];
bit = __ffs64(engine_info[i].mask) + instance;
if (bit >= fls64(engine_info[i].mask))
return &engine_info[i];
const struct engine_info **pinfo)
const struct engine_info *info;
for (size_t i = 0; i < ARRAY_SIZE(engine_info); i++) {
enum xe_engine_class ec = engine_info[i].engine_class;
len = snprintf(p, sz, "%s:", engine_info[i].cls);
const struct engine_info *info = NULL;
static const struct engine_info *find_engine_info(enum xe_engine_class class, int instance)
const struct engine_info *info;
const struct engine_info *info = find_engine_info(class, 0);
const struct engine_info *info;
static const struct engine_info engine_infos[] = {