Lines Matching refs:mtr
286 #define MTR_DIMMS_PRESENT(mtr) ((mtr) & (1 << 10))
287 #define MTR_DIMMS_ETHROTTLE(mtr) ((mtr) & (1 << 9))
288 #define MTR_DRAM_WIDTH(mtr) (((mtr) & (1 << 8)) ? 8 : 4)
289 #define MTR_DRAM_BANKS(mtr) (((mtr) & (1 << 6)) ? 8 : 4)
290 #define MTR_DRAM_BANKS_ADDR_BITS(mtr) ((MTR_DRAM_BANKS(mtr) == 8) ? 3 : 2)
291 #define MTR_DIMM_RANK(mtr) (((mtr) >> 5) & 0x1)
292 #define MTR_DIMM_RANK_ADDR_BITS(mtr) (MTR_DIMM_RANK(mtr) ? 2 : 1)
293 #define MTR_DIMM_ROWS(mtr) (((mtr) >> 2) & 0x3)
294 #define MTR_DIMM_ROWS_ADDR_BITS(mtr) (MTR_DIMM_ROWS(mtr) + 13)
295 #define MTR_DIMM_COLS(mtr) ((mtr) & 0x3)
296 #define MTR_DIMM_COLS_ADDR_BITS(mtr) (MTR_DIMM_COLS(mtr) + 10)
864 int mtr;
879 mtr = pvt->b0_mtr[n];
881 mtr = pvt->b1_mtr[n];
883 return mtr;
888 static void decode_mtr(int slot_row, u16 mtr)
892 ans = MTR_DIMMS_PRESENT(mtr);
895 slot_row, mtr, ans ? "" : "NOT ");
899 edac_dbg(2, "\t\tWIDTH: x%d\n", MTR_DRAM_WIDTH(mtr));
902 MTR_DIMMS_ETHROTTLE(mtr) ? "enabled" : "disabled");
904 edac_dbg(2, "\t\tNUMBANK: %d bank(s)\n", MTR_DRAM_BANKS(mtr));
906 MTR_DIMM_RANK(mtr) ? "double" : "single");
908 MTR_DIMM_ROWS(mtr) == 0 ? "8,192 - 13 rows" :
909 MTR_DIMM_ROWS(mtr) == 1 ? "16,384 - 14 rows" :
910 MTR_DIMM_ROWS(mtr) == 2 ? "32,768 - 15 rows" :
913 MTR_DIMM_COLS(mtr) == 0 ? "1,024 - 10 columns" :
914 MTR_DIMM_COLS(mtr) == 1 ? "2,048 - 11 columns" :
915 MTR_DIMM_COLS(mtr) == 2 ? "4,096 - 12 columns" :
922 int mtr;
926 mtr = determine_mtr(pvt, dimm, channel);
927 if (MTR_DIMMS_PRESENT(mtr)) {
934 addrBits = MTR_DRAM_BANKS_ADDR_BITS(mtr);
936 addrBits += MTR_DIMM_ROWS_ADDR_BITS(mtr);
938 addrBits += MTR_DIMM_COLS_ADDR_BITS(mtr);
940 addrBits += MTR_DIMM_RANK(mtr);
1170 int mtr;
1185 mtr = determine_mtr(pvt, slot, channel);
1188 if (!MTR_DIMMS_PRESENT(mtr))
1201 dimm->dtype = MTR_DRAM_WIDTH(mtr) == 8 ?
1208 dimm->edac_mode = MTR_DRAM_WIDTH(mtr) == 8 ?