From: Jammy Huang <jammy_huang@aspeedtech.com> To: <eajames@linux.ibm.com>, <mchehab@kernel.org>, <joel@jms.id.au>, <andrew@aj.id.au>, <hverkuil-cisco@xs4all.nl>, <sakari.ailus@linux.intel.com>, <gregkh@linuxfoundation.org>, <laurent.pinchart@ideasonboard.com>, <linux-media@vger.kernel.org>, <openbmc@lists.ozlabs.org>, <linux-arm-kernel@lists.infradead.org>, <linux-aspeed@lists.ozlabs.org>, <linux-kernel@vger.kernel.org> Subject: [PATCH v5 03/10] media: aspeed: add more debug log messages Date: Thu, 18 Nov 2021 15:40:24 +0800 [thread overview] Message-ID: <20211118074030.685-4-jammy_huang@aspeedtech.com> (raw) In-Reply-To: <20211118074030.685-1-jammy_huang@aspeedtech.com> The new messages are listed as below: 1. jpeg header and capture buffer information 2. information for each irq 3. current capture mode, sync or direct-fetch 4. time consumed for each frame 5. input timing changed information Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com> --- v5: - no update v4: - modify log level v3: - update commit message v2: - new --- drivers/media/platform/aspeed-video.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c index 6af57467b6d4..e8dd0a7ebfc7 100644 --- a/drivers/media/platform/aspeed-video.c +++ b/drivers/media/platform/aspeed-video.c @@ -461,12 +461,17 @@ static void aspeed_video_write(struct aspeed_video *video, u32 reg, u32 val) static void update_perf(struct aspeed_video_perf *p) { + struct aspeed_video *v = container_of(p, struct aspeed_video, + perf); + p->duration = ktime_to_ms(ktime_sub(ktime_get(), p->last_sample)); p->totaltime += p->duration; p->duration_max = max(p->duration, p->duration_max); p->duration_min = min(p->duration, p->duration_min); + v4l2_dbg(2, debug, &v->v4l2_dev, "time consumed: %d ms\n", + p->duration); } static int aspeed_video_start_frame(struct aspeed_video *video) @@ -597,6 +602,12 @@ static irqreturn_t aspeed_video_irq(int irq, void *arg) struct aspeed_video *video = arg; u32 sts = aspeed_video_read(video, VE_INTERRUPT_STATUS); + v4l2_dbg(2, debug, &video->v4l2_dev, "irq sts=%#x %s%s%s%s\n", sts, + sts & VE_INTERRUPT_MODE_DETECT_WD ? ", unlock" : "", + sts & VE_INTERRUPT_MODE_DETECT ? ", lock" : "", + sts & VE_INTERRUPT_CAPTURE_COMPLETE ? ", capture-done" : "", + sts & VE_INTERRUPT_COMP_COMPLETE ? ", comp-done" : ""); + /* * Resolution changed or signal was lost; reset the engine and * re-initialize @@ -910,6 +921,7 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) /* Don't use direct mode below 1024 x 768 (irqs don't fire) */ if (size < DIRECT_FETCH_THRESHOLD) { + v4l2_dbg(1, debug, &video->v4l2_dev, "Capture: Sync Mode\n"); aspeed_video_write(video, VE_TGS_0, FIELD_PREP(VE_TGS_FIRST, video->frame_left - 1) | @@ -921,6 +933,7 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) video->frame_bottom + 1)); aspeed_video_update(video, VE_CTRL, 0, VE_CTRL_INT_DE); } else { + v4l2_dbg(1, debug, &video->v4l2_dev, "Capture: Direct Mode\n"); aspeed_video_update(video, VE_CTRL, 0, VE_CTRL_DIRECT_FETCH); } @@ -937,6 +950,10 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) if (!aspeed_video_alloc_buf(video, &video->srcs[1], size)) goto err_mem; + v4l2_dbg(1, debug, &video->v4l2_dev, "src buf0 addr(%#x) size(%d)\n", + video->srcs[0].dma, video->srcs[0].size); + v4l2_dbg(1, debug, &video->v4l2_dev, "src buf1 addr(%#x) size(%d)\n", + video->srcs[1].dma, video->srcs[1].size); aspeed_video_write(video, VE_SRC0_ADDR, video->srcs[0].dma); aspeed_video_write(video, VE_SRC1_ADDR, video->srcs[1].dma); } @@ -1201,6 +1218,9 @@ static int aspeed_video_set_dv_timings(struct file *file, void *fh, timings->type = V4L2_DV_BT_656_1120; + v4l2_dbg(1, debug, &video->v4l2_dev, "set new timings(%dx%d)\n", + timings->bt.width, timings->bt.height); + return 0; } @@ -1383,6 +1403,7 @@ static void aspeed_video_resolution_work(struct work_struct *work) .u.src_change.changes = V4L2_EVENT_SRC_CH_RESOLUTION, }; + v4l2_dbg(1, debug, &video->v4l2_dev, "fire source change event\n"); v4l2_event_queue(&video->vdev, &ev); } else if (test_bit(VIDEO_STREAMING, &video->flags)) { /* No resolution change so just restart streaming */ @@ -1715,6 +1736,7 @@ static int aspeed_video_init(struct aspeed_video *video) dev_err(dev, "Unable to request IRQ %d\n", irq); return rc; } + dev_info(video->dev, "irq %d\n", irq); video->eclk = devm_clk_get(dev, "eclk"); if (IS_ERR(video->eclk)) { @@ -1751,6 +1773,8 @@ static int aspeed_video_init(struct aspeed_video *video) rc = -ENOMEM; goto err_release_reserved_mem; } + dev_info(video->dev, "alloc mem size(%d) at %#x for jpeg header\n", + VE_JPEG_HEADER_SIZE, video->jpeg.dma); aspeed_video_init_jpeg_table(video->jpeg.virt, video->yuv420); -- 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Jammy Huang <jammy_huang@aspeedtech.com> To: <eajames@linux.ibm.com>, <mchehab@kernel.org>, <joel@jms.id.au>, <andrew@aj.id.au>, <hverkuil-cisco@xs4all.nl>, <sakari.ailus@linux.intel.com>, <gregkh@linuxfoundation.org>, <laurent.pinchart@ideasonboard.com>, <linux-media@vger.kernel.org>, <openbmc@lists.ozlabs.org>, <linux-arm-kernel@lists.infradead.org>, <linux-aspeed@lists.ozlabs.org>, <linux-kernel@vger.kernel.org> Subject: [PATCH v5 03/10] media: aspeed: add more debug log messages Date: Thu, 18 Nov 2021 15:40:24 +0800 [thread overview] Message-ID: <20211118074030.685-4-jammy_huang@aspeedtech.com> (raw) In-Reply-To: <20211118074030.685-1-jammy_huang@aspeedtech.com> The new messages are listed as below: 1. jpeg header and capture buffer information 2. information for each irq 3. current capture mode, sync or direct-fetch 4. time consumed for each frame 5. input timing changed information Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com> --- v5: - no update v4: - modify log level v3: - update commit message v2: - new --- drivers/media/platform/aspeed-video.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c index 6af57467b6d4..e8dd0a7ebfc7 100644 --- a/drivers/media/platform/aspeed-video.c +++ b/drivers/media/platform/aspeed-video.c @@ -461,12 +461,17 @@ static void aspeed_video_write(struct aspeed_video *video, u32 reg, u32 val) static void update_perf(struct aspeed_video_perf *p) { + struct aspeed_video *v = container_of(p, struct aspeed_video, + perf); + p->duration = ktime_to_ms(ktime_sub(ktime_get(), p->last_sample)); p->totaltime += p->duration; p->duration_max = max(p->duration, p->duration_max); p->duration_min = min(p->duration, p->duration_min); + v4l2_dbg(2, debug, &v->v4l2_dev, "time consumed: %d ms\n", + p->duration); } static int aspeed_video_start_frame(struct aspeed_video *video) @@ -597,6 +602,12 @@ static irqreturn_t aspeed_video_irq(int irq, void *arg) struct aspeed_video *video = arg; u32 sts = aspeed_video_read(video, VE_INTERRUPT_STATUS); + v4l2_dbg(2, debug, &video->v4l2_dev, "irq sts=%#x %s%s%s%s\n", sts, + sts & VE_INTERRUPT_MODE_DETECT_WD ? ", unlock" : "", + sts & VE_INTERRUPT_MODE_DETECT ? ", lock" : "", + sts & VE_INTERRUPT_CAPTURE_COMPLETE ? ", capture-done" : "", + sts & VE_INTERRUPT_COMP_COMPLETE ? ", comp-done" : ""); + /* * Resolution changed or signal was lost; reset the engine and * re-initialize @@ -910,6 +921,7 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) /* Don't use direct mode below 1024 x 768 (irqs don't fire) */ if (size < DIRECT_FETCH_THRESHOLD) { + v4l2_dbg(1, debug, &video->v4l2_dev, "Capture: Sync Mode\n"); aspeed_video_write(video, VE_TGS_0, FIELD_PREP(VE_TGS_FIRST, video->frame_left - 1) | @@ -921,6 +933,7 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) video->frame_bottom + 1)); aspeed_video_update(video, VE_CTRL, 0, VE_CTRL_INT_DE); } else { + v4l2_dbg(1, debug, &video->v4l2_dev, "Capture: Direct Mode\n"); aspeed_video_update(video, VE_CTRL, 0, VE_CTRL_DIRECT_FETCH); } @@ -937,6 +950,10 @@ static void aspeed_video_set_resolution(struct aspeed_video *video) if (!aspeed_video_alloc_buf(video, &video->srcs[1], size)) goto err_mem; + v4l2_dbg(1, debug, &video->v4l2_dev, "src buf0 addr(%#x) size(%d)\n", + video->srcs[0].dma, video->srcs[0].size); + v4l2_dbg(1, debug, &video->v4l2_dev, "src buf1 addr(%#x) size(%d)\n", + video->srcs[1].dma, video->srcs[1].size); aspeed_video_write(video, VE_SRC0_ADDR, video->srcs[0].dma); aspeed_video_write(video, VE_SRC1_ADDR, video->srcs[1].dma); } @@ -1201,6 +1218,9 @@ static int aspeed_video_set_dv_timings(struct file *file, void *fh, timings->type = V4L2_DV_BT_656_1120; + v4l2_dbg(1, debug, &video->v4l2_dev, "set new timings(%dx%d)\n", + timings->bt.width, timings->bt.height); + return 0; } @@ -1383,6 +1403,7 @@ static void aspeed_video_resolution_work(struct work_struct *work) .u.src_change.changes = V4L2_EVENT_SRC_CH_RESOLUTION, }; + v4l2_dbg(1, debug, &video->v4l2_dev, "fire source change event\n"); v4l2_event_queue(&video->vdev, &ev); } else if (test_bit(VIDEO_STREAMING, &video->flags)) { /* No resolution change so just restart streaming */ @@ -1715,6 +1736,7 @@ static int aspeed_video_init(struct aspeed_video *video) dev_err(dev, "Unable to request IRQ %d\n", irq); return rc; } + dev_info(video->dev, "irq %d\n", irq); video->eclk = devm_clk_get(dev, "eclk"); if (IS_ERR(video->eclk)) { @@ -1751,6 +1773,8 @@ static int aspeed_video_init(struct aspeed_video *video) rc = -ENOMEM; goto err_release_reserved_mem; } + dev_info(video->dev, "alloc mem size(%d) at %#x for jpeg header\n", + VE_JPEG_HEADER_SIZE, video->jpeg.dma); aspeed_video_init_jpeg_table(video->jpeg.virt, video->yuv420); -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-11-18 7:41 UTC|newest] Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-18 7:40 [PATCH v5 00/10] add aspeed-jpeg support for aspeed-video Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-18 7:40 ` [PATCH v5 01/10] media: aspeed: move err-handling together to the bottom Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-18 7:40 ` [PATCH v5 02/10] media: aspeed: use v4l2_info/v4l2_warn/v4l2_dbg for log Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-18 11:56 ` Sakari Ailus 2021-11-18 11:56 ` Sakari Ailus 2021-11-18 11:56 ` Sakari Ailus 2021-11-19 1:44 ` Jammy Huang 2021-11-18 7:40 ` Jammy Huang [this message] 2021-11-18 7:40 ` [PATCH v5 03/10] media: aspeed: add more debug log messages Jammy Huang 2021-11-18 11:57 ` Sakari Ailus 2021-11-18 11:57 ` Sakari Ailus 2021-11-18 11:57 ` Sakari Ailus 2021-11-19 1:55 ` Jammy Huang 2021-11-19 1:55 ` Jammy Huang 2021-11-19 1:55 ` Jammy Huang 2021-11-18 7:40 ` [PATCH v5 04/10] media: aspeed: refactor to gather format/compress settings Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-18 7:40 ` [PATCH v5 05/10] media: v4l: Add definition for the Aspeed JPEG format Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-18 12:33 ` Sakari Ailus 2021-11-18 12:33 ` Sakari Ailus 2021-11-18 12:33 ` Sakari Ailus 2021-11-19 2:02 ` Jammy Huang 2021-11-19 2:02 ` Jammy Huang 2021-11-19 2:02 ` Jammy Huang 2021-11-19 8:39 ` Paul Menzel 2021-11-19 8:39 ` Paul Menzel 2021-11-19 8:39 ` Paul Menzel 2021-11-19 9:37 ` Jammy Huang 2021-11-19 9:37 ` Jammy Huang 2021-11-19 9:37 ` Jammy Huang 2021-11-23 10:23 ` Sakari Ailus 2021-11-23 10:23 ` Sakari Ailus 2021-11-23 10:23 ` Sakari Ailus 2021-11-26 8:08 ` Jammy Huang 2021-11-26 8:08 ` Jammy Huang 2021-11-26 8:08 ` Jammy Huang 2021-11-18 7:40 ` [PATCH v5 06/10] media: v4l2-ctrls: Reserve controls for ASPEED Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-18 7:40 ` [PATCH v5 07/10] media: aspeed: Use runtime configuration Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-18 7:40 ` [PATCH v5 08/10] media: aspeed: Support aspeed mode to reduce compressed data Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-25 14:39 ` Hans Verkuil 2021-11-25 14:39 ` Hans Verkuil 2021-11-18 7:40 ` [PATCH v5 09/10] media: aspeed: add comments and macro Jammy Huang 2021-11-18 7:40 ` Jammy Huang 2021-11-25 14:31 ` [PATCH v5 00/10] add aspeed-jpeg support for aspeed-video Hans Verkuil 2021-11-25 14:31 ` Hans Verkuil 2021-11-26 8:17 ` Jammy Huang 2021-11-26 8:17 ` Jammy Huang 2021-11-26 9:51 ` Hans Verkuil 2021-11-26 9:51 ` Hans Verkuil 2021-12-02 1:29 ` Jammy Huang 2021-12-02 1:29 ` Jammy Huang 2021-12-07 3:03 ` Jammy Huang 2021-12-07 3:03 ` Jammy Huang 2021-12-20 19:55 ` sakari.ailus 2021-12-20 19:55 ` sakari.ailus 2021-12-20 19:55 ` sakari.ailus 2021-12-21 2:13 ` Jammy Huang 2021-12-21 2:13 ` Jammy Huang 2021-12-21 2:13 ` Jammy Huang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211118074030.685-4-jammy_huang@aspeedtech.com \ --to=jammy_huang@aspeedtech.com \ --cc=andrew@aj.id.au \ --cc=eajames@linux.ibm.com \ --cc=gregkh@linuxfoundation.org \ --cc=hverkuil-cisco@xs4all.nl \ --cc=joel@jms.id.au \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-aspeed@lists.ozlabs.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=mchehab@kernel.org \ --cc=openbmc@lists.ozlabs.org \ --cc=sakari.ailus@linux.intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.