Lines Matching +full:sml +full:- +full:size

1 // SPDX-License-Identifier: GPL-2.0-or-later
8 * Maintained by: <tpmdd-devel@lists.sourceforge.net>
31 node = of_parse_phandle(chip->dev.parent->of_node, "memory-region", 0); in tpm_read_log_memory_region()
33 return -ENODEV; in tpm_read_log_memory_region()
40 chip->log.bios_event_log = devm_memremap(&chip->dev, res.start, resource_size(&res), in tpm_read_log_memory_region()
42 if (IS_ERR(chip->log.bios_event_log)) in tpm_read_log_memory_region()
43 return -ENOMEM; in tpm_read_log_memory_region()
45 chip->log.bios_event_log_end = chip->log.bios_event_log + resource_size(&res); in tpm_read_log_memory_region()
47 return chip->flags & TPM_CHIP_FLAG_TPM2 ? EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 : in tpm_read_log_memory_region()
57 u32 size; in tpm_read_log_of() local
60 log = &chip->log; in tpm_read_log_of()
61 if (chip->dev.parent && chip->dev.parent->of_node) in tpm_read_log_of()
62 np = chip->dev.parent->of_node; in tpm_read_log_of()
64 return -ENODEV; in tpm_read_log_of()
66 if (of_property_read_bool(np, "powered-while-suspended")) in tpm_read_log_of()
67 chip->flags |= TPM_CHIP_FLAG_ALWAYS_POWERED; in tpm_read_log_of()
69 sizep = of_get_property(np, "linux,sml-size", NULL); in tpm_read_log_of()
70 basep = of_get_property(np, "linux,sml-base", NULL); in tpm_read_log_of()
74 return -EIO; in tpm_read_log_of()
77 * For both vtpm/tpm, firmware has log addr and log size in big in tpm_read_log_of()
79 * sml-handover which is run during kernel init even before in tpm_read_log_of()
80 * device tree is setup. This sml-handover function takes care in tpm_read_log_of()
81 * of endianness and writes to sml-base and sml-size in little in tpm_read_log_of()
87 size = be32_to_cpup((__force __be32 *)sizep); in tpm_read_log_of()
90 size = *sizep; in tpm_read_log_of()
94 if (size == 0) { in tpm_read_log_of()
95 dev_warn(&chip->dev, "%s: Event log area empty\n", __func__); in tpm_read_log_of()
96 return -EIO; in tpm_read_log_of()
99 log->bios_event_log = devm_kmemdup(&chip->dev, __va(base), size, GFP_KERNEL); in tpm_read_log_of()
100 if (!log->bios_event_log) in tpm_read_log_of()
101 return -ENOMEM; in tpm_read_log_of()
103 log->bios_event_log_end = log->bios_event_log + size; in tpm_read_log_of()
105 if (chip->flags & TPM_CHIP_FLAG_TPM2) in tpm_read_log_of()