Lines Matching refs:res

120 static bool skx_adxl_decode(struct decoded_addr *res, bool error_in_1st_level_mem)
125 if (res->addr >= skx_tohm || (res->addr >= skx_tolm &&
126 res->addr < BIT_ULL(32))) {
127 edac_dbg(0, "Address 0x%llx out of range\n", res->addr);
131 if (adxl_decode(res->addr, adxl_values)) {
132 edac_dbg(0, "Failed to decode 0x%llx\n", res->addr);
136 res->socket = (int)adxl_values[component_indices[INDEX_SOCKET]];
138 res->imc = (adxl_nm_bitmap & BIT_NM_MEMCTRL) ?
140 res->channel = (adxl_nm_bitmap & BIT_NM_CHANNEL) ?
142 res->dimm = (adxl_nm_bitmap & BIT_NM_DIMM) ?
144 res->cs = (adxl_nm_bitmap & BIT_NM_CS) ?
147 res->imc = (int)adxl_values[component_indices[INDEX_MEMCTRL]];
148 res->channel = (int)adxl_values[component_indices[INDEX_CHANNEL]];
149 res->dimm = (int)adxl_values[component_indices[INDEX_DIMM]];
150 res->cs = (int)adxl_values[component_indices[INDEX_CS]];
153 if (res->imc > NUM_IMC - 1 || res->imc < 0) {
154 skx_printk(KERN_ERR, "Bad imc %d\n", res->imc);
159 if (d->imc[0].src_id == res->socket) {
160 res->dev = d;
165 if (!res->dev) {
167 res->socket, res->imc);
181 res->decoded_by_adxl = true;
535 struct decoded_addr *res)
585 if (res->decoded_by_adxl) {
596 res->socket, res->imc, res->rank,
597 res->row, res->column, res->bank_address, res->bank_group);
601 skx_show_retry_rd_err_log(res, skx_msg + len, MSG_SIZE - len, scrub_err);
608 res->channel, res->dimm, -1,
637 struct decoded_addr res;
648 memset(&res, 0, sizeof(res));
649 res.mce = mce;
650 res.addr = mce->addr & MCI_ADDR_PHYSADDR;
653 if (!(driver_decode && driver_decode(&res))) {
655 if (!(adxl_component_count && skx_adxl_decode(&res, skx_error_in_1st_level_mem(mce))))
659 mci = res.dev->imc[res.imc].mci;
682 skx_mce_output_error(mci, mce, &res);