Lines Matching refs:prot_err
58 void cper_print_prot_err(const char *pfx, const struct cper_sec_prot_err *prot_err) in cper_print_prot_err() argument
60 if (prot_err->valid_bits & PROT_ERR_VALID_AGENT_TYPE) in cper_print_prot_err()
61 pr_info("%s agent_type: %d, %s\n", pfx, prot_err->agent_type, in cper_print_prot_err()
62 prot_err->agent_type < ARRAY_SIZE(prot_err_agent_type_strs) in cper_print_prot_err()
63 ? prot_err_agent_type_strs[prot_err->agent_type] in cper_print_prot_err()
66 if (prot_err->valid_bits & PROT_ERR_VALID_AGENT_ADDRESS) { in cper_print_prot_err()
67 switch (prot_err->agent_type) { in cper_print_prot_err()
82 pfx, prot_err->agent_addr.segment, in cper_print_prot_err()
83 prot_err->agent_addr.bus, in cper_print_prot_err()
84 prot_err->agent_addr.device, in cper_print_prot_err()
85 prot_err->agent_addr.function); in cper_print_prot_err()
89 prot_err->agent_addr.rcrb_base_addr); in cper_print_prot_err()
96 if (prot_err->valid_bits & PROT_ERR_VALID_DEVICE_ID) { in cper_print_prot_err()
99 switch (prot_err->agent_type) { in cper_print_prot_err()
108 prot_err->device_id.slot >> CPER_PCIE_SLOT_SHIFT); in cper_print_prot_err()
110 pfx, prot_err->device_id.vendor_id, in cper_print_prot_err()
111 prot_err->device_id.device_id); in cper_print_prot_err()
113 pfx, prot_err->device_id.subsystem_vendor_id, in cper_print_prot_err()
114 prot_err->device_id.subsystem_id); in cper_print_prot_err()
115 class_code = prot_err->device_id.class_code; in cper_print_prot_err()
124 if (prot_err->valid_bits & PROT_ERR_VALID_SERIAL_NUMBER) { in cper_print_prot_err()
125 switch (prot_err->agent_type) { in cper_print_prot_err()
131 prot_err->dev_serial_num.lower_dw, in cper_print_prot_err()
132 prot_err->dev_serial_num.upper_dw); in cper_print_prot_err()
139 if (prot_err->valid_bits & PROT_ERR_VALID_CAPABILITY) { in cper_print_prot_err()
140 switch (prot_err->agent_type) { in cper_print_prot_err()
149 prot_err->capability, in cper_print_prot_err()
150 sizeof(prot_err->capability), 0); in cper_print_prot_err()
157 if (prot_err->valid_bits & PROT_ERR_VALID_DVSEC) { in cper_print_prot_err()
158 pr_info("%s DVSEC length: 0x%04x\n", pfx, prot_err->dvsec_len); in cper_print_prot_err()
161 print_hex_dump(pfx, "", DUMP_PREFIX_OFFSET, 16, 4, (prot_err + 1), in cper_print_prot_err()
162 prot_err->dvsec_len, 0); in cper_print_prot_err()
165 if (prot_err->valid_bits & PROT_ERR_VALID_ERROR_LOG) { in cper_print_prot_err()
166 size_t size = sizeof(*prot_err) + prot_err->dvsec_len; in cper_print_prot_err()
169 pr_info("%s Error log length: 0x%04x\n", pfx, prot_err->err_len); in cper_print_prot_err()
172 cxl_ras = (struct cxl_ras_capability_regs *)((long)prot_err + size); in cper_print_prot_err()