Lines Matching +full:resume +full:- +full:offset

1 // SPDX-License-Identifier: GPL-2.0-only
4 * FPDT support for exporting boot and suspend/resume performance data
19 * performance data fields, for boot or suspend or resume phase.
83 return sprintf(buf, "%llu\n", record_##phase->name); \
88 FPDT_ATTR(resume, resume_prev);
89 FPDT_ATTR(resume, resume_avg);
101 return sprintf(buf, "%u\n", record_resume->resume_count); in resume_count_show()
116 .name = "resume",
168 u32 length, offset; in fpdt_process_subtable() local
173 return -EINVAL; in fpdt_process_subtable()
178 return -ENOMEM; in fpdt_process_subtable()
180 if (strncmp((char *)&subtable_header->signature, signature, 4)) { in fpdt_process_subtable()
182 return -EINVAL; in fpdt_process_subtable()
185 length = subtable_header->length; in fpdt_process_subtable()
190 return -ENOMEM; in fpdt_process_subtable()
192 offset = sizeof(*subtable_header); in fpdt_process_subtable()
193 while (offset < length) { in fpdt_process_subtable()
194 record_header = (void *)subtable_header + offset; in fpdt_process_subtable()
195 offset += record_header->length; in fpdt_process_subtable()
197 if (!record_header->length) { in fpdt_process_subtable()
198 pr_err(FW_BUG "Zero-length record found in FPTD.\n"); in fpdt_process_subtable()
199 result = -EINVAL; in fpdt_process_subtable()
203 switch (record_header->type) { in fpdt_process_subtable()
207 record_header->type, signature); in fpdt_process_subtable()
208 result = -EINVAL; in fpdt_process_subtable()
212 pr_err("Duplicate resume performance record found.\n"); in fpdt_process_subtable()
223 record_header->type, signature); in fpdt_process_subtable()
238 record_header->type, signature); in fpdt_process_subtable()
239 result = -EINVAL; in fpdt_process_subtable()
277 u32 offset = sizeof(*header); in acpi_init_fpdt() local
287 result = -ENOMEM; in acpi_init_fpdt()
291 while (offset < header->length) { in acpi_init_fpdt()
292 subtable = (void *)header + offset; in acpi_init_fpdt()
293 switch (subtable->type) { in acpi_init_fpdt()
296 result = fpdt_process_subtable(subtable->address, in acpi_init_fpdt()
297 subtable->type); in acpi_init_fpdt()
305 offset += sizeof(*subtable); in acpi_init_fpdt()