.../mediatek/vcodec/mtk_vcodec_dbgfs.c | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-)
Getting dbgfs help information with command "echo -help > vdec".
Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
---
.../mediatek/vcodec/mtk_vcodec_dbgfs.c | 24 ++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
index 237d0dc8a1fc..2372fc449b45 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
@@ -52,6 +52,23 @@ static void mtk_vdec_dbgfs_get_format_type(struct mtk_vcodec_ctx *ctx, char *buf
*used += curr_len;
}
+static void mtk_vdec_dbgfs_get_help(char *buf, int *used, int total)
+{
+ int curr_len;
+
+ curr_len = snprintf(buf + *used, total - *used,
+ "help: (1: echo -'info' > vdec 2: cat vdec)\n");
+ *used += curr_len;
+
+ curr_len = snprintf(buf + *used, total - *used,
+ "\t-picinfo: get resolution\n");
+ *used += curr_len;
+
+ curr_len = snprintf(buf + *used, total - *used,
+ "\t-format: get output & capture queue format\n");
+ *used += curr_len;
+}
+
static ssize_t mtk_vdec_dbgfs_write(struct file *filp, const char __user *ubuf,
size_t count, loff_t *ppos)
{
@@ -84,6 +101,11 @@ static ssize_t mtk_vdec_dbgfs_read(struct file *filp, char __user *ubuf,
if (!buf)
return -ENOMEM;
+ if (strstr(dbgfs->dbgfs_buf, "-help")) {
+ mtk_vdec_dbgfs_get_help(buf, &used_len, total_len);
+ goto read_buffer;
+ }
+
if (strstr(dbgfs->dbgfs_buf, "-picinfo"))
dbgfs_index[MTK_VDEC_DBGFS_PICINFO] = true;
@@ -110,7 +132,7 @@ static ssize_t mtk_vdec_dbgfs_read(struct file *filp, char __user *ubuf,
mtk_vdec_dbgfs_get_format_type(ctx, buf, &used_len, total_len);
}
mutex_unlock(&dbgfs->dbgfs_lock);
-
+read_buffer:
ret = simple_read_from_buffer(ubuf, count, ppos, buf, used_len);
kfree(buf);
return ret;
--
2.25.1
Il 25/05/23 04:12, Yunfei Dong ha scritto:
> Getting dbgfs help information with command "echo -help > vdec".
>
> Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> ---
> .../mediatek/vcodec/mtk_vcodec_dbgfs.c | 24 ++++++++++++++++++-
> 1 file changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> index 237d0dc8a1fc..2372fc449b45 100644
> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> @@ -52,6 +52,23 @@ static void mtk_vdec_dbgfs_get_format_type(struct mtk_vcodec_ctx *ctx, char *buf
> *used += curr_len;
> }
>
> +static void mtk_vdec_dbgfs_get_help(char *buf, int *used, int total)
> +{
> + int curr_len;
> +
> + curr_len = snprintf(buf + *used, total - *used,
> + "help: (1: echo -'info' > vdec 2: cat vdec)\n");
> + *used += curr_len;
> +
> + curr_len = snprintf(buf + *used, total - *used,
> + "\t-picinfo: get resolution\n");
> + *used += curr_len;
> +
> + curr_len = snprintf(buf + *used, total - *used,
> + "\t-format: get output & capture queue format\n");
> + *used += curr_len;
> +}
> +
> static ssize_t mtk_vdec_dbgfs_write(struct file *filp, const char __user *ubuf,
> size_t count, loff_t *ppos)
> {
> @@ -84,6 +101,11 @@ static ssize_t mtk_vdec_dbgfs_read(struct file *filp, char __user *ubuf,
> if (!buf)
> return -ENOMEM;
>
> + if (strstr(dbgfs->dbgfs_buf, "-help")) {
I would print the help strings in two conditions:
1. -help
2. (nothing)
...so that if you don't echo anything to vdec (no params), you get the help text.
Otherwise, you would have to know that "-help" is a parameter that gives you help
text in the first place.
As for this commit "as is", it works as intended and it is useful to retrieve
the help text; you can either send a followup commit that extends the help to
the corner case that I've explained, or send a v6 adding that to this same commit.
I would prefer to see a v6 -- BUT -- since this series was sent a long time ago,
you will get my R-b and I will leave the final choice to Hans.
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
On 5/30/23 12:06, AngeloGioacchino Del Regno wrote:
> Il 25/05/23 04:12, Yunfei Dong ha scritto:
>> Getting dbgfs help information with command "echo -help > vdec".
>>
>> Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
>> ---
>> .../mediatek/vcodec/mtk_vcodec_dbgfs.c | 24 ++++++++++++++++++-
>> 1 file changed, 23 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
>> index 237d0dc8a1fc..2372fc449b45 100644
>> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
>> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
>> @@ -52,6 +52,23 @@ static void mtk_vdec_dbgfs_get_format_type(struct mtk_vcodec_ctx *ctx, char *buf
>> *used += curr_len;
>> }
>>
>> +static void mtk_vdec_dbgfs_get_help(char *buf, int *used, int total)
>> +{
>> + int curr_len;
>> +
>> + curr_len = snprintf(buf + *used, total - *used,
>> + "help: (1: echo -'info' > vdec 2: cat vdec)\n");
>> + *used += curr_len;
>> +
>> + curr_len = snprintf(buf + *used, total - *used,
>> + "\t-picinfo: get resolution\n");
>> + *used += curr_len;
>> +
>> + curr_len = snprintf(buf + *used, total - *used,
>> + "\t-format: get output & capture queue format\n");
>> + *used += curr_len;
>> +}
>> +
>> static ssize_t mtk_vdec_dbgfs_write(struct file *filp, const char __user *ubuf,
>> size_t count, loff_t *ppos)
>> {
>> @@ -84,6 +101,11 @@ static ssize_t mtk_vdec_dbgfs_read(struct file *filp, char __user *ubuf,
>> if (!buf)
>> return -ENOMEM;
>>
>> + if (strstr(dbgfs->dbgfs_buf, "-help")) {
>
> I would print the help strings in two conditions:
> 1. -help
> 2. (nothing)
>
> ...so that if you don't echo anything to vdec (no params), you get the help text.
> Otherwise, you would have to know that "-help" is a parameter that gives you help
> text in the first place.
>
> As for this commit "as is", it works as intended and it is useful to retrieve
> the help text; you can either send a followup commit that extends the help to
> the corner case that I've explained, or send a v6 adding that to this same commit.
>
> I would prefer to see a v6 -- BUT -- since this series was sent a long time ago,
> you will get my R-b and I will leave the final choice to Hans.
>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
>
>
I prefer a v6, rebased on top of the media_stage tree.
Regards,
Hans
Hi Hans,
On Tue, 2023-05-30 at 12:33 +0200, Hans Verkuil wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> On 5/30/23 12:06, AngeloGioacchino Del Regno wrote:
> > Il 25/05/23 04:12, Yunfei Dong ha scritto:
> >> Getting dbgfs help information with command "echo -help > vdec".
> >>
> >> Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> >> ---
> >> .../mediatek/vcodec/mtk_vcodec_dbgfs.c | 24
> ++++++++++++++++++-
> >> 1 file changed, 23 insertions(+), 1 deletion(-)
> >>
> >> diff --git
> a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> >> index 237d0dc8a1fc..2372fc449b45 100644
> >> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> >> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> >> @@ -52,6 +52,23 @@ static void
> mtk_vdec_dbgfs_get_format_type(struct mtk_vcodec_ctx *ctx, char *buf
> >> *used += curr_len;
> >> }
> >>
> >> +static void mtk_vdec_dbgfs_get_help(char *buf, int *used, int
> total)
> >> +{
> >> +int curr_len;
> >> +
> >> +curr_len = snprintf(buf + *used, total - *used,
> >> + "help: (1: echo -'info' > vdec 2: cat vdec)\n");
> >> +*used += curr_len;
> >> +
> >> +curr_len = snprintf(buf + *used, total - *used,
> >> + "\t-picinfo: get resolution\n");
> >> +*used += curr_len;
> >> +
> >> +curr_len = snprintf(buf + *used, total - *used,
> >> + "\t-format: get output & capture queue format\n");
> >> +*used += curr_len;
> >> +}
> >> +
> >> static ssize_t mtk_vdec_dbgfs_write(struct file *filp, const
> char __user *ubuf,
> >> size_t count, loff_t *ppos)
> >> {
> >> @@ -84,6 +101,11 @@ static ssize_t mtk_vdec_dbgfs_read(struct file
> *filp, char __user *ubuf,
> >> if (!buf)
> >> return -ENOMEM;
> >>
> >> +if (strstr(dbgfs->dbgfs_buf, "-help")) {
> >
> > I would print the help strings in two conditions:
> > 1. -help
> > 2. (nothing)
> >
> > ...so that if you don't echo anything to vdec (no params), you get
> the help text.
> > Otherwise, you would have to know that "-help" is a parameter that
> gives you help
> > text in the first place.
> >
> > As for this commit "as is", it works as intended and it is useful
> to retrieve
> > the help text; you can either send a followup commit that extends
> the help to
> > the corner case that I've explained, or send a v6 adding that to
> this same commit.
> >
> > I would prefer to see a v6 -- BUT -- since this series was sent a
> long time ago,
> > you will get my R-b and I will leave the final choice to Hans.
> >
> > Reviewed-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> >
> >
>
> I prefer a v6, rebased on top of the media_stage tree.
>
> Regards,
>
> Hans
I already have sent patch v6 to review.
Best Regards,
Yunfei Dong
On Tue, May 30, 2023 at 6:06 PM AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com> wrote:
>
> Il 25/05/23 04:12, Yunfei Dong ha scritto:
> > Getting dbgfs help information with command "echo -help > vdec".
> >
> > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> > ---
> > .../mediatek/vcodec/mtk_vcodec_dbgfs.c | 24 ++++++++++++++++++-
> > 1 file changed, 23 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> > index 237d0dc8a1fc..2372fc449b45 100644
> > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dbgfs.c
> > @@ -52,6 +52,23 @@ static void mtk_vdec_dbgfs_get_format_type(struct mtk_vcodec_ctx *ctx, char *buf
> > *used += curr_len;
> > }
> >
> > +static void mtk_vdec_dbgfs_get_help(char *buf, int *used, int total)
> > +{
> > + int curr_len;
> > +
> > + curr_len = snprintf(buf + *used, total - *used,
> > + "help: (1: echo -'info' > vdec 2: cat vdec)\n");
> > + *used += curr_len;
> > +
> > + curr_len = snprintf(buf + *used, total - *used,
> > + "\t-picinfo: get resolution\n");
> > + *used += curr_len;
> > +
> > + curr_len = snprintf(buf + *used, total - *used,
> > + "\t-format: get output & capture queue format\n");
> > + *used += curr_len;
> > +}
> > +
> > static ssize_t mtk_vdec_dbgfs_write(struct file *filp, const char __user *ubuf,
> > size_t count, loff_t *ppos)
> > {
> > @@ -84,6 +101,11 @@ static ssize_t mtk_vdec_dbgfs_read(struct file *filp, char __user *ubuf,
> > if (!buf)
> > return -ENOMEM;
> >
> > + if (strstr(dbgfs->dbgfs_buf, "-help")) {
>
> I would print the help strings in two conditions:
> 1. -help
> 2. (nothing)
>
> ...so that if you don't echo anything to vdec (no params), you get the help text.
> Otherwise, you would have to know that "-help" is a parameter that gives you help
> text in the first place.
>
> As for this commit "as is", it works as intended and it is useful to retrieve
> the help text; you can either send a followup commit that extends the help to
> the corner case that I've explained, or send a v6 adding that to this same commit.
>
> I would prefer to see a v6 -- BUT -- since this series was sent a long time ago,
> you will get my R-b and I will leave the final choice to Hans.
>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
The help file could just exist as a separate file. You can then use cleaner
interfaces for it.
ChenYu
© 2016 - 2026 Red Hat, Inc.