lkml.org 
[lkml]   [2021]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/6] media: aspeed: richer debugfs
    Date
    updated as below:

    Caputre:
    Mode : Direct fetch
    VGA bpp mode : 32
    Signal : Unlock
    Width : 1920
    Height : 1080
    FRC : 30

    Compression:
    Format : JPEG
    Subsampling : 444
    Quality : 0
    HQ Mode : N/A
    HQ Quality : 0
    Mode : N/A

    Performance:
    Frame# : 0
    Frame Duration(ms) :
    Now : 0
    Min : 0
    Max : 0
    FPS : 0

    Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com>
    ---
    drivers/media/platform/aspeed-video.c | 41 +++++++++++++++++++++++++--
    1 file changed, 38 insertions(+), 3 deletions(-)

    diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c
    index e1031fd09ac6..f2e5c49ee906 100644
    --- a/drivers/media/platform/aspeed-video.c
    +++ b/drivers/media/platform/aspeed-video.c
    @@ -464,6 +464,9 @@ static const struct v4l2_dv_timings_cap aspeed_video_timings_cap = {
    },
    };

    +static const char * const compress_mode_str[] = {"DCT Only",
    + "DCT VQ mix 2-color", "DCT VQ mix 4-color"};
    +
    static unsigned int debug;

    static void aspeed_video_init_jpeg_table(u32 *table, bool yuv420)
    @@ -1077,8 +1080,6 @@ static void aspeed_video_set_resolution(struct aspeed_video *video)

    static void aspeed_video_update_regs(struct aspeed_video *video)
    {
    - static const char * const compress_mode_str[] = {"DCT Only",
    - "DCT VQ mix 2-color", "DCT VQ mix 4-color"};
    u32 comp_ctrl = FIELD_PREP(VE_COMP_CTRL_DCT_LUM, video->jpeg_quality) |
    FIELD_PREP(VE_COMP_CTRL_DCT_CHR, video->jpeg_quality | 0x10) |
    FIELD_PREP(VE_COMP_CTRL_EN_HQ, video->hq_mode) |
    @@ -1795,9 +1796,29 @@ static const struct vb2_ops aspeed_video_vb2_ops = {
    static int aspeed_video_debugfs_show(struct seq_file *s, void *data)
    {
    struct aspeed_video *v = s->private;
    + u32 val08;

    seq_puts(s, "\n");

    + val08 = aspeed_video_read(v, VE_CTRL);
    + seq_puts(s, "Caputre:\n");
    + if (FIELD_GET(VE_CTRL_DIRECT_FETCH, val08)) {
    + seq_printf(s, " %-20s:\tDirect fetch\n", "Mode");
    + seq_printf(s, " %-20s:\t%s\n", "VGA bpp mode",
    + FIELD_GET(VE_CTRL_INT_DE, val08) ? "16" : "32");
    + } else {
    + seq_printf(s, " %-20s:\tSync\n", "Mode");
    + seq_printf(s, " %-20s:\t%s\n", "Video source",
    + FIELD_GET(VE_CTRL_SOURCE, val08) ?
    + "external" : "internal");
    + seq_printf(s, " %-20s:\t%s\n", "DE source",
    + FIELD_GET(VE_CTRL_INT_DE, val08) ?
    + "internal" : "external");
    + seq_printf(s, " %-20s:\t%s\n", "Cursor overlay",
    + FIELD_GET(VE_CTRL_AUTO_OR_CURSOR, val08) ?
    + "Without" : "With");
    + }
    +
    seq_printf(s, " %-20s:\t%s\n", "Signal",
    v->v4l2_input_status ? "Unlock" : "Lock");
    seq_printf(s, " %-20s:\t%d\n", "Width", v->pix_fmt.width);
    @@ -1806,6 +1827,21 @@ static int aspeed_video_debugfs_show(struct seq_file *s, void *data)

    seq_puts(s, "\n");

    + seq_puts(s, "Compression:\n");
    + seq_printf(s, " %-20s:\t%s\n", "Format",
    + v->partial_jpeg ? "Aspeed" : "JPEG");
    + seq_printf(s, " %-20s:\t%s\n", "Subsampling",
    + v->yuv420 ? "420" : "444");
    + seq_printf(s, " %-20s:\t%d\n", "Quality", v->jpeg_quality);
    + seq_printf(s, " %-20s:\t%s\n", "HQ Mode",
    + v->partial_jpeg ? (v->hq_mode ? "on" : "off") : "N/A");
    + seq_printf(s, " %-20s:\t%d\n", "HQ Quality", v->jpeg_hq_quality);
    + seq_printf(s, " %-20s:\t%s\n", "Mode",
    + v->partial_jpeg ? compress_mode_str[v->compression_mode]
    + : "N/A");
    +
    + seq_puts(s, "\n");
    +
    seq_puts(s, "Performance:\n");
    seq_printf(s, " %-20s:\t%d\n", "Frame#", v->sequence);
    seq_printf(s, " %-20s:\n", "Frame Duration(ms)");
    @@ -1814,7 +1850,6 @@ static int aspeed_video_debugfs_show(struct seq_file *s, void *data)
    seq_printf(s, " %-18s:\t%d\n", "Max", v->perf.duration_max);
    seq_printf(s, " %-20s:\t%d\n", "FPS", 1000/(v->perf.totaltime/v->sequence));

    -
    return 0;
    }

    --
    2.25.1
    \
     
     \ /
      Last update: 2021-10-14 05:48    [W:4.348 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site