From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
To: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
kernel@collabora.com, linux-media@vger.kernel.org,
linux-rockchip@lists.infradead.org,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/4] media: rkvdec: Add an ops to check for decode errors
Date: Mon, 26 Dec 2022 19:15:41 -0300 [thread overview]
Message-ID: <Y6odDbRNY7g+eKag@eze-laptop> (raw)
In-Reply-To: <20221223193807.914935-2-nicolas.dufresne@collabora.com>
Hi Nicolas,
Thanks for the patch.
On Fri, Dec 23, 2022 at 02:38:03PM -0500, Nicolas Dufresne wrote:
> This optional internal ops allow each codec to do their own
> error status checking. The presence of an error is reported
> using the ERROR buffer state. This patch have no functional
> changes.
>
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> ---
> drivers/staging/media/rkvdec/rkvdec.c | 10 ++++++----
> drivers/staging/media/rkvdec/rkvdec.h | 2 ++
> 2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
> index 7bab7586918c1..7e76f8b728854 100644
> --- a/drivers/staging/media/rkvdec/rkvdec.c
> +++ b/drivers/staging/media/rkvdec/rkvdec.c
> @@ -950,6 +950,7 @@ static void rkvdec_v4l2_cleanup(struct rkvdec_dev *rkvdec)
> static irqreturn_t rkvdec_irq_handler(int irq, void *priv)
> {
> struct rkvdec_dev *rkvdec = priv;
> + struct rkvdec_ctx *ctx;
> enum vb2_buffer_state state;
> u32 status;
>
> @@ -958,12 +959,13 @@ static irqreturn_t rkvdec_irq_handler(int irq, void *priv)
> VB2_BUF_STATE_DONE : VB2_BUF_STATE_ERROR;
>
> writel(0, rkvdec->regs + RKVDEC_REG_INTERRUPT);
> - if (cancel_delayed_work(&rkvdec->watchdog_work)) {
> - struct rkvdec_ctx *ctx;
> + ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
>
> - ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
> + if (ctx->coded_fmt_desc->ops->check_error_info)
> + state = ctx->coded_fmt_desc->ops->check_error_info(ctx);
> +
> + if (cancel_delayed_work(&rkvdec->watchdog_work))
> rkvdec_job_finish(ctx, state);
> - }
>
> return IRQ_HANDLED;
> }
> diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h
> index 633335ebb9c49..4ae8e6c6b03c9 100644
> --- a/drivers/staging/media/rkvdec/rkvdec.h
> +++ b/drivers/staging/media/rkvdec/rkvdec.h
> @@ -73,6 +73,8 @@ struct rkvdec_coded_fmt_ops {
> struct vb2_v4l2_buffer *dst_buf,
> enum vb2_buffer_state result);
> int (*try_ctrl)(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl);
> + /* called from IRQ handler */
> + int (*check_error_info)(struct rkvdec_ctx *ctx);
I don't think it's a good idea to mix the return of this internal API
with enum vb2_buffer_state.
Please make the return type of this function a boolean or an integer
type that is decoupled from the VB2 buffer state.
Thanks!
Ezequiel
> };
>
> struct rkvdec_coded_fmt_desc {
> --
> 2.38.1
>
next prev parent reply other threads:[~2022-12-26 22:15 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20221223193807.914935-1-nicolas.dufresne@collabora.com>
2022-12-23 19:38 ` [PATCH v2 1/4] media: rkvdec: Add an ops to check for decode errors Nicolas Dufresne
2022-12-26 22:15 ` Ezequiel Garcia [this message]
2022-12-23 19:38 ` [PATCH v2 2/4] media: rkvdec: Fix RKVDEC_ERR_PKT_NUM macro Nicolas Dufresne
2022-12-23 19:38 ` [PATCH v2 3/4] media: rkvdec: Re-enable H.264 error detection Nicolas Dufresne
2022-12-26 4:17 ` Chen-Yu Tsai
2023-01-09 19:59 ` Nicolas Dufresne
2022-12-26 21:33 ` Ezequiel Garcia
2023-01-09 20:00 ` Nicolas Dufresne
2022-12-23 19:38 ` [PATCH v2 4/4] rkvdec: Improve error handling Nicolas Dufresne
2022-12-26 22:32 ` Ezequiel Garcia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y6odDbRNY7g+eKag@eze-laptop \
--to=ezequiel@vanguardiasur.com.ar \
--cc=gregkh@linuxfoundation.org \
--cc=kernel@collabora.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-staging@lists.linux.dev \
--cc=mchehab@kernel.org \
--cc=nicolas.dufresne@collabora.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox