sb_edac: Fix erroneous bytes->gigabytes conversion
A message that is not in the archive (sent off-list or not yet received): CAHTgTXUzBAq=fz5Btu6ZCoNixSg=FLPX6AwzH0BVMincLmaoRg@mail.gmail.com
Quoted 9 lines · Vinson Lee
Please consider upstream 3.19 commit
8c009100295597f23978c224aec5751a365bc965"sb_edac: Fix erroneousbytes->gigabytesconversion" for stable trees 3.4 - 3.18.This patch addresses an issue introduced with 3.4 commit
5b889e379f340f43b1252abde5d37a7084c846b9"Fixsb_edaccompilation with 32 bits kernels".commit
8c009100295597f23978c224aec5751a365bc965
Quoted 8 lines
Author: Jim Snow <[email protected]> Date: Tue Nov 18 14:51:09 2014 +0100
sb_edac: Fix erroneousbytes->gigabytesconversionSigned-off-by Jim Snow <[email protected]>Signed-off-by Lukasz Anaczkowski <[email protected]>Signed-off-by Mauro Carvalho Chehab <[email protected]>
It doesn't apply cleanly to 3.10 or 3.14-stable, can you provide a working backport?
thanks,
greg k-h
PATCH 1/1 sb_edac: Fix erroneous bytes->gigabytes conversion
From: Jim Snow <[email protected]>
commit 8c009100295597f23978c224aec5751a365bc965 upstream.
--- drivers/edac/sb_edac.c | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-)
drivers/edac/sb_edac.c +20 -18
@@ -765,7 +765,7 @@ static void get_memory_layout(const struct mem_ctl_info *mci)u32 reg;u64 limit, prv =0 ;u64 tmp_mb; -u32 mb, kb; +u32 gb, mb;u32 rir_way;/*
@@ -775,15 +775,17 @@ static void get_memory_layout(const struct mem_ctl_info *mci) pvt->tolm = pvt->info.get_tolm (pvt); tmp_mb = (1 + pvt->tolm) >>20 ; - mb =div_u64_rem (tmp_mb,1000 , &kb); -edac_dbg (0 ,"TOLM: %u.%03u GB (0x%016Lx)\n" , mb, kb, (u64 )pvt->tolm); + gb =div_u64_rem (tmp_mb,1024 , &mb); +edac_dbg (0 ,"TOLM: %u.%03u GB (0x%016Lx)\n" , + gb, (mb*1000 )/1024 , (u64 )pvt->tolm);/* Address range is already 45:25 */ pvt->tohm = pvt->info.get_tohm (pvt); tmp_mb = (1 + pvt->tohm) >>20 ; - mb =div_u64_rem (tmp_mb,1000 , &kb); -edac_dbg (0 ,"TOHM: %u.%03u GB (0x%016Lx)\n" , mb, kb, (u64 )pvt->tohm); + gb =div_u64_rem (tmp_mb,1024 , &mb); +edac_dbg (0 ,"TOHM: %u.%03u GB (0x%016Lx)\n" , + gb, (mb*1000 )/1024 , (u64 )pvt->tohm);/* * Step 2) Get SAD range and SAD Interleave list
@@ -805,11 +807,11 @@ static void get_memory_layout(const struct mem_ctl_info *mci)break ; tmp_mb = (limit +1 ) >>20 ; - mb =div_u64_rem (tmp_mb,1000 , &kb); + gb =div_u64_rem (tmp_mb,1024 , &mb);edac_dbg (0 ,"SAD#%d %s up to %u.%03u GB (0x%016Lx) Interleave: %s reg=0x%08x\n" , n_sads,get_dram_attr (reg), - mb, kb, + gb, (mb*1000 )/1024 , ((u64 )tmp_mb) <<20L ,INTERLEAVE_MODE (reg) ?"8:6" :"[8:6]XOR[18:16]" , reg);
@@ -840,9 +842,9 @@ static void get_memory_layout(const struct mem_ctl_info *mci)break ; tmp_mb = (limit +1 ) >>20 ; - mb =div_u64_rem (tmp_mb,1000 , &kb); + gb =div_u64_rem (tmp_mb,1024 , &mb); edac_dbg(0, "TAD#%d: up to %u.%03u GB (0x%016Lx), socket interleave %d, memory interleave %d, TGT: %d, %d, %d, %d, reg=0x%08x\n", - n_tads, mb, kb, + n_tads, gb, (mb*1000)/1024, ((u64)tmp_mb) << 20L, (u32)TAD_SOCK(reg), (u32)TAD_CH(reg),
@@ -865,10 +867,10 @@ static void get_memory_layout(const struct mem_ctl_info *mci) tad_ch_nilv_offset[j], ®); tmp_mb =TAD_OFFSET (reg) >>20 ; - mb =div_u64_rem (tmp_mb,1000 , &kb); + gb =div_u64_rem (tmp_mb,1024 , &mb);edac_dbg (0 ,"TAD CH#%d, offset #%d: %u.%03u GB (0x%016Lx), reg=0x%08x\n" , i, j, - mb, kb, + gb, (mb*1000 )/1024 , ((u64 )tmp_mb) <<20L , reg); }
@@ -890,10 +892,10 @@ static void get_memory_layout(const struct mem_ctl_info *mci) tmp_mb =RIR_LIMIT (reg) >>20 ; rir_way =1 <<RIR_WAY (reg); - mb =div_u64_rem (tmp_mb,1000 , &kb); + gb =div_u64_rem (tmp_mb,1024 , &mb);edac_dbg (0 ,"CH#%d RIR#%d, limit: %u.%03u GB (0x%016Lx), way: %d, reg=0x%08x\n" , i, j, - mb, kb, + gb, (mb*1000 )/1024 , ((u64 )tmp_mb) <<20L , rir_way, reg);
@@ -904,10 +906,10 @@ static void get_memory_layout(const struct mem_ctl_info *mci) ®); tmp_mb =RIR_OFFSET (reg) <<6 ; - mb =div_u64_rem (tmp_mb,1000 , &kb); + gb =div_u64_rem (tmp_mb,1024 , &mb);edac_dbg (0 ,"CH#%d RIR#%d INTL#%d, offset %u.%03u GB (0x%016Lx), tgt: %d, reg=0x%08x\n" , i, j, k, - mb, kb, + gb, (mb*1000 )/1024 , ((u64 )tmp_mb) <<20L , (u32 )RIR_RNK_TGT (reg), reg);
@@ -945,7 +947,7 @@ static int get_memory_error_data(struct mem_ctl_info *mci,u8 ch_way, sck_way, pkg, sad_ha =0 ;u32 tad_offset;u32 rir_way; -u32 mb, kb; +u32 mb, gb;u64 ch_addr, offset, limit =0 , prv =0 ;
@@ -1183,10 +1185,10 @@ static int get_memory_error_data(struct mem_ctl_info *mci,continue ; limit =RIR_LIMIT (reg); - mb =div_u64_rem (limit >>20 ,1000 , &kb); + gb =div_u64_rem (limit >>20 ,1024 , &mb);edac_dbg (0 ,"RIR#%d, limit: %u.%03u GB (0x%016Lx), way: %d\n" , n_rir, - mb, kb, + gb, (mb*1000 )/1024 , limit,1 <<RIR_WAY (reg));if (ch_addr <= limit)
Signature · 1 line
2.1.0
Quoted 22 lines · Greg KH
Quoted 9 lines · Vinson Lee
Please consider upstream 3.19 commit
8c009100295597f23978c224aec5751a365bc965"sb_edac: Fix erroneousbytes->gigabytesconversion" for stable trees 3.4 - 3.18.This patch addresses an issue introduced with 3.4 commit
5b889e379f340f43b1252abde5d37a7084c846b9"Fixsb_edaccompilation with 32 bits kernels".commit
8c009100295597f23978c224aec5751a365bc965Quoted 8 lines
Author: Jim Snow <[email protected]> Date: Tue Nov 18 14:51:09 2014 +0100
sb_edac: Fix erroneousbytes->gigabytesconversionSigned-off-by Jim Snow <[email protected]>Signed-off-by Lukasz Anaczkowski <[email protected]>Signed-off-by Mauro Carvalho Chehab <[email protected]>It doesn't apply cleanly to 3.10 or 3.14-stable, can you provide a working backport?
Quoted 7 lines
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-edac" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
For the stable 3.10 tree, please use the 3.12.41 commit 0fd2dc596b4cbfe1cafc157c2b4ea30dbb95bece backported by Jiri Slaby. It applies cleanly to 3.10.79.
Cheers,
Vinson
Zefan Li
AppliedQuoted 4 lines · Vinson Lee
Please consider upstream 3.19 commit
8c009100295597f23978c224aec5751a365bc965"sb_edac: Fix erroneousbytes->gigabytesconversion" for stable trees 3.4 - 3.18.
Queued up for 3.4. Thanks!
Quoted 13 lines
This patch addresses an issue introduced with 3.4 commit
5b889e379f340f43b1252abde5d37a7084c846b9"Fixsb_edaccompilation with 32 bits kernels".commit
8c009100295597f23978c224aec5751a365bc965Author: Jim Snow <[email protected]> Date: Tue Nov 18 14:51:09 2014 +0100
sb_edac: Fix erroneousbytes->gigabytesconversionSigned-off-by Jim Snow <[email protected]>Signed-off-by Lukasz Anaczkowski <[email protected]>Signed-off-by Mauro Carvalho Chehab <[email protected]>