Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

EDAC/skx_common: Prepare for skx_set_hi_lo()

The upcoming imh_edac driver for Intel Diamond Rapids servers cannot
use skx_get_hi_lo() in skx_common to retrieve the TOHM (Top of High
Memory) and TOLM (Top of Low Memory) parameters. Instead, it obtains
these parameters within its own EDAC driver. To accommodate this,
prepare skx_set_hi_lo() to allow the driver to notify skx_common of
these parameters.

Tested-by: Yi Lai <yi1.lai@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://patch.msgid.link/20251119134132.2389472-4-qiuxu.zhuo@intel.com

authored by

Qiuxu Zhuo and committed by
Tony Luck
d4839582 9529e697

+8
+7
drivers/edac/skx_common.c
··· 430 430 } 431 431 EXPORT_SYMBOL_GPL(skx_get_hi_lo); 432 432 433 + void skx_set_hi_lo(u64 tolm, u64 tohm) 434 + { 435 + skx_tolm = tolm; 436 + skx_tohm = tohm; 437 + } 438 + EXPORT_SYMBOL_GPL(skx_set_hi_lo); 439 + 433 440 static int skx_get_dimm_attr(u32 reg, int lobit, int hibit, int add, 434 441 int minval, int maxval, const char *name) 435 442 {
+1
drivers/edac/skx_common.h
··· 296 296 struct list_head *skx_get_edac_list(void); 297 297 298 298 int skx_get_hi_lo(unsigned int did, int off[], u64 *tolm, u64 *tohm); 299 + void skx_set_hi_lo(u64 tolm, u64 tohm); 299 300 300 301 int skx_get_dimm_info(u32 mtr, u32 mcmtr, u32 amap, struct dimm_info *dimm, 301 302 struct skx_imc *imc, int chan, int dimmno,