Lines Matching refs:mtr
189 #define RANK_DISABLE(mtr) GET_BITFIELD(mtr, 16, 19) argument
190 #define IS_DIMM_PRESENT(mtr) GET_BITFIELD(mtr, 14, 14) argument
191 #define RANK_CNT_BITS(mtr) GET_BITFIELD(mtr, 12, 13) argument
192 #define RANK_WIDTH_BITS(mtr) GET_BITFIELD(mtr, 2, 4) argument
193 #define COL_WIDTH_BITS(mtr) GET_BITFIELD(mtr, 0, 1) argument
283 enum dev_type (*get_width)(struct sbridge_pvt *pvt, u32 mtr);
596 static inline int numrank(enum type type, u32 mtr) in numrank() argument
598 int ranks = (1 << RANK_CNT_BITS(mtr)); in numrank()
606 ranks, max, (unsigned int)RANK_CNT_BITS(mtr), mtr); in numrank()
613 static inline int numrow(u32 mtr) in numrow() argument
615 int rows = (RANK_WIDTH_BITS(mtr) + 12); in numrow()
619 rows, (unsigned int)RANK_WIDTH_BITS(mtr), mtr); in numrow()
626 static inline int numcol(u32 mtr) in numcol() argument
628 int cols = (COL_WIDTH_BITS(mtr) + 10); in numcol()
632 cols, (unsigned int)COL_WIDTH_BITS(mtr), mtr); in numcol()
772 static enum dev_type sbridge_get_width(struct sbridge_pvt *pvt, u32 mtr) in sbridge_get_width() argument
778 static enum dev_type __ibridge_get_width(u32 mtr) in __ibridge_get_width() argument
782 switch (mtr) { in __ibridge_get_width()
800 static enum dev_type ibridge_get_width(struct sbridge_pvt *pvt, u32 mtr) in ibridge_get_width() argument
806 return __ibridge_get_width(GET_BITFIELD(mtr, 7, 8)); in ibridge_get_width()
809 static enum dev_type broadwell_get_width(struct sbridge_pvt *pvt, u32 mtr) in broadwell_get_width() argument
812 return __ibridge_get_width(GET_BITFIELD(mtr, 8, 9)); in broadwell_get_width()
992 u32 mtr; in get_dimm_config() local
1000 mtr_regs[j], &mtr); in get_dimm_config()
1001 edac_dbg(4, "Channel #%d MTR%d = %x\n", i, j, mtr); in get_dimm_config()
1002 if (IS_DIMM_PRESENT(mtr)) { in get_dimm_config()
1005 ranks = numrank(pvt->info.type, mtr); in get_dimm_config()
1006 rows = numrow(mtr); in get_dimm_config()
1007 cols = numcol(mtr); in get_dimm_config()
1019 dimm->dtype = pvt->info.get_width(pvt, mtr); in get_dimm_config()