blob: d20e8cddfc30a9707901dbcedd3b711d9e345452 [file] [log] [blame]
Patrick Georgiac959032020-05-05 22:49:26 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Raul E Rangel21db6cc2018-03-29 10:18:14 -06002
3#ifndef _DIMM_INFO_UTIL_H_
4#define _DIMM_INFO_UTIL_H_
5
6#include <smbios.h>
7#include <stdint.h>
8
9/**
10 * Convert the SMBIOS bit widths into an SPD encoded width.
11 *
12 * Use this when setting dimm_info.bus_width if the raw SPD values are not
13 * available.
14 */
15uint8_t smbios_bus_width_to_spd_width(uint16_t total_width,
16 uint16_t data_width);
17
18/**
19 * Convert the SMBIOS size values into the total number of MiB.
20 *
21 * Use this when setting dimm_info.dimm_size.
22 */
23uint32_t smbios_memory_size_to_mib(uint16_t memory_size,
24 uint32_t extended_size);
25
26/**
27 * Convert the SMBIOS form factor to the SPD module type.
28 *
29 * Use this when setting dimm_info.mod_type.
30 */
31uint8_t
32smbios_form_factor_to_spd_mod_type(smbios_memory_form_factor form_factor);
33
34#endif