/ src / include / spd_cache.h
spd_cache.h
 1  /* SPDX-License-Identifier: GPL-2.0-only */
 2  
 3  #ifndef __SPD_CACHE_H
 4  #define __SPD_CACHE_H
 5  
 6  #include <spd_bin.h>
 7  #include <stddef.h>
 8  #include <stdint.h>
 9  
10  #define SPD_CACHE_FMAP_NAME	(CONFIG_SPD_CACHE_FMAP_NAME)
11  #define SC_SPD_NUMS		(CONFIG_DIMM_MAX)
12  #define SC_SPD_OFFSET(n)	(CONFIG_DIMM_SPD_SIZE * n)
13  #define SC_CRC_OFFSET		(CONFIG_DIMM_MAX * CONFIG_DIMM_SPD_SIZE)
14  #define SC_SPD_TOTAL_LEN	(CONFIG_DIMM_MAX * CONFIG_DIMM_SPD_SIZE)
15  #define SC_SPD_LEN		(CONFIG_DIMM_SPD_SIZE)
16  #define SC_CRC_LEN		(sizeof(uint16_t))
17  
18  enum cb_err update_spd_cache(struct spd_block *blk);
19  enum cb_err load_spd_cache(uint8_t **spd_cache, size_t *spd_cache_sz);
20  bool spd_cache_is_valid(uint8_t *spd_cache, size_t spd_cache_sz);
21  bool check_if_dimm_changed(u8 *spd_cache, struct spd_block *blk);
22  enum cb_err spd_fill_from_cache(uint8_t *spd_cache, struct spd_block *blk);
23  
24  #endif