This series adds support to use devcoredump for DPU driver. It introduces the msm_disp_snapshot module which assists in the capturing of register dumps during error scenarios. When a display related error happens, the msm_disp_snapshot module captures all the relevant register dumps along with the snapshot of the drm atomic state and triggers a devcoredump. changes in v5: - move the storage of disp_state from dpu_kms to msm_kms - absorb snprintf into the snapshot core by accepting var args - initialize disp snapshot module even for non-DPU targets - split up the patches into dpu, dsi and dp pieces for easier review - get rid of MSM_DISP_SNAPSHOT_IN_* macros by simplifying function Abhinav Kumar (7): drm: allow drm_atomic_print_state() to accept any drm_printer drm/msm: add support to take dpu snapshot drm/msm/dsi: add API to take DSI register snapshot drm/msm/dp: add API to take DP register snapshot drm/msm/disp/dpu1: add API to take DPU register snapshot drm/msm: add support to take dsi, dp and dpu snapshot drm/msm: add disp snapshot points across dpu driver drivers/gpu/drm/drm_atomic.c | 28 ++- drivers/gpu/drm/drm_atomic_uapi.c | 4 +- drivers/gpu/drm/drm_crtc_internal.h | 4 +- drivers/gpu/drm/msm/Makefile | 2 + drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 16 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 14 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 8 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 2 +- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 50 ++++++ drivers/gpu/drm/msm/disp/msm_disp_snapshot.c | 161 +++++++++++++++++ drivers/gpu/drm/msm/disp/msm_disp_snapshot.h | 154 ++++++++++++++++ drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c | 195 +++++++++++++++++++++ drivers/gpu/drm/msm/dp/dp_catalog.c | 9 + drivers/gpu/drm/msm/dp/dp_catalog.h | 4 + drivers/gpu/drm/msm/dp/dp_display.c | 29 +++ drivers/gpu/drm/msm/dp/dp_display.h | 1 + drivers/gpu/drm/msm/dsi/dsi.c | 5 + drivers/gpu/drm/msm/dsi/dsi.h | 5 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 16 ++ drivers/gpu/drm/msm/msm_drv.c | 27 ++- drivers/gpu/drm/msm/msm_drv.h | 2 + drivers/gpu/drm/msm/msm_kms.h | 7 + drivers/gpu/drm/selftests/test-drm_framebuffer.c | 1 + 23 files changed, 725 insertions(+), 19 deletions(-) create mode 100644 drivers/gpu/drm/msm/disp/msm_disp_snapshot.c create mode 100644 drivers/gpu/drm/msm/disp/msm_disp_snapshot.h create mode 100644 drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project