Commit b55f91a0 authored by John Stultz's avatar John Stultz Committed by Rob Clark

drm: msm: Quiet down plane errors in atomic_check

With the db845c running AOSP, I see the following error on every
frame on the home screen:
  [drm:dpu_plane_atomic_check:915] [dpu error]plane33 invalid src 2880x1620+0+470 line:2560

This is due to the error paths in atomic_check using
DPU_ERROR_PLANE(), and the drm_hwcomposer using atomic_check
to decide how to composite the frame (thus it expects to see
atomic_check to fail).

In order to avoid spamming the logs, this patch converts the
DPU_ERROR_PLANE() calls to DPU_DEBUG_PLANE() calls in
atomic_check.

Cc: Todd Kjos <tkjos@google.com>
Cc: Alistair Delva <adelva@google.com>
Cc: Amit Pundir <amit.pundir@linaro.org>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: freedreno@lists.freedesktop.org
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent e3ff6881
...@@ -871,7 +871,7 @@ static int dpu_plane_atomic_check(struct drm_plane *plane, ...@@ -871,7 +871,7 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
pdpu->pipe_sblk->maxupscale << 16, pdpu->pipe_sblk->maxupscale << 16,
true, true); true, true);
if (ret) { if (ret) {
DPU_ERROR_PLANE(pdpu, "Check plane state failed (%d)\n", ret); DPU_DEBUG_PLANE(pdpu, "Check plane state failed (%d)\n", ret);
return ret; return ret;
} }
if (!state->visible) if (!state->visible)
...@@ -897,13 +897,13 @@ static int dpu_plane_atomic_check(struct drm_plane *plane, ...@@ -897,13 +897,13 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
(!(pdpu->features & DPU_SSPP_SCALER) || (!(pdpu->features & DPU_SSPP_SCALER) ||
!(pdpu->features & (BIT(DPU_SSPP_CSC) !(pdpu->features & (BIT(DPU_SSPP_CSC)
| BIT(DPU_SSPP_CSC_10BIT))))) { | BIT(DPU_SSPP_CSC_10BIT))))) {
DPU_ERROR_PLANE(pdpu, DPU_DEBUG_PLANE(pdpu,
"plane doesn't have scaler/csc for yuv\n"); "plane doesn't have scaler/csc for yuv\n");
return -EINVAL; return -EINVAL;
/* check src bounds */ /* check src bounds */
} else if (!dpu_plane_validate_src(&src, &fb_rect, min_src_size)) { } else if (!dpu_plane_validate_src(&src, &fb_rect, min_src_size)) {
DPU_ERROR_PLANE(pdpu, "invalid source " DRM_RECT_FMT "\n", DPU_DEBUG_PLANE(pdpu, "invalid source " DRM_RECT_FMT "\n",
DRM_RECT_ARG(&src)); DRM_RECT_ARG(&src));
return -E2BIG; return -E2BIG;
...@@ -912,19 +912,19 @@ static int dpu_plane_atomic_check(struct drm_plane *plane, ...@@ -912,19 +912,19 @@ static int dpu_plane_atomic_check(struct drm_plane *plane,
(src.x1 & 0x1 || src.y1 & 0x1 || (src.x1 & 0x1 || src.y1 & 0x1 ||
drm_rect_width(&src) & 0x1 || drm_rect_width(&src) & 0x1 ||
drm_rect_height(&src) & 0x1)) { drm_rect_height(&src) & 0x1)) {
DPU_ERROR_PLANE(pdpu, "invalid yuv source " DRM_RECT_FMT "\n", DPU_DEBUG_PLANE(pdpu, "invalid yuv source " DRM_RECT_FMT "\n",
DRM_RECT_ARG(&src)); DRM_RECT_ARG(&src));
return -EINVAL; return -EINVAL;
/* min dst support */ /* min dst support */
} else if (drm_rect_width(&dst) < 0x1 || drm_rect_height(&dst) < 0x1) { } else if (drm_rect_width(&dst) < 0x1 || drm_rect_height(&dst) < 0x1) {
DPU_ERROR_PLANE(pdpu, "invalid dest rect " DRM_RECT_FMT "\n", DPU_DEBUG_PLANE(pdpu, "invalid dest rect " DRM_RECT_FMT "\n",
DRM_RECT_ARG(&dst)); DRM_RECT_ARG(&dst));
return -EINVAL; return -EINVAL;
/* check decimated source width */ /* check decimated source width */
} else if (drm_rect_width(&src) > max_linewidth) { } else if (drm_rect_width(&src) > max_linewidth) {
DPU_ERROR_PLANE(pdpu, "invalid src " DRM_RECT_FMT " line:%u\n", DPU_DEBUG_PLANE(pdpu, "invalid src " DRM_RECT_FMT " line:%u\n",
DRM_RECT_ARG(&src), max_linewidth); DRM_RECT_ARG(&src), max_linewidth);
return -E2BIG; return -E2BIG;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment