It is more likely that resource allocation may fail in complex usage
case, such as quad-pipe case, than existing usage cases.
A resource type ID is printed on failure in the current implementation,
but the raw ID number is not explicit enough to help easily understand
which resource caused the failure, so add a table to match the type ID
to an human readable resource name and use it in the error print.

Signed-off-by: Jun Nie <jun....@linaro.org>
Reviewed-by: Jessica Zhang <quic_jessz...@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
index 
25382120cb1a4f2b68b0c6573371f75fb8d489ea..2c77c74fac0fda649da8ce19b7b3c6cb32b9535c
 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
@@ -865,6 +865,21 @@ void dpu_rm_release_all_sspp(struct dpu_global_state 
*global_state,
                ARRAY_SIZE(global_state->sspp_to_crtc_id), crtc_id);
 }
 
+static char *dpu_hw_blk_type_name[] = {
+       [DPU_HW_BLK_TOP] = "TOP",
+       [DPU_HW_BLK_SSPP] = "SSPP",
+       [DPU_HW_BLK_LM] = "LM",
+       [DPU_HW_BLK_CTL] = "CTL",
+       [DPU_HW_BLK_PINGPONG] = "pingpong",
+       [DPU_HW_BLK_INTF] = "INTF",
+       [DPU_HW_BLK_WB] = "WB",
+       [DPU_HW_BLK_DSPP] = "DSPP",
+       [DPU_HW_BLK_MERGE_3D] = "merge_3d",
+       [DPU_HW_BLK_DSC] = "DSC",
+       [DPU_HW_BLK_CDM] = "CDM",
+       [DPU_HW_BLK_MAX] = "unknown",
+};
+
 /**
  * dpu_rm_get_assigned_resources - Get hw resources of the given type that are
  *     assigned to this encoder
@@ -946,13 +961,13 @@ int dpu_rm_get_assigned_resources(struct dpu_rm *rm,
                }
 
                if (num_blks == blks_size) {
-                       DPU_ERROR("More than %d resources assigned to crtc 
%d\n",
-                                 blks_size, crtc_id);
+                       DPU_ERROR("More than %d %s assigned to crtc %d\n",
+                                 blks_size, dpu_hw_blk_type_name[type], 
crtc_id);
                        break;
                }
                if (!hw_blks[i]) {
-                       DPU_ERROR("Allocated resource %d unavailable to assign 
to crtc %d\n",
-                                 type, crtc_id);
+                       DPU_ERROR("%s unavailable to assign to crtc %d\n",
+                                 dpu_hw_blk_type_name[type], crtc_id);
                        break;
                }
                blks[num_blks++] = hw_blks[i];

-- 
2.34.1

Reply via email to