Commit 9975a5f2 authored by Borislav Petkov's avatar Borislav Petkov

amd64_edac: Fix DCT base address selector

The correct check is to verify whether in high range we're below 4GB
and not to extract the DctSelBaseAddr again. See "2.8.5 Routing DRAM
Requests" in the F10h BKDG.

Cc: <stable@kernel.org> # .32.x .33.x .34.x
Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
Acked-by: default avatarDoug Thompson <dougthompson@xmission.com>
parent f4347553
...@@ -1435,7 +1435,7 @@ static inline u64 f10_get_base_addr_offset(u64 sys_addr, int hi_range_sel, ...@@ -1435,7 +1435,7 @@ static inline u64 f10_get_base_addr_offset(u64 sys_addr, int hi_range_sel,
u64 chan_off; u64 chan_off;
if (hi_range_sel) { if (hi_range_sel) {
if (!(dct_sel_base_addr & 0xFFFFF800) && if (!(dct_sel_base_addr & 0xFFFF0000) &&
hole_valid && (sys_addr >= 0x100000000ULL)) hole_valid && (sys_addr >= 0x100000000ULL))
chan_off = hole_off << 16; chan_off = hole_off << 16;
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment