Files
build/patch/kernel/archive/rockchip-6.17/patches.armbian/general-fix-vdpu38x-32bit-archs.patch
Paolo Sabatino 29317c6f7e update rockchip 32 bit edge kernel to 6.17
* import new layout for libreelec patches (no more mbox)
* refactor existing patches to kernel 6.17
* fix uboot issue causing VOP IOMMU page fault and no screen
2025-09-18 22:48:06 +02:00

54 lines
2.4 KiB
Diff

From 37b944b341c637749f1318366941f6e0e718a1cf Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <paolo.sabatino@gmail.com>
Date: Tue, 16 Sep 2025 14:21:22 +0200
Subject: [PATCH] fix vdpu381/383 compilation on 32 bit archs
---
drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-h264.c | 2 +-
drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-h264.c | 2 +-
drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-h264.c b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-h264.c
index e65a56bc9c63..95e6a785eac2 100644
--- a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-h264.c
+++ b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-h264.c
@@ -439,7 +439,7 @@ static int rkvdec_h264_run(struct rkvdec_ctx *ctx)
unsigned long axi_rate = clk_get_rate(rkvdec->axi_clk);
if (axi_rate)
- watchdog_time = 2 * (1000 * timeout_threshold) / axi_rate;
+ watchdog_time = div_u64(2 * (1000 * timeout_threshold), axi_rate);
else
watchdog_time = 2000;
schedule_delayed_work(&rkvdec->watchdog_work,
diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-h264.c b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-h264.c
index bb2c62d9c3d4..ffa0b35db8c0 100644
--- a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-h264.c
+++ b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-h264.c
@@ -550,7 +550,7 @@ static int rkvdec_h264_run(struct rkvdec_ctx *ctx)
axi_rate = clk_get_rate(rkvdec->axi_clk);
if (axi_rate)
- watchdog_time = 2 * (1000 * timeout_threshold) / axi_rate;
+ watchdog_time = div_u64(2 * (1000 * timeout_threshold), axi_rate);
else
watchdog_time = 2000;
schedule_delayed_work(&rkvdec->watchdog_work,
diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c
index 7d53c28e954e..0297ff89fe5b 100644
--- a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c
+++ b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c
@@ -656,7 +656,7 @@ static int rkvdec_hevc_run(struct rkvdec_ctx *ctx)
axi_rate = clk_get_rate(rkvdec->axi_clk);
if (axi_rate)
- watchdog_time = 2 * (1000 * timeout_threshold) / axi_rate;
+ watchdog_time = div_u64(2 * (1000 * timeout_threshold), axi_rate);
else
watchdog_time = 2000;
schedule_delayed_work(&rkvdec->watchdog_work,
--
2.43.0