Messages in this thread | | | Subject | Re: [PATCH v2 2/7] media: aspeed: use v4l2_info/v4l2_warn/v4l2_dbg for log | From | Paul Menzel <> | Date | Mon, 18 Oct 2021 11:58:48 +0200 |
| |
Dear Jammy,
Am 18.10.21 um 11:22 schrieb Jammy Huang: > The debug log level, 0~3, is controlled by module_param, debug. > Higher the value, more the information.
Nit: *The* higher …
Please mention your “conversion heuristic”? For example, level 3 is for register operations (read, update, write)? Maybe that could also be added to the module parameter description.
Kind regards,
Paul
> Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com> > --- > drivers/media/platform/aspeed-video.c | 40 +++++++++++++++------------ > 1 file changed, 23 insertions(+), 17 deletions(-) > > diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c > index 6259cf17a7cc..642ca96c8c52 100644 > --- a/drivers/media/platform/aspeed-video.c > +++ b/drivers/media/platform/aspeed-video.c > @@ -30,6 +30,7 @@ > #include <media/v4l2-event.h> > #include <media/v4l2-ioctl.h> > #include <media/videobuf2-dma-contig.h> > +#include <linux/videodev2.h> > > #define DEVICE_NAME "aspeed-video" > > @@ -390,6 +391,8 @@ static const struct v4l2_dv_timings_cap aspeed_video_timings_cap = { > }, > }; > > +static unsigned int debug; > + > static void aspeed_video_init_jpeg_table(u32 *table, bool yuv420) > { > int i; > @@ -437,23 +440,23 @@ static void aspeed_video_update(struct aspeed_video *video, u32 reg, u32 clear, > t &= ~clear; > t |= bits; > writel(t, video->base + reg); > - dev_dbg(video->dev, "update %03x[%08x -> %08x]\n", reg, before, > - readl(video->base + reg)); > + v4l2_dbg(3, debug, &video->v4l2_dev, "update %03x[%08x -> %08x]\n", > + reg, before, readl(video->base + reg)); > } > > static u32 aspeed_video_read(struct aspeed_video *video, u32 reg) > { > u32 t = readl(video->base + reg); > > - dev_dbg(video->dev, "read %03x[%08x]\n", reg, t); > + v4l2_dbg(3, debug, &video->v4l2_dev, "read %03x[%08x]\n", reg, t); > return t; > } > > static void aspeed_video_write(struct aspeed_video *video, u32 reg, u32 val) > { > writel(val, video->base + reg); > - dev_dbg(video->dev, "write %03x[%08x]\n", reg, > - readl(video->base + reg)); > + v4l2_dbg(3, debug, &video->v4l2_dev, "write %03x[%08x]\n", reg, > + readl(video->base + reg)); > } > > static void update_perf(struct aspeed_video_perf *p) > @@ -474,13 +477,13 @@ static int aspeed_video_start_frame(struct aspeed_video *video) > u32 seq_ctrl = aspeed_video_read(video, VE_SEQ_CTRL); > > if (video->v4l2_input_status) { > - dev_dbg(video->dev, "No signal; don't start frame\n"); > + v4l2_warn(&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)) { > - dev_dbg(video->dev, "Engine busy; don't start frame\n"); > + v4l2_warn(&video->v4l2_dev, "Engine busy; don't start frame\n"); > return -EBUSY; > } > > @@ -489,7 +492,7 @@ static int aspeed_video_start_frame(struct aspeed_video *video) > struct aspeed_video_buffer, link); > if (!buf) { > spin_unlock_irqrestore(&video->lock, flags); > - dev_dbg(video->dev, "No buffers; don't start frame\n"); > + v4l2_warn(&video->v4l2_dev, "No buffers; don't start frame\n"); > return -EPROTO; > } > > @@ -565,7 +568,7 @@ static void aspeed_video_bufs_done(struct aspeed_video *video, > > static void aspeed_video_irq_res_change(struct aspeed_video *video, ulong delay) > { > - dev_dbg(video->dev, "Resolution changed; resetting\n"); > + v4l2_dbg(1, debug, &video->v4l2_dev, "Resolution changed; resetting\n"); > > set_bit(VIDEO_RES_CHANGE, &video->flags); > clear_bit(VIDEO_FRAME_INPRG, &video->flags); > @@ -766,8 +769,8 @@ static void aspeed_video_calc_compressed_size(struct aspeed_video *video, > aspeed_video_write(video, VE_STREAM_BUF_SIZE, > compression_buffer_size_reg); > > - dev_dbg(video->dev, "Max compressed size: %x\n", > - video->max_compressed_size); > + v4l2_dbg(1, debug, &video->v4l2_dev, "Max compressed size: %#x\n", > + video->max_compressed_size); > } > > #define res_check(v) test_and_clear_bit(VIDEO_MODE_DETECT_DONE, &(v)->flags) > @@ -804,7 +807,7 @@ static void aspeed_video_get_resolution(struct aspeed_video *video) > res_check(video), > MODE_DETECT_TIMEOUT); > if (!rc) { > - dev_dbg(video->dev, "Timed out; first mode detect\n"); > + v4l2_warn(&video->v4l2_dev, "Timed out; first mode detect\n"); > clear_bit(VIDEO_RES_DETECT, &video->flags); > return; > } > @@ -822,7 +825,7 @@ static void aspeed_video_get_resolution(struct aspeed_video *video) > MODE_DETECT_TIMEOUT); > clear_bit(VIDEO_RES_DETECT, &video->flags); > if (!rc) { > - dev_dbg(video->dev, "Timed out; second mode detect\n"); > + v4l2_warn(&video->v4l2_dev, "Timed out; second mode detect\n"); > return; > } > > @@ -856,7 +859,7 @@ static void aspeed_video_get_resolution(struct aspeed_video *video) > } while (invalid_resolution && (tries++ < INVALID_RESOLUTION_RETRIES)); > > if (invalid_resolution) { > - dev_dbg(video->dev, "Invalid resolution detected\n"); > + v4l2_warn(&video->v4l2_dev, "Invalid resolution detected\n"); > return; > } > > @@ -873,8 +876,8 @@ static void aspeed_video_get_resolution(struct aspeed_video *video) > aspeed_video_update(video, VE_SEQ_CTRL, 0, > VE_SEQ_CTRL_AUTO_COMP | VE_SEQ_CTRL_EN_WATCHDOG); > > - dev_dbg(video->dev, "Got resolution: %dx%d\n", det->width, > - det->height); > + v4l2_dbg(1, debug, &video->v4l2_dev, "Got resolution: %dx%d\n", > + det->width, det->height); > } > > static void aspeed_video_set_resolution(struct aspeed_video *video) > @@ -1501,7 +1504,7 @@ static void aspeed_video_stop_streaming(struct vb2_queue *q) > !test_bit(VIDEO_FRAME_INPRG, &video->flags), > STOP_TIMEOUT); > if (!rc) { > - dev_dbg(video->dev, "Timed out when stopping streaming\n"); > + v4l2_warn(&video->v4l2_dev, "Timed out when stopping streaming\n"); > > /* > * Need to force stop any DMA and try and get HW into a good > @@ -1856,6 +1859,9 @@ static struct platform_driver aspeed_video_driver = { > > module_platform_driver(aspeed_video_driver); > > +module_param(debug, int, 0644); > +MODULE_PARM_DESC(debug, "Debug level (0-3)"); > + > MODULE_DESCRIPTION("ASPEED Video Engine Driver"); > MODULE_AUTHOR("Eddie James"); > MODULE_LICENSE("GPL v2"); >
| |