Skip to content

Commit

Permalink
rockchip: bump edge kernel to 6.12
Browse files Browse the repository at this point in the history
  • Loading branch information
paolosabatino committed Nov 30, 2024
1 parent c647f40 commit c90a0f7
Show file tree
Hide file tree
Showing 127 changed files with 9,701 additions and 141 deletions.
126 changes: 94 additions & 32 deletions config/kernel/linux-rockchip-edge.config

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion config/sources/families/rockchip.conf
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ case $BRANCH in

edge)

declare -g KERNEL_MAJOR_MINOR="6.11" # Major and minor versions of this kernel.
declare -g KERNEL_MAJOR_MINOR="6.12" # Major and minor versions of this kernel.
;;

esac
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
config:
# Just some info stuff; not used by the patching scripts
name: rockchip-6.11
name: rockchip-6.12
kind: kernel
type: mainline # or: vendor
branch: linux-6.11.y
last-known-good-tag: v6.11
branch: linux-6.12.y
last-known-good-tag: v6.12
maintainers:
- { github: paolo.sabatino, name: Paolo Sabatino, email: [email protected], armbian-forum: jock }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,5 @@
patches.libreelec/linux-1000-drm-rockchip.patch
patches.libreelec/linux-1001-v4l2-rockchip.patch
patches.libreelec/linux-1002-for-libreelec.patch
patches.libreelec/linux-1003-temp-dw_hdmi-rockchip.patch
patches.libreelec/linux-2000-v4l2-wip-rkvdec-hevc.patch
patches.libreelec/linux-2001-v4l2-wip-iep-driver.patch
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockc
index 83a926c0a..b0832320e 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -1160,6 +1160,207 @@ static void vop_plane_atomic_async_update(struct drm_plane *plane,
@@ -1160,6 +1160,197 @@ static void vop_plane_atomic_async_update(struct drm_plane *plane,
}
}

Expand All @@ -28,10 +28,8 @@ index 83a926c0a..b0832320e 100644
+ const struct vop_win_data *win = vop_win->data;
+ struct vop *vop = to_vop(new_state->crtc);
+ struct drm_framebuffer *fb = new_state->fb;
+ unsigned int actual_w, actual_h;
+ unsigned int dsp_stx, dsp_sty;
+ uint32_t dsp_st;
+ struct drm_rect *src = &new_state->src;
+ struct drm_rect *dest = &new_state->dst;
+ struct drm_gem_object *obj;
+ struct rockchip_gem_object *rk_obj;
Expand All @@ -58,8 +56,6 @@ index 83a926c0a..b0832320e 100644
+ obj = fb->obj[0];
+ rk_obj = to_rockchip_obj(obj);
+
+// actual_w = drm_rect_width(src) >> 16;
+// actual_h = drm_rect_height(src) >> 16;
+
+ dsp_stx = dest->x1 + crtc->mode.htotal - crtc->mode.hsync_start;
+ dsp_sty = dest->y1 + crtc->mode.vtotal - crtc->mode.vsync_start;
Expand All @@ -71,8 +67,6 @@ index 83a926c0a..b0832320e 100644
+ * For y-mirroring we need to move address
+ * to the beginning of the last line.
+ */
+// if (new_state->rotation & DRM_MODE_REFLECT_Y)
+// dma_addr += (actual_h - 1) * fb->pitches[0];
+
+ spin_lock(&vop->reg_lock);
+
Expand All @@ -82,10 +76,6 @@ index 83a926c0a..b0832320e 100644
+
+ VOP_WIN_SET(vop, win, format, format);
+
+// if (win->phy->scl)
+// scl_vop_cal_scl_fac(vop, win, actual_w, actual_h,
+// drm_rect_width(dest), drm_rect_height(dest),
+// fb->format);
+
+ rb_swap = has_rb_swapped(vop->data->version, fb->format->format);
+ VOP_WIN_SET(vop, win, rb_swap, rb_swap);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
From a8f9689004d59f0a454ce8cb06bf1556971c1bad Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo Sabatino <[email protected]>
Date: Sat, 20 Jul 2024 13:58:49 +0200
Subject: [PATCH] compile .scr and install overlays in right path
Date: Wed, 2 Oct 2024 19:30:34 +0300
Subject: compile .scr and install overlays in right path

---
scripts/Makefile.dtbinst | 13 ++++++++++++-
scripts/Makefile.lib | 8 +++++++-
scripts/Makefile.dtbinst | 13 +++++++++-
scripts/Makefile.dtbs | 8 +++++-
2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
index 9d920419a62c..9144a1b7c909 100644
index 111111111111..222222222222 100644
--- a/scripts/Makefile.dtbinst
+++ b/scripts/Makefile.dtbinst
@@ -33,7 +33,18 @@ endef
Expand All @@ -32,33 +32,35 @@ index 9d920419a62c..9144a1b7c909 100644

endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 207325eaf1d1..587588518095 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -394,18 +394,24 @@ quiet_cmd_wrap_S_dtb = WRAP $@
echo '.balign STRUCT_ALIGNMENT'; \
} > $@
diff --git a/scripts/Makefile.dtbs b/scripts/Makefile.dtbs
index 111111111111..222222222222 100644
--- a/scripts/Makefile.dtbs
+++ b/scripts/Makefile.dtbs
@@ -122,17 +122,23 @@ dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
quiet_cmd_dtc = DTC $(quiet_dtb_check_tag) $@
cmd_dtc = \
$(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
- $(DTC) -o $@ -b 0 $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) \
+ $(DTC) -@ -o $@ -b 0 $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) \
$(DTC_FLAGS) -d $(depfile).dtc.tmp $(dtc-tmp) ; \
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) \
$(cmd_dtb_check)

+quiet_cmd_scr = MKIMAGE $@
+cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@
+
$(obj)/%.dtb.S: $(obj)/%.dtb FORCE
$(call if_changed,wrap_S_dtb)
$(obj)/%.dtb: $(obj)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
$(call if_changed_dep,dtc)

$(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE
$(call if_changed,wrap_S_dtb)
$(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE
$(call if_changed_dep,dtc)

+$(obj)/%.scr: $(src)/%.scr-cmd FORCE
+ $(call if_changed,scr)
+
quiet_dtb_check_tag = $(if $(dtb-check-enabled),[C], )
cmd_dtb_check = $(if $(dtb-check-enabled),; $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true)
# targets
# ---------------------------------------------------------------------------

quiet_cmd_dtc = DTC $(quiet_dtb_check_tag) $@
cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
- $(DTC) -o $@ -b 0 \
+ $(DTC) -@ -o $@ -b 0 \
$(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
-d $(depfile).dtc.tmp $(dtc-tmp) ; \
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) \
--
Armbian

Original file line number Diff line number Diff line change
Expand Up @@ -3542,7 +3542,7 @@ new file mode 100644
index 000000000000..14186365fdd4
--- /dev/null
+++ b/drivers/net/wireless/esp8089/esp_mac80211.c
@@ -0,0 +1,1728 @@
@@ -0,0 +1,1731 @@
+/*
+ * Copyright (c) 2011-2014 Espressif System.
+ *
Expand Down Expand Up @@ -4938,6 +4938,9 @@ index 000000000000..14186365fdd4
+ .set_tsf = esp_op_set_tsf,
+ .reset_tsf = esp_op_reset_tsf,
+ .rfkill_poll = esp_op_rfkill_poll,
+ .add_chanctx = ieee80211_emulate_add_chanctx,
+ .remove_chanctx = ieee80211_emulate_remove_chanctx,
+ .change_chanctx = ieee80211_emulate_change_chanctx,
+#ifdef HW_SCAN
+ .hw_scan = esp_op_hw_scan,
+ .remain_on_channel = esp_op_remain_on_channel,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35324,10 +35324,10 @@ index 000000000000..93b5275715b5
+#endif
diff --git a/drivers/net/wireless/ssv6051/smac/dev.c b/drivers/net/wireless/ssv6051/smac/dev.c
new file mode 100644
index 000000000000..214e93fae460
index 000000000000..cd93fa42648b
--- /dev/null
+++ b/drivers/net/wireless/ssv6051/smac/dev.c
@@ -0,0 +1,3881 @@
@@ -0,0 +1,3884 @@
+/*
+ * Copyright (c) 2015 South Silicon Valley Microelectronics Inc.
+ * Copyright (c) 2015 iComm Corporation
Expand Down Expand Up @@ -38511,6 +38511,9 @@ index 000000000000..214e93fae460
+ .conf_tx = ssv6200_conf_tx,
+ .ampdu_action = ssv6200_ampdu_action,
+ .wake_tx_queue = ieee80211_handle_wake_tx_queue,
+ .add_chanctx = ieee80211_emulate_add_chanctx,
+ .remove_chanctx = ieee80211_emulate_remove_chanctx,
+ .change_chanctx = ieee80211_emulate_change_chanctx,
+#ifdef CONFIG_PM
+ .suspend = ssv6xxx_suspend,
+ .resume = ssv6xxx_resume,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <[email protected]>
Date: Sun, 17 Feb 2019 22:14:38 +0000
Subject: [PATCH] mmc: core: set initial signal voltage on power off

Some boards have SD card connectors where the power rail cannot be switched
off by the driver. If the card has not been power cycled, it may still be
using 1.8V signaling after a warm re-boot. Bootroms expecting 3.3V signaling
will fail to boot from a UHS card that continue to use 1.8V signaling.

Set initial signal voltage in mmc_power_off() to allow re-boot to function.

This fixes re-boot with UHS cards on Asus Tinker Board (Rockchip RK3288),
same issue have been seen on some Rockchip RK3399 boards.

I am sending this as a RFC because I have no insights into SD/MMC subsystem,
this change fix a re-boot issue on my boards and does not break emmc/sdio.
Is this an acceptable workaround? Any advice is appreciated.

Signed-off-by: Jonas Karlman <[email protected]>
---
drivers/mmc/core/core.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index ef53a2578824..d4c53074154a 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -1368,6 +1368,14 @@ void mmc_power_off(struct mmc_host *host)
if (host->ios.power_mode == MMC_POWER_OFF)
return;

+ mmc_set_initial_signal_voltage(host);
+
+ /*
+ * This delay should be sufficient to allow the power supply
+ * to reach the minimum voltage.
+ */
+ mmc_delay(host->ios.power_delay_ms);
+
mmc_pwrseq_power_off(host);

host->ios.clock = 0;

Loading

0 comments on commit c90a0f7

Please sign in to comment.