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 25