mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
EDAC/igen6: Fix conversion of system address to physical memory address
The conversion of system address to physical memory address (as viewed by
the memory controller) by igen6_edac is incorrect when the system address
is above the TOM (Total amount Of populated physical Memory) for Elkhart
Lake and Ice Lake (Neural Network Processor). Fix this conversion.
Fixes: 10590a9d4f
("EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC")
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/stable/20240814061011.43545-1-qiuxu.zhuo%40intel.com
This commit is contained in:
parent
8400291e28
commit
0ad875f442
@ -316,7 +316,7 @@ static u64 ehl_err_addr_to_imc_addr(u64 eaddr, int mc)
|
|||||||
if (igen6_tom <= _4GB)
|
if (igen6_tom <= _4GB)
|
||||||
return eaddr + igen6_tolud - _4GB;
|
return eaddr + igen6_tolud - _4GB;
|
||||||
|
|
||||||
if (eaddr < _4GB)
|
if (eaddr >= igen6_tom)
|
||||||
return eaddr + igen6_tolud - igen6_tom;
|
return eaddr + igen6_tolud - igen6_tom;
|
||||||
|
|
||||||
return eaddr;
|
return eaddr;
|
||||||
|
Loading…
Reference in New Issue
Block a user