diff options
author | Rabara Niravkumar L <niravkumar.l.rabara@intel.com> | 2022-03-05 02:41:18 +0100 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2022-03-16 09:56:39 +0100 |
commit | e1bca853dddcb57cbf084acbf35e3654cef6fc75 (patch) | |
tree | f72231843fdc138fb9c6cb261e5775bb0482ee05 /drivers/edac/skx_common.c | |
parent | EDAC/mc: Remove unnecessary cast to char * in edac_align_ptr() (diff) | |
download | linux-e1bca853dddcb57cbf084acbf35e3654cef6fc75.tar.xz linux-e1bca853dddcb57cbf084acbf35e3654cef6fc75.zip |
EDAC/altera: Add SDRAM ECC check for U-Boot
A bug in legacy U-Boot causes a crash during SDRAM boot if ECC is not
enabled in the bitstream but enabled in the Linux config.
Memory mapped read of the ECC Enabled bit was only enabled if U-Boot
determined ECC was enabled in the bitstream.
The Linux driver checks the ECC enable bit using a memory map read.
In the ECC disabled bitstream case, U-Boot didn't enable ECC register
memory map reads and since they are not allowed this results in a crash.
Always read the ECC Enable register through a SMC call which is always
allowed and it works with legacy and current U-Boot.
[ bp: Massage commit message. ]
Signed-off-by: Rabara Niravkumar L <niravkumar.l.rabara@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Dinh Nguyen <dinguyen@kernel.org>
Link: https://lore.kernel.org/r/20220305014118.4794-1-niravkumar.l.rabara@intel.com
Diffstat (limited to 'drivers/edac/skx_common.c')
0 files changed, 0 insertions, 0 deletions