lkml.org 
[lkml]   [2021]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 6/6] media: aspeed: richer debugfs
From
Dear Paul,

Thanks for you help. I will have an updated patch later accordingly.

On 2021/10/14 下午 02:57, Paul Menzel wrote:
> Dear Jammy,
>
>
> Am 14.10.21 um 08:54 schrieb Paul Menzel:
>
>> Am 14.10.21 um 05:48 schrieb Jammy Huang:
>> media: aspeed: richer debugfs
> It’d be great if you used a statement by adding a verb in imperative
> mood [1]. Maybe:
>
>> Extend debug message
> or
>
>> Add more debug log messages
>>> updated as below:
>>>
>>> Caputre:
>> Capture
>>
>>>    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
>> Do you have output with non-zero values? ;-)
>>
>> On what device did you test this?
>>
>>> 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;
>> Why does `08` refer to?
>>
>>>       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)");
>> Remove the colon, and add a space before (?
>>
>>> @@ -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;
>>>   }
>
> Kind regards,
>
> Paul
>
>
> [1]: https://chris.beams.io/posts/git-commit/

\
 
 \ /
  Last update: 2021-10-15 05:31    [W:0.092 / U:0.316 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site