Re: [PATCH] media: aspeed: Use v4l2_dbg to replace v4l2_warn to avoid log spam

From: Jammy Huang
Date: Thu Nov 24 2022 - 22:25:26 EST


Hi Paul,

On 2022/11/23 下午 04:08, Paul Menzel wrote:
Dear Jammy,


Am 10.11.22 um 10:56 schrieb Jammy Huang:
If the host is powered off, there will be many warning log. To avoid the

…, many warnings are logged.

Also, please paste one example message.
OK

Are the messages really just debug messages, or only in the one condition? If the latter, another solution should be found, like checking if the host is powered off, or rate limiting the message.

In my opinion, these logs are the former one.

video: Timed out; first mode detect

=> This would happen if timing detection failed.

No signal; don't start frame

=> This would happen when timing-detection is not finished with valid resolution detected.


log spam in this condition, replace v4l2_warn with v4l2_dbg.

Please add a reference, to Zev’s report on the mailing list.

Link: …
OK, thanks.

Signed-off-by: Jammy Huang <jammy_huang@xxxxxxxxxxxxxx>
---
  drivers/media/platform/aspeed/aspeed-video.c | 16 ++++++++--------
  1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/media/platform/aspeed/aspeed-video.c b/drivers/media/platform/aspeed/aspeed-video.c
index cf76aeee8cb6..662465d13a0e 100644
--- a/drivers/media/platform/aspeed/aspeed-video.c
+++ b/drivers/media/platform/aspeed/aspeed-video.c
@@ -586,13 +586,13 @@ static int aspeed_video_start_frame(struct aspeed_video *video)
      bool bcd_buf_need = (video->format != VIDEO_FMT_STANDARD);
        if (video->v4l2_input_status) {
-        v4l2_warn(&video->v4l2_dev, "No signal; don't start frame\n");
+        v4l2_dbg(1, debug, &video->v4l2_dev, "No signal; don't start frame\n");
          return 0;
      }
        if (!(seq_ctrl & VE_SEQ_CTRL_COMP_BUSY) ||
          !(seq_ctrl & VE_SEQ_CTRL_CAP_BUSY)) {
-        v4l2_warn(&video->v4l2_dev, "Engine busy; don't start frame\n");
+        v4l2_dbg(1, debug, &video->v4l2_dev, "Engine busy; don't start frame\n");
          return -EBUSY;
      }
  @@ -615,7 +615,7 @@ static int aspeed_video_start_frame(struct aspeed_video *video)
                         struct aspeed_video_buffer, link);
      if (!buf) {
          spin_unlock_irqrestore(&video->lock, flags);
-        v4l2_warn(&video->v4l2_dev, "No buffers; don't start frame\n");
+        v4l2_dbg(1, debug, &video->v4l2_dev, "No buffers; don't start frame\n");
          return -EPROTO;
      }
  @@ -796,7 +796,7 @@ static irqreturn_t aspeed_video_irq(int irq, void *arg)
              if (video->format == VIDEO_FMT_STANDARD &&
                  list_is_last(&buf->link, &video->buffers)) {
                  empty = false;
-                v4l2_warn(&video->v4l2_dev, "skip to keep last frame updated\n");
+                v4l2_dbg(1, debug, &video->v4l2_dev, "skip to keep last frame updated\n");
              } else {
                  buf->vb.vb2_buf.timestamp = ktime_get_ns();
                  buf->vb.sequence = video->sequence++;
@@ -1060,7 +1060,7 @@ static void aspeed_video_get_resolution(struct aspeed_video *video)
                                res_check(video),
                                MODE_DETECT_TIMEOUT);
          if (!rc) {
-            v4l2_warn(&video->v4l2_dev, "Timed out; first mode detect\n");
+            v4l2_dbg(1, debug, &video->v4l2_dev, "Timed out; first mode detect\n");
              clear_bit(VIDEO_RES_DETECT, &video->flags);
              return;
          }
@@ -1081,7 +1081,7 @@ static void aspeed_video_get_resolution(struct aspeed_video *video)
                                MODE_DETECT_TIMEOUT);
          clear_bit(VIDEO_RES_DETECT, &video->flags);
          if (!rc) {
-            v4l2_warn(&video->v4l2_dev, "Timed out; second mode detect\n");
+            v4l2_dbg(1, debug, &video->v4l2_dev, "Timed out; second mode detect\n");
              return;
          }
  @@ -1104,7 +1104,7 @@ static void aspeed_video_get_resolution(struct aspeed_video *video)
      } while (invalid_resolution && (tries++ < INVALID_RESOLUTION_RETRIES));
        if (invalid_resolution) {
-        v4l2_warn(&video->v4l2_dev, "Invalid resolution detected\n");
+        v4l2_dbg(1, debug, &video->v4l2_dev, "Invalid resolution detected\n");
          return;
      }
  @@ -1856,7 +1856,7 @@ static void aspeed_video_stop_streaming(struct vb2_queue *q)
                  !test_bit(VIDEO_FRAME_INPRG, &video->flags),
                  STOP_TIMEOUT);
      if (!rc) {
-        v4l2_warn(&video->v4l2_dev, "Timed out when stopping streaming\n");
+        v4l2_dbg(1, debug, &video->v4l2_dev, "Timed out when stopping streaming\n");
            /*
           * Need to force stop any DMA and try and get HW into a good

base-commit: aae703b02f92bde9264366c545e87cec451de471
prerequisite-patch-id: bf47e8ab2998acfbc32be5a4b7b5ae8a3ae4218b
prerequisite-patch-id: bf82715983e08f2e810ff1a82ce644f5f9006cd9
prerequisite-patch-id: 28a2040ef0235e5765f05d2fc5529bce2a0f4c6f
prerequisite-patch-id: 7e761c779730536db8baf50db5fc8caf058e95af
prerequisite-patch-id: c48ea20973fa35938a7d33a0e20d2900df48755f

--
Best Regards
Jammy