Re: [PATCH v9 1/6] media: verisilicon: Do not set context src/dst formats in reset functions
From: Thorsten Leemhuis <linux@leemhuis.info>
Date: 2023-05-01 07:22:03
Also in:
linux-media, linux-rockchip, lkml, regressions
On 27.04.23 00:19, Shreeya Patel wrote:
On 20/02/23 16:18, Benjamin Gaignard wrote:quoted
Setting context source and destination formats should only be done in hantro_set_fmt_out() and hantro_set_fmt_cap() after check that the targeted queue is not busy. Remove these calls from hantro_reset_encoded_fmt() and hantro_reset_raw_fmt() to clean the driver. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>KernelCI found this patch causes a regression in the baseline.dmesg.alert test [1] on rk3399-rock-pi-4b [2], see the bisection report for more details [3]. Let us know if you have any questions. [1] https://github.com/kernelci/kernelci-core/blob/main/config/rootfs/debos/overlays/baseline/opt/kernelci/dmesg.sh [2] https://linux.kernelci.org/test/case/id/6442e825f19134d74c2e865d/ [3] https://groups.io/g/kernelci-results/message/40740
Thx for the report. FWIW, regzbot noticed there is a patch that refers
to the culprit that might have been landed in next after your test ran
for the last time (and meanwhile it was mainlined): f100ce3bbd6 ("media:
verisilicon: Fix crash when probing encoder")
I wonder if that is related or might even fix the issue.
Ciao, Thorsten
quoted
--- drivers/media/platform/verisilicon/hantro_v4l2.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.cb/drivers/media/platform/verisilicon/hantro_v4l2.c index c0d427956210..d8aa42bd4cd4 100644--- a/drivers/media/platform/verisilicon/hantro_v4l2.c +++ b/drivers/media/platform/verisilicon/hantro_v4l2.c@@ -382,13 +382,10 @@ hantro_reset_encoded_fmt(struct hantro_ctx *ctx)vpu_fmt = hantro_get_default_fmt(ctx, true); - if (ctx->is_encoder) { - ctx->vpu_dst_fmt = vpu_fmt; + if (ctx->is_encoder) fmt = &ctx->dst_fmt; - } else { - ctx->vpu_src_fmt = vpu_fmt; + else fmt = &ctx->src_fmt; - } hantro_reset_fmt(fmt, vpu_fmt); fmt->width = vpu_fmt->frmsize.min_width;@@ -408,11 +405,9 @@ hantro_reset_raw_fmt(struct hantro_ctx *ctx)raw_vpu_fmt = hantro_get_default_fmt(ctx, false); if (ctx->is_encoder) { - ctx->vpu_src_fmt = raw_vpu_fmt; raw_fmt = &ctx->src_fmt; encoded_fmt = &ctx->dst_fmt; } else { - ctx->vpu_dst_fmt = raw_vpu_fmt; raw_fmt = &ctx->dst_fmt; encoded_fmt = &ctx->src_fmt; }
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel