Lines Matching refs:addr
289 static u64 mem_slice_hash(u64 addr, u64 mask, u64 hash_init, int intlv_bit)
291 u64 hash_addr = addr & mask, hash = hash_init;
292 u64 intlv = (addr >> intlv_bit) & 1;
468 static int decode_chan_idx(u64 addr, u64 mask, int intlv_bit)
470 u64 hash_addr = addr & mask, hash = 0;
471 u64 intlv = (addr >> intlv_bit) & 1;
480 static u64 decode_channel_addr(u64 addr, int intlv_bit)
485 channel_addr = GET_BITFIELD(addr, intlv_bit + 1, 63) << intlv_bit;
486 channel_addr |= GET_BITFIELD(addr, 0, intlv_bit - 1);
491 static void decode_addr(u64 addr, u32 hash, u64 s_size, int l_map,
496 if (addr > 2 * s_size) {
497 *sub_addr = addr - s_size;
503 *sub_addr = decode_channel_addr(addr, intlv_bit);
504 *idx = decode_chan_idx(addr, CHANNEL_HASH_MASK(hash), intlv_bit);
506 *sub_addr = decode_channel_addr(addr, 6);
507 *idx = GET_BITFIELD(addr, 6, 6);
514 u64 addr = res->imc_addr, sub_addr, s_size;
518 if (addr >= igen6_tom) {
519 edac_dbg(0, "Address 0x%llx out of range\n", addr);
527 decode_addr(addr, hash, s_size, l_map, &idx, &sub_addr);
761 edac_dbg(0, "ADDR 0x%llx\n", mce->addr);
919 if (!edac_debugfs_create_file("addr", 0200, igen6_test,