Lines Matching defs:mem

241 int cper_mem_err_location(struct cper_mem_err_compact *mem, char *msg)
250 if (mem->validation_bits & CPER_MEM_VALID_NODE)
251 n += scnprintf(msg + n, len - n, "node:%d ", mem->node);
252 if (mem->validation_bits & CPER_MEM_VALID_CARD)
253 n += scnprintf(msg + n, len - n, "card:%d ", mem->card);
254 if (mem->validation_bits & CPER_MEM_VALID_MODULE)
255 n += scnprintf(msg + n, len - n, "module:%d ", mem->module);
256 if (mem->validation_bits & CPER_MEM_VALID_RANK_NUMBER)
257 n += scnprintf(msg + n, len - n, "rank:%d ", mem->rank);
258 if (mem->validation_bits & CPER_MEM_VALID_BANK)
259 n += scnprintf(msg + n, len - n, "bank:%d ", mem->bank);
260 if (mem->validation_bits & CPER_MEM_VALID_BANK_GROUP)
262 mem->bank >> CPER_MEM_BANK_GROUP_SHIFT);
263 if (mem->validation_bits & CPER_MEM_VALID_BANK_ADDRESS)
265 mem->bank & CPER_MEM_BANK_ADDRESS_MASK);
266 if (mem->validation_bits & CPER_MEM_VALID_DEVICE)
267 n += scnprintf(msg + n, len - n, "device:%d ", mem->device);
268 if (mem->validation_bits & (CPER_MEM_VALID_ROW | CPER_MEM_VALID_ROW_EXT)) {
269 u32 row = mem->row;
271 row |= cper_get_mem_extension(mem->validation_bits, mem->extended);
274 if (mem->validation_bits & CPER_MEM_VALID_COLUMN)
275 n += scnprintf(msg + n, len - n, "column:%d ", mem->column);
276 if (mem->validation_bits & CPER_MEM_VALID_BIT_POSITION)
278 mem->bit_pos);
279 if (mem->validation_bits & CPER_MEM_VALID_REQUESTOR_ID)
281 mem->requestor_id);
282 if (mem->validation_bits & CPER_MEM_VALID_RESPONDER_ID)
284 mem->responder_id);
285 if (mem->validation_bits & CPER_MEM_VALID_TARGET_ID)
287 mem->target_id);
288 if (mem->validation_bits & CPER_MEM_VALID_CHIP_ID)
290 mem->extended >> CPER_MEM_CHIP_ID_SHIFT);
296 int cper_dimm_err_location(struct cper_mem_err_compact *mem, char *msg)
301 if (!msg || !(mem->validation_bits & CPER_MEM_VALID_MODULE_HANDLE))
305 dmi_memdev_name(mem->mem_dev_handle, &bank, &device);
311 mem->mem_dev_handle);
317 void cper_mem_err_pack(const struct cper_sec_mem_err *mem,
320 cmem->validation_bits = mem->validation_bits;
321 cmem->node = mem->node;
322 cmem->card = mem->card;
323 cmem->module = mem->module;
324 cmem->bank = mem->bank;
325 cmem->device = mem->device;
326 cmem->row = mem->row;
327 cmem->column = mem->column;
328 cmem->bit_pos = mem->bit_pos;
329 cmem->requestor_id = mem->requestor_id;
330 cmem->responder_id = mem->responder_id;
331 cmem->target_id = mem->target_id;
332 cmem->extended = mem->extended;
333 cmem->rank = mem->rank;
334 cmem->mem_array_handle = mem->mem_array_handle;
335 cmem->mem_dev_handle = mem->mem_dev_handle;
354 static void cper_print_mem(const char *pfx, const struct cper_sec_mem_err *mem,
362 (mem->validation_bits & ~(CPER_MEM_VALID_RANK_NUMBER - 1))) {
366 if (mem->validation_bits & CPER_MEM_VALID_ERROR_STATUS)
368 pfx, cper_mem_err_status_str(mem->error_status),
369 mem->error_status);
370 if (mem->validation_bits & CPER_MEM_VALID_PA)
372 pfx, mem->physical_addr);
373 if (mem->validation_bits & CPER_MEM_VALID_PA_MASK)
375 pfx, mem->physical_addr_mask);
376 cper_mem_err_pack(mem, &cmem);
379 if (mem->validation_bits & CPER_MEM_VALID_ERROR_TYPE) {
380 u8 etype = mem->error_type;