media: aspeed: use v4l2_info/v4l2_warn/v4l2_dbg for log
The debug log level, 0~3, is controlled by module_param, debug. The higher the value, the more the information. 0: off 1: info 2: debug 3: register operations Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
Родитель
932de2cd49
Коммит
a3de90afe3
|
@ -32,6 +32,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"
|
||||
|
||||
|
@ -411,6 +412,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;
|
||||
|
@ -458,23 +461,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)
|
||||
|
@ -495,13 +498,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;
|
||||
}
|
||||
|
||||
|
@ -510,7 +513,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;
|
||||
}
|
||||
|
||||
|
@ -590,7 +593,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);
|
||||
|
@ -787,8 +790,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)
|
||||
|
@ -825,7 +828,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;
|
||||
}
|
||||
|
@ -839,7 +842,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;
|
||||
}
|
||||
|
||||
|
@ -873,7 +876,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;
|
||||
}
|
||||
|
||||
|
@ -890,8 +893,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)
|
||||
|
@ -1516,7 +1519,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
|
||||
|
@ -1875,6 +1878,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=off,1=info,2=debug,3=reg ops)");
|
||||
|
||||
MODULE_DESCRIPTION("ASPEED Video Engine Driver");
|
||||
MODULE_AUTHOR("Eddie James");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
|
Загрузка…
Ссылка в новой задаче