Hi Jessica

Please add reported by for dmitry and suggested-by for Rob.

Thanks

Abhinav

On 4/29/2022 5:39 PM, Jessica Zhang wrote:
Currently, dpu_hw_lm_collect_misr returns EINVAL if CRC is disabled.
This causes a lot of spam in the DRM debug logs as it's called for every
vblank.

Instead of returning EINVAL when CRC is disabled in
dpu_hw_lm_collect_misr, let's return ENODATA and add an extra ENODATA check
before the debug log in dpu_crtc_get_crc.

Signed-off-by: Jessica Zhang <[email protected]>
Tested-by: Jessica Zhang <[email protected]> # RB5  (qrb5165)
---
  drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c  | 3 ++-
  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c | 2 +-
  2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
index 7763558ef566..16ba9f9b9a78 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
@@ -204,7 +204,8 @@ static int dpu_crtc_get_crc(struct drm_crtc *crtc)
                rc = m->hw_lm->ops.collect_misr(m->hw_lm, &crcs[i]);
if (rc) {
-                       DRM_DEBUG_DRIVER("MISR read failed\n");
+                       if (rc != -ENODATA)
+                               DRM_DEBUG_DRIVER("MISR read failed\n");
                        return rc;
                }
        }
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c
index 86363c0ec834..462f5082099e 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c
@@ -138,7 +138,7 @@ static int dpu_hw_lm_collect_misr(struct dpu_hw_mixer *ctx, 
u32 *misr_value)
        ctrl = DPU_REG_READ(c, LM_MISR_CTRL);
if (!(ctrl & LM_MISR_CTRL_ENABLE))
-               return -EINVAL;
+               return -ENODATA;
if (!(ctrl & LM_MISR_CTRL_STATUS))
                return -EINVAL;

Reply via email to