Skip to content

Commit be8920f

Browse files
committed
Bump rockchip armhf edge kernel to v7.0
1 parent 216dfe6 commit be8920f

166 files changed

Lines changed: 79397 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

config/sources/families/rockchip.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ case $BRANCH in
7878

7979
edge)
8080

81-
declare -g KERNEL_MAJOR_MINOR="6.19" # Major and minor versions of this kernel.
81+
declare -g KERNEL_MAJOR_MINOR="7.0" # Major and minor versions of this kernel.
8282
;;
8383

8484
esac

patch.patch

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec.c b/drivers/media/platform/rockchip/rkvdec/rkvdec.c
2+
index 1d1e9bfef8e9..62ca88e72570 100644
3+
--- a/drivers/media/platform/rockchip/rkvdec/rkvdec.c
4+
+++ b/drivers/media/platform/rockchip/rkvdec/rkvdec.c
5+
@@ -11,6 +11,7 @@
6+
7+
#include <linux/hw_bitfield.h>
8+
#include <linux/clk.h>
9+
+#include <linux/delay.h>
10+
#include <linux/genalloc.h>
11+
#include <linux/interrupt.h>
12+
#include <linux/iommu.h>
13+
@@ -20,6 +21,8 @@
14+
#include <linux/platform_device.h>
15+
#include <linux/pm.h>
16+
#include <linux/pm_runtime.h>
17+
+#include <linux/reset.h>
18+
+#include <linux/rockchip_pmu.h>
19+
#include <linux/slab.h>
20+
#include <linux/videodev2.h>
21+
#include <linux/workqueue.h>
22+
@@ -1095,6 +1098,11 @@ static void rkvdec_job_finish(struct rkvdec_ctx *ctx,
23+
struct rkvdec_dev *rkvdec = ctx->dev;
24+
25+
pm_runtime_put_autosuspend(rkvdec->dev);
26+
+
27+
+ if (result == VB2_BUF_STATE_ERROR &&
28+
+ rkvdec->reset_mask == RESET_NONE)
29+
+ rkvdec->reset_mask |= RESET_SOFT;
30+
+
31+
rkvdec_job_finish_no_pm(ctx, result);
32+
}
33+
34+
@@ -1167,6 +1175,33 @@ static void rkvdec_device_run(void *priv)
35+
36+
if (WARN_ON(!desc))
37+
return;
38+
+ if (rkvdec->reset_mask != RESET_NONE) {
39+
+
40+
+ if (rkvdec->reset_mask & RESET_SOFT) {
41+
+ writel(RKVDEC_SOFTRST_EN_P,
42+
+ rkvdec->regs + RKVDEC_REG_INTERRUPT);
43+
+ udelay(RKVDEC_RESET_DELAY);
44+
+ if (readl(rkvdec->regs + RKVDEC_REG_INTERRUPT)
45+
+ & RKVDEC_SOFTRESET_RDY)
46+
+ dev_info_ratelimited(rkvdec->dev,
47+
+ "softreset failed\n");
48+
+ }
49+
+
50+
+ if (rkvdec->reset_mask & RESET_HARD) {
51+
+ rockchip_pmu_idle_request(rkvdec->dev, true);
52+
+ ret = reset_control_assert(rkvdec->rstc);
53+
+ if (!ret) {
54+
+ udelay(RKVDEC_RESET_DELAY);
55+
+ ret = reset_control_deassert(rkvdec->rstc);
56+
+ }
57+
+ rockchip_pmu_idle_request(rkvdec->dev, false);
58+
+ if (ret)
59+
+ dev_notice_ratelimited(rkvdec->dev,
60+
+ "hardreset failed\n");
61+
+ }
62+
+ rkvdec->reset_mask = RESET_NONE;
63+
+ pm_runtime_suspend(rkvdec->dev);
64+
+ }
65+
66+
ret = pm_runtime_resume_and_get(rkvdec->dev);
67+
if (ret < 0) {
68+
@@ -1451,6 +1486,11 @@ static irqreturn_t rk3399_irq_handler(struct rkvdec_ctx *ctx)
69+
rkvdec_iommu_restore(rkvdec);
70+
}
71+
72+
+ if (state == VB2_BUF_STATE_ERROR) {
73+
+ rkvdec->reset_mask |= (status & RKVDEC_ERR_MASK) ?
74+
+ RESET_HARD : RESET_SOFT;
75+
+ }
76+
+
77+
if (cancel_delayed_work(&rkvdec->watchdog_work))
78+
rkvdec_job_finish(ctx, state);
79+
80+
@@ -1606,6 +1646,7 @@ static void rkvdec_watchdog_func(struct work_struct *work)
81+
ctx = v4l2_m2m_get_curr_priv(rkvdec->m2m_dev);
82+
if (ctx) {
83+
dev_err(rkvdec->dev, "Frame processing timed out!\n");
84+
+ rkvdec->reset_mask |= RESET_HARD;
85+
writel(RKVDEC_IRQ_DIS, rkvdec->regs + RKVDEC_REG_INTERRUPT);
86+
rkvdec_job_finish(ctx, VB2_BUF_STATE_ERROR);
87+
}
88+
@@ -1833,6 +1874,18 @@ static int rkvdec_probe(struct platform_device *pdev)
89+
if (!rkvdec->sram_pool && rkvdec->variant->num_rcb_sizes > 0)
90+
dev_info(&pdev->dev, "No sram node, RCB will be stored in RAM\n");
91+
92+
+
93+
+ rkvdec->rstc = devm_reset_control_array_get(&pdev->dev, RESET_CONTROL_OPTIONAL_EXCLUSIVE);
94+
+ if (IS_ERR(rkvdec->rstc)) {
95+
+ dev_err(&pdev->dev,
96+
+ "get resets failed %ld\n", PTR_ERR(rkvdec->rstc));
97+
+ return PTR_ERR(rkvdec->rstc);
98+
+ } else {
99+
+ dev_dbg(&pdev->dev,
100+
+ "requested %d resets\n",
101+
+ reset_control_get_count(&pdev->dev));
102+
+ }
103+
+
104+
pm_runtime_set_autosuspend_delay(&pdev->dev, 100);
105+
pm_runtime_use_autosuspend(&pdev->dev);
106+
pm_runtime_enable(&pdev->dev);
107+
@@ -1869,9 +1922,9 @@ static void rkvdec_remove(struct platform_device *pdev)
108+
109+
cancel_delayed_work_sync(&rkvdec->watchdog_work);
110+
111+
- rkvdec_v4l2_cleanup(rkvdec);
112+
- pm_runtime_disable(&pdev->dev);
113+
pm_runtime_dont_use_autosuspend(&pdev->dev);
114+
+ pm_runtime_disable(&pdev->dev);
115+
+ rkvdec_v4l2_cleanup(rkvdec);
116+
117+
if (rkvdec->empty_domain)
118+
iommu_domain_free(rkvdec->empty_domain);
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
config:
2+
# Just some info stuff; not used by the patching scripts
3+
name: rockchip-7.0
4+
kind: kernel
5+
type: mainline # or: vendor
6+
branch: linux-7.0.y
7+
last-known-good-tag: v7.0-rc6
8+
maintainers:
9+
- { github: paolo.sabatino, name: Paolo Sabatino, email: paolo.sabatino@gmail.com, armbian-forum: jock }
10+
11+
# .dts files in these directories will be copied as-is to the build tree; later ones overwrite earlier ones.
12+
# This is meant to provide a way to "add a board DTS" without having to null-patch them in.
13+
dts-directories:
14+
- { source: "dt", target: "arch/arm/boot/dts/rockchip" }
15+
16+
# every file in these directories will be copied as-is to the build tree; later ones overwrite earlier ones
17+
# This is meant as a way to have overlays, bare, in a directory, without having to null-patch them in.
18+
# @TODO need a solution to auto-Makefile the overlays as well
19+
overlay-directories:
20+
- { source: "overlay", target: "arch/arm/boot/dts/rockchip/overlay" }
21+
22+
# the Makefile in each of these directories will be magically patched to include the dts files copied
23+
# or patched-in; overlay subdir will be included "-y" if it exists.
24+
# No more Makefile patching needed, yay!
25+
auto-patch-dt-makefile:
26+
- { directory: "arch/arm/boot/dts/rockchip", config-var: "CONFIG_ARCH_ROCKCHIP" }
27+
28+
# configuration for when applying patches to git / auto-rewriting patches (development cycle helpers)
29+
patches-to-git:
30+
do-not-commit-files:
31+
- "MAINTAINERS" # constant churn, drop them. sorry.
32+
- "Documentation/devicetree/bindings/arm/rockchip.yaml" # constant churn, conflicts on every bump, drop it. sorry.
33+
do-not-commit-regexes: # Python-style regexes
34+
- "^arch/([a-zA-Z0-9]+)/boot/dts/([a-zA-Z0-9]+)/Makefile$" # ignore DT Makefile patches, we've an auto-patcher now
35+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Series from patches.armbian
2+
patches.armbian/bt-broadcom-serdev-workaround.patch
3+
patches.armbian/clk-rk322x-composite-mmc-clk.patch
4+
patches.armbian/driver-rk322x-audio-codec.patch
5+
patches.armbian/driver-rk3288-gpiomem.patch
6+
patches.armbian/driver-tinkerboard-alc4040-codec.patch
7+
patches.armbian/drm-fix-gem-memory-leak.patch
8+
patches.armbian/drm-rk322x-plane-overlay.patch
9+
patches.armbian/drm-rk322x-yuv-10bit-modes.patch
10+
patches.armbian/drm-rockchip-hardware-cursor.patch
11+
patches.armbian/dts-miqi-fan.patch
12+
patches.armbian/dts-miqi-hevc-rga.patch
13+
patches.armbian/dts-miqi-mali-gpu.patch
14+
patches.armbian/dts-miqi-regulator-fix.patch
15+
patches.armbian/dts-rk322x-iep-node.patch
16+
patches.armbian/dts-rk322x-pinctrl-nand.patch
17+
patches.armbian/dts-rk3288-disable-serial-dma.patch
18+
patches.armbian/dts-rk3288-fix-mmc-aliases.patch
19+
patches.armbian/dts-rk3288-gpu-500mhz-opp.patch
20+
patches.armbian/dts-rk3288-pinctrl-spi2.patch
21+
patches.armbian/dts-rk3288-thermal-rearrange-zones.patch
22+
patches.armbian/dts-tinkerboard-bt-rtl8723bs.patch
23+
patches.armbian/dts-tinkerboard-bt-uart-pins.patch
24+
patches.armbian/dts-tinkerboard-hevc-rga.patch
25+
patches.armbian/dts-tinkerboard-sdio-wifi.patch
26+
patches.armbian/dts-tinkerboard-sdmmc-properties.patch
27+
patches.armbian/dts-tinkerboard-spi-interface.patch
28+
patches.armbian/dts-veyron-flag-cache-flush.patch
29+
patches.armbian/general-add-overlay-compilation-support.patch
30+
patches.armbian/general-add-overlay-configfs.patch
31+
patches.armbian/general-add-restart-handler-for-act8846.patch
32+
patches.armbian/general-dwc2-fix-rk3288-reset-on-wake-quirk.patch
33+
patches.armbian/general-dwc2-fix-wait-peripheral.patch
34+
patches.armbian/general-dwc2-fix-wait-time.patch
35+
patches.armbian/general-dwc2-nak-gadget.patch
36+
patches.armbian/general-fix-reboot-from-kwiboo.patch
37+
patches.armbian/general-increase-spdif-dma-burst.patch
38+
patches.armbian/general-iommu-disable-dte-time.patch
39+
patches.armbian/general-linux-export-mm-trace-rss-stats.patch
40+
patches.armbian/general-pl330-01-fix-periodic-transfers.patch
41+
patches.armbian/general-pl330-02-add-support-for-interleaved-transfers.patch
42+
patches.armbian/general-pl330-04-bigger-mcode-buffer.patch
43+
patches.armbian/general-pl330-05-fix-unbalanced-power-down.patch
44+
patches.armbian/general-pl330-06-fix-buffer-underruns.patch
45+
patches.armbian/general-rk322x-gpio-ir-driver.patch
46+
patches.armbian/general-rockchip-various-fixes.patch
47+
patches.armbian/ir-keymap-rk322x-box.patch
48+
patches.armbian/ir-keymap-xt-q8l-v10.patch
49+
patches.armbian/misc-tinkerboard-spi-interface.patch
50+
patches.armbian/mmc-tinkerboard-sdmmc-reboot-fix.patch
51+
patches.armbian/rk322x-dmc-driver-01-sipv2-calls.patch
52+
patches.armbian/rk322x-dmc-driver-02-sip-constants.patch
53+
patches.armbian/rk322x-dmc-driver-03-dfi-driver.patch
54+
patches.armbian/rk322x-dmc-driver-04-driver.patch
55+
patches.armbian/rk322x-dmc-driver-05-fix-dfi.patch
56+
patches.armbian/rk322x-dwc2-no-clock-gating.patch
57+
patches.armbian/rk322x-usb-reset-props.patch
58+
patches.armbian/wifi-ath9k-no-bulk-EP3-EP4.patch
59+
patches.armbian/wifi-brcmfmac-add-bcm43342.patch
60+
patches.armbian/wifi-brcmfmac-ap6330-firmware.patch
61+
patches.armbian/wifi-driver-esp8089-01.patch
62+
patches.armbian/wifi-driver-esp8089-02.patch
63+
patches.armbian/wifi-driver-ssv6051.patch

0 commit comments

Comments
 (0)