[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <9f098eab-7b98-4827-8538-3cab0e8d7c63@gmail.com>
Date: Thu, 19 Jun 2025 17:19:32 +0800
From: Jianfeng Liu <liujianfeng1994@...il.com>
To: detlev.casanova@...labora.com
Cc: alchark@...il.com, andrzej.p@...labora.com, cassel@...nel.org,
conor+dt@...nel.org, devicetree@...r.kernel.org, dmitry.perchanov@...el.com,
dsimic@...jaro.org, ezequiel@...guardiasur.com.ar,
gregkh@...uxfoundation.org, heiko@...ech.de, hverkuil@...all.nl,
jacopo.mondi@...asonboard.com, jeanmichel.hautbois@...asonboard.com,
jonas@...boo.se, kernel@...labora.com, kieran.bingham@...asonboard.com,
krzk+dt@...nel.org, laurent.pinchart@...asonboard.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org, linux-rockchip@...ts.infradead.org,
linux-staging@...ts.linux.dev, Jianfeng Liu <liujianfeng1994@...il.com>,
mchehab@...nel.org, naush@...pberrypi.com, nicolas.dufresne@...labora.com,
robh@...nel.org, sakari.ailus@...ux.intel.com,
sebastian.reichel@...labora.com, tomi.valkeinen@...asonboard.com,
umang.jain@...asonboard.com
Subject: Re: [PATCH v4 4/6] media: rockchip: Introduce the rkvdec2 driver
Hi Detlev,
On Tue, 25 Mar 2025 17:22:20 -0400, Detlev Casanova wrote:
>+ case RKVDEC2_ALLOC_SRAM:
>+ virt_addr = (unsigned long)ctx->rcb_bufs[i].cpu;
>+
>+ iommu_unmap(rkvdec->iommu_domain, virt_addr, rcb_size);
I'm testing your patch with ffmpeg patched with v4l2-request patches[1],
and I usually
get kernel panic here. After checking rkvdec->iommu_domain before
running iommu_unmap,
I can pass fluster ffmpeg v4l2-request test. Here is my patch based on
your commit:
diff --git a/drivers/media/platform/rockchip/rkvdec2/rkvdec2.c
b/drivers/media/platform/rockchip/rkvdec2/rkvdec2.c
index 75768561399..122bcdcebd4 100644
--- a/drivers/media/platform/rockchip/rkvdec2/rkvdec2.c
+++ b/drivers/media/platform/rockchip/rkvdec2/rkvdec2.c
@@ -681,8 +681,8 @@ static void rkvdec2_free_rcb(struct rkvdec2_ctx *ctx)
switch (ctx->rcb_bufs[i].type) {
case RKVDEC2_ALLOC_SRAM:
virt_addr = (unsigned long)ctx->rcb_bufs[i].cpu;
-
- iommu_unmap(rkvdec->iommu_domain, virt_addr,
rcb_size);
+ if (rkvdec->iommu_domain)
+ iommu_unmap(rkvdec->iommu_domain, virt_addr, rcb_size);
gen_pool_free(ctx->dev->sram_pool, virt_addr,
rcb_size);
break;
case RKVDEC2_ALLOC_DMA:
[1] https://github.com/amazingfate/FFmpeg/commits/n6.1.1-new-patches/
Best regards,
Jianfeng
Powered by blists - more mailing lists