Lines Matching defs:prot_err

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