Thread (21 messages) 21 messages, 6 authors, 2023-05-02

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.c
b/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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help