Skip to content

Commit

Permalink
cxl/events: Add Component Identifier formatting for CXL spec rev 3.1
Browse files Browse the repository at this point in the history
Add Component Identifier formatting for CXL spec rev 3.1, Section
8.2.9.2.1, Table 8-44.

Examples for Component Identifier format in trace log,

validity_flags='CHANNEL|RANK|DEVICE|COMPONENT|COMPONENT PLDM FORMAT' \
comp_id=03 74 c5 08 9a 1a 0b fc d2 7e 2f 31 9b 3c 81 4d \
comp_id_pldm_valid_flags='PLDM Entity ID | Resource ID' \
pldm_entity_id=74 c5 08 9a 1a 0b pldm_resource_id=fc d2 7e 2f \

validity_flags='COMPONENT|COMPONENT PLDM FORMAT' \
comp_id=02 74 c5 08 9a 1a 0b fc d2 7e 2f 31 9b 3c 81 4d \
comp_id_pldm_valid_flags='Resource ID' \
pldm_entity_id=0x00 pldm_resource_id=fc d2 7e 2f

If the validity flags for component ID/component ID format or PLDM ID or
resource ID are not set, then pldm_entity_id=0x00 or pldm_resource_id=0x00
would be printed.

Component identifier formatting is used in the subsequent patches.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
Link: https://patch.msgid.link/20250111091756.1682-3-shiju.jose@huawei.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
  • Loading branch information
Shiju Jose authored and Dave Jiang committed Jan 13, 2025
1 parent 5e31e34 commit 8166675
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions drivers/cxl/core/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,28 @@ TRACE_EVENT(cxl_generic_event,
{ CXL_DPA_NOT_REPAIRABLE, "NOT_REPAIRABLE" } \
)

/*
* Component ID Format
* CXL 3.1 section 8.2.9.2.1; Table 8-44
*/
#define CXL_PLDM_COMPONENT_ID_ENTITY_VALID BIT(0)
#define CXL_PLDM_COMPONENT_ID_RES_VALID BIT(1)

#define show_comp_id_pldm_flags(flags) __print_flags(flags, " | ", \
{ CXL_PLDM_COMPONENT_ID_ENTITY_VALID, "PLDM Entity ID" }, \
{ CXL_PLDM_COMPONENT_ID_RES_VALID, "Resource ID" } \
)

#define show_pldm_entity_id(flags, valid_comp_id, valid_id_format, comp_id) \
(flags & valid_comp_id && flags & valid_id_format) ? \
(comp_id[0] & CXL_PLDM_COMPONENT_ID_ENTITY_VALID) ? \
__print_hex(&comp_id[1], 6) : "0x00" : "0x00"

#define show_pldm_resource_id(flags, valid_comp_id, valid_id_format, comp_id) \
(flags & valid_comp_id && flags & valid_id_format) ? \
(comp_id[0] & CXL_PLDM_COMPONENT_ID_RES_VALID) ? \
__print_hex(&comp_id[7], 4) : "0x00" : "0x00"

/*
* General Media Event Record - GMER
* CXL rev 3.0 Section 8.2.9.2.1.1; Table 8-43
Expand Down

0 comments on commit 8166675

Please sign in to comment.