Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Jammy Huang and committed by
Mauro Carvalho Chehab
a3de90af 932de2cd

+23 -17
+23 -17
drivers/media/platform/aspeed-video.c
··· 32 32 #include <media/v4l2-event.h> 33 33 #include <media/v4l2-ioctl.h> 34 34 #include <media/videobuf2-dma-contig.h> 35 + #include <linux/videodev2.h> 35 36 36 37 #define DEVICE_NAME "aspeed-video" 37 38 ··· 412 411 }, 413 412 }; 414 413 414 + static unsigned int debug; 415 + 415 416 static void aspeed_video_init_jpeg_table(u32 *table, bool yuv420) 416 417 { 417 418 int i; ··· 461 458 t &= ~clear; 462 459 t |= bits; 463 460 writel(t, video->base + reg); 464 - dev_dbg(video->dev, "update %03x[%08x -> %08x]\n", reg, before, 465 - readl(video->base + reg)); 461 + v4l2_dbg(3, debug, &video->v4l2_dev, "update %03x[%08x -> %08x]\n", 462 + reg, before, readl(video->base + reg)); 466 463 } 467 464 468 465 static u32 aspeed_video_read(struct aspeed_video *video, u32 reg) 469 466 { 470 467 u32 t = readl(video->base + reg); 471 468 472 - dev_dbg(video->dev, "read %03x[%08x]\n", reg, t); 469 + v4l2_dbg(3, debug, &video->v4l2_dev, "read %03x[%08x]\n", reg, t); 473 470 return t; 474 471 } 475 472 476 473 static void aspeed_video_write(struct aspeed_video *video, u32 reg, u32 val) 477 474 { 478 475 writel(val, video->base + reg); 479 - dev_dbg(video->dev, "write %03x[%08x]\n", reg, 480 - readl(video->base + reg)); 476 + v4l2_dbg(3, debug, &video->v4l2_dev, "write %03x[%08x]\n", reg, 477 + readl(video->base + reg)); 481 478 } 482 479 483 480 static void update_perf(struct aspeed_video_perf *p) ··· 498 495 u32 seq_ctrl = aspeed_video_read(video, VE_SEQ_CTRL); 499 496 500 497 if (video->v4l2_input_status) { 501 - dev_dbg(video->dev, "No signal; don't start frame\n"); 498 + v4l2_warn(&video->v4l2_dev, "No signal; don't start frame\n"); 502 499 return 0; 503 500 } 504 501 505 502 if (!(seq_ctrl & VE_SEQ_CTRL_COMP_BUSY) || 506 503 !(seq_ctrl & VE_SEQ_CTRL_CAP_BUSY)) { 507 - dev_dbg(video->dev, "Engine busy; don't start frame\n"); 504 + v4l2_warn(&video->v4l2_dev, "Engine busy; don't start frame\n"); 508 505 return -EBUSY; 509 506 } 510 507 ··· 513 510 struct aspeed_video_buffer, link); 514 511 if (!buf) { 515 512 spin_unlock_irqrestore(&video->lock, flags); 516 - dev_dbg(video->dev, "No buffers; don't start frame\n"); 513 + v4l2_warn(&video->v4l2_dev, "No buffers; don't start frame\n"); 517 514 return -EPROTO; 518 515 } 519 516 ··· 593 590 594 591 static void aspeed_video_irq_res_change(struct aspeed_video *video, ulong delay) 595 592 { 596 - dev_dbg(video->dev, "Resolution changed; resetting\n"); 593 + v4l2_dbg(1, debug, &video->v4l2_dev, "Resolution changed; resetting\n"); 597 594 598 595 set_bit(VIDEO_RES_CHANGE, &video->flags); 599 596 clear_bit(VIDEO_FRAME_INPRG, &video->flags); ··· 790 787 aspeed_video_write(video, VE_STREAM_BUF_SIZE, 791 788 compression_buffer_size_reg); 792 789 793 - dev_dbg(video->dev, "Max compressed size: %x\n", 794 - video->max_compressed_size); 790 + v4l2_dbg(1, debug, &video->v4l2_dev, "Max compressed size: %#x\n", 791 + video->max_compressed_size); 795 792 } 796 793 797 794 #define res_check(v) test_and_clear_bit(VIDEO_MODE_DETECT_DONE, &(v)->flags) ··· 828 825 res_check(video), 829 826 MODE_DETECT_TIMEOUT); 830 827 if (!rc) { 831 - dev_dbg(video->dev, "Timed out; first mode detect\n"); 828 + v4l2_warn(&video->v4l2_dev, "Timed out; first mode detect\n"); 832 829 clear_bit(VIDEO_RES_DETECT, &video->flags); 833 830 return; 834 831 } ··· 842 839 MODE_DETECT_TIMEOUT); 843 840 clear_bit(VIDEO_RES_DETECT, &video->flags); 844 841 if (!rc) { 845 - dev_dbg(video->dev, "Timed out; second mode detect\n"); 842 + v4l2_warn(&video->v4l2_dev, "Timed out; second mode detect\n"); 846 843 return; 847 844 } 848 845 ··· 876 873 } while (invalid_resolution && (tries++ < INVALID_RESOLUTION_RETRIES)); 877 874 878 875 if (invalid_resolution) { 879 - dev_dbg(video->dev, "Invalid resolution detected\n"); 876 + v4l2_warn(&video->v4l2_dev, "Invalid resolution detected\n"); 880 877 return; 881 878 } 882 879 ··· 893 890 aspeed_video_update(video, VE_SEQ_CTRL, 0, 894 891 VE_SEQ_CTRL_AUTO_COMP | VE_SEQ_CTRL_EN_WATCHDOG); 895 892 896 - dev_dbg(video->dev, "Got resolution: %dx%d\n", det->width, 897 - det->height); 893 + v4l2_dbg(1, debug, &video->v4l2_dev, "Got resolution: %dx%d\n", 894 + det->width, det->height); 898 895 } 899 896 900 897 static void aspeed_video_set_resolution(struct aspeed_video *video) ··· 1519 1516 !test_bit(VIDEO_FRAME_INPRG, &video->flags), 1520 1517 STOP_TIMEOUT); 1521 1518 if (!rc) { 1522 - dev_dbg(video->dev, "Timed out when stopping streaming\n"); 1519 + v4l2_warn(&video->v4l2_dev, "Timed out when stopping streaming\n"); 1523 1520 1524 1521 /* 1525 1522 * Need to force stop any DMA and try and get HW into a good ··· 1877 1874 }; 1878 1875 1879 1876 module_platform_driver(aspeed_video_driver); 1877 + 1878 + module_param(debug, int, 0644); 1879 + MODULE_PARM_DESC(debug, "Debug level (0=off,1=info,2=debug,3=reg ops)"); 1880 1880 1881 1881 MODULE_DESCRIPTION("ASPEED Video Engine Driver"); 1882 1882 MODULE_AUTHOR("Eddie James");