Lines Matching refs:entry
57 int __apei_exec_read_register(struct acpi_whea_header *entry, u64 *val)
61 rc = apei_read(val, &entry->register_region);
64 *val >>= entry->register_region.bit_offset;
65 *val &= entry->mask;
71 struct acpi_whea_header *entry)
76 rc = __apei_exec_read_register(entry, &val);
86 struct acpi_whea_header *entry)
90 rc = apei_exec_read_register(ctx, entry);
93 ctx->value = (ctx->value == entry->value);
99 int __apei_exec_write_register(struct acpi_whea_header *entry, u64 val)
103 val &= entry->mask;
104 val <<= entry->register_region.bit_offset;
105 if (entry->flags & APEI_EXEC_PRESERVE_REGISTER) {
107 rc = apei_read(&valr, &entry->register_region);
110 valr &= ~(entry->mask << entry->register_region.bit_offset);
113 rc = apei_write(val, &entry->register_region);
119 struct acpi_whea_header *entry)
121 return __apei_exec_write_register(entry, ctx->value);
126 struct acpi_whea_header *entry)
130 ctx->value = entry->value;
131 rc = apei_exec_write_register(ctx, entry);
138 struct acpi_whea_header *entry)
153 struct acpi_whea_header *entry;
167 entry = &ctx->action_table[i];
168 if (entry->action != action)
171 if (entry->instruction >= ctx->instructions ||
172 !ctx->ins_table[entry->instruction].run) {
175 entry->instruction);
178 run = ctx->ins_table[entry->instruction].run;
179 rc = run(ctx, entry);
195 struct acpi_whea_header *entry,
205 struct acpi_whea_header *entry;
209 entry = ctx->action_table + i;
210 ins = entry->instruction;
219 rc = func(ctx, entry, data);
228 struct acpi_whea_header *entry,
231 u8 ins = entry->instruction;
234 return apei_map_generic_address(&entry->register_region);
261 struct acpi_whea_header *entry,
264 u8 ins = entry->instruction;
267 apei_unmap_generic_address(&entry->register_region);
424 * EINJ has two groups of GARs (EINJ table entry and trigger table
425 * entry), so common resources are subtracted from the trigger table
714 struct acpi_whea_header *entry,
718 struct acpi_generic_address *reg = &entry->register_region;
719 u8 ins = entry->instruction;