Lines Matching refs:mtr
285 #define MTR_DIMMS_PRESENT(mtr) ((mtr) & (1 << 10))
286 #define MTR_DIMMS_ETHROTTLE(mtr) ((mtr) & (1 << 9))
287 #define MTR_DRAM_WIDTH(mtr) (((mtr) & (1 << 8)) ? 8 : 4)
288 #define MTR_DRAM_BANKS(mtr) (((mtr) & (1 << 6)) ? 8 : 4)
289 #define MTR_DRAM_BANKS_ADDR_BITS(mtr) ((MTR_DRAM_BANKS(mtr) == 8) ? 3 : 2)
290 #define MTR_DIMM_RANK(mtr) (((mtr) >> 5) & 0x1)
291 #define MTR_DIMM_RANK_ADDR_BITS(mtr) (MTR_DIMM_RANK(mtr) ? 2 : 1)
292 #define MTR_DIMM_ROWS(mtr) (((mtr) >> 2) & 0x3)
293 #define MTR_DIMM_ROWS_ADDR_BITS(mtr) (MTR_DIMM_ROWS(mtr) + 13)
294 #define MTR_DIMM_COLS(mtr) ((mtr) & 0x3)
295 #define MTR_DIMM_COLS_ADDR_BITS(mtr) (MTR_DIMM_COLS(mtr) + 10)
863 int mtr;
878 mtr = pvt->b0_mtr[n];
880 mtr = pvt->b1_mtr[n];
882 return mtr;
887 static void decode_mtr(int slot_row, u16 mtr)
891 ans = MTR_DIMMS_PRESENT(mtr);
894 slot_row, mtr, ans ? "" : "NOT ");
898 edac_dbg(2, "\t\tWIDTH: x%d\n", MTR_DRAM_WIDTH(mtr));
901 MTR_DIMMS_ETHROTTLE(mtr) ? "enabled" : "disabled");
903 edac_dbg(2, "\t\tNUMBANK: %d bank(s)\n", MTR_DRAM_BANKS(mtr));
905 MTR_DIMM_RANK(mtr) ? "double" : "single");
907 MTR_DIMM_ROWS(mtr) == 0 ? "8,192 - 13 rows" :
908 MTR_DIMM_ROWS(mtr) == 1 ? "16,384 - 14 rows" :
909 MTR_DIMM_ROWS(mtr) == 2 ? "32,768 - 15 rows" :
912 MTR_DIMM_COLS(mtr) == 0 ? "1,024 - 10 columns" :
913 MTR_DIMM_COLS(mtr) == 1 ? "2,048 - 11 columns" :
914 MTR_DIMM_COLS(mtr) == 2 ? "4,096 - 12 columns" :
921 int mtr;
925 mtr = determine_mtr(pvt, dimm, channel);
926 if (MTR_DIMMS_PRESENT(mtr)) {
933 addrBits = MTR_DRAM_BANKS_ADDR_BITS(mtr);
935 addrBits += MTR_DIMM_ROWS_ADDR_BITS(mtr);
937 addrBits += MTR_DIMM_COLS_ADDR_BITS(mtr);
939 addrBits += MTR_DIMM_RANK(mtr);
1169 int mtr;
1184 mtr = determine_mtr(pvt, slot, channel);
1187 if (!MTR_DIMMS_PRESENT(mtr))
1200 dimm->dtype = MTR_DRAM_WIDTH(mtr) == 8 ?
1207 dimm->edac_mode = MTR_DRAM_WIDTH(mtr) == 8 ?