The purpose of this patch series is to add support to print the registers of sub-blocks in the DPU hardware catalog and fix the order in which all hardware blocks are dumped for a device core dump. This involves: 1. Changing data structure from stack to queue to fix the printing order of the device core dump. 2. Removing redundant suffix of sub-block names. 3. Removing redundant prefix of sub-block names. 4. Eliminating unused variable from relevant macros. 5. Defining names for sub-blocks that have not yet been defined. 6. Implementing wrapper function that prints the registers of sub-blocks when there is a need. Sample Output of the sspp_0 block and its sub-blocks for devcore dump: ======sspp_0====== ...registers ... ====sspp_0_scaler==== ... ... ====sspp_0_csc==== ... ... ====next_block==== ... This series depends on https://patchwork.freedesktop.org/series/119776/. --- Changes in v5: - Fixed indentation in refactor main block printing patch - Fixed formatting issues to satisfy checkpatch - Instead of passing 0 for DSC block, used actual length thanks to https://patchwork.freedesktop.org/series/119776/ - Link to v4: https://lore.kernel.org/r/20230622-devcoredump_patch-v4-0-e304ddbe9648@xxxxxxxxxxx Changes in v4: - Added review tags - Link to v3: https://lore.kernel.org/r/20230622-devcoredump_patch-v3-0-83601b72eb67@xxxxxxxxxxx Changes in v3: - Split sub-block changes and main block changes into two commits - Corrected typo in comment located in DSC for loop block - Eliminated variables mmio and base - Dropped unnecessary "%s" - Link to v2: https://lore.kernel.org/r/20230622-devcoredump_patch-v2-0-9e90a87d393f@xxxxxxxxxxx Changes in v2: - Changed spelling "sub block" to "sub-block" or "sblk". - Capitalized DPU. - Eliminated multiplexer/wrapper function. Inlined instead. - Changed if statements from feature checks to length checks. - Squashed prefix and suffix patch into one. - Link to v1: https://lore.kernel.org/r/20230622-devcoredump_patch-v1-0-3b2cdcc6a576@xxxxxxxxxxx --- Ryan McCann (6): drm/msm: Update dev core dump to not print backwards drm/msm/dpu: Drop unused num argument from relevant macros drm/msm/dpu: Define names for unnamed sblks drm/msm/dpu: Remove redundant prefix/suffix in name of sub-blocks drm/msm/dpu: Refactor printing of main blocks in device core dump drm/msm/dpu: Update dev core dump to dump registers of sub-blocks drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 90 +++++++++++------------ drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 74 +++++++++++++++---- drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c | 2 +- 3 files changed, 104 insertions(+), 62 deletions(-) --- base-commit: a92b5625851098af521cd92e4c518429b661c8f4 change-id: 20230622-devcoredump_patch-df7e8f6fd632 Best regards, -- Ryan McCann <quic_rmccann@xxxxxxxxxxx>