2020-04-27 09:49:09 +02:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
|
|
|
|
#ifndef __SPD_CACHE_H
|
|
|
|
#define __SPD_CACHE_H
|
|
|
|
|
|
|
|
#include <spd_bin.h>
|
2020-07-12 09:03:22 +02:00
|
|
|
#include <stddef.h>
|
|
|
|
#include <stdint.h>
|
2020-04-27 09:49:09 +02:00
|
|
|
|
2020-11-30 21:30:15 +01:00
|
|
|
#define SPD_CACHE_FMAP_NAME (CONFIG_SPD_CACHE_FMAP_NAME)
|
2020-04-27 09:49:09 +02:00
|
|
|
#define SC_SPD_NUMS (CONFIG_DIMM_MAX)
|
|
|
|
#define SC_SPD_OFFSET(n) (CONFIG_DIMM_SPD_SIZE * n)
|
|
|
|
#define SC_CRC_OFFSET (CONFIG_DIMM_MAX * CONFIG_DIMM_SPD_SIZE)
|
|
|
|
#define SC_SPD_TOTAL_LEN (CONFIG_DIMM_MAX * CONFIG_DIMM_SPD_SIZE)
|
|
|
|
#define SC_SPD_LEN (CONFIG_DIMM_SPD_SIZE)
|
|
|
|
#define SC_CRC_LEN (sizeof(uint16_t))
|
|
|
|
|
|
|
|
enum cb_err update_spd_cache(struct spd_block *blk);
|
|
|
|
enum cb_err load_spd_cache(uint8_t **spd_cache, size_t *spd_cache_sz);
|
|
|
|
bool spd_cache_is_valid(uint8_t *spd_cache, size_t spd_cache_sz);
|
|
|
|
bool check_if_dimm_changed(u8 *spd_cache, struct spd_block *blk);
|
|
|
|
enum cb_err spd_fill_from_cache(uint8_t *spd_cache, struct spd_block *blk);
|
|
|
|
|
|
|
|
#endif
|