diff --git a/patch/kernel/archive/meson64-5.11/meson64_add_shutdown_function_to_meson_drv.patch b/patch/kernel/archive/meson64-5.11/meson64_add_shutdown_function_to_meson_drv.patch deleted file mode 100644 index f71d019882..0000000000 --- a/patch/kernel/archive/meson64-5.11/meson64_add_shutdown_function_to_meson_drv.patch +++ /dev/null @@ -1,65 +0,0 @@ -From baed19f58ae55fa2081dc6c72d83080c1b6da01b Mon Sep 17 00:00:00 2001 -From: Artem Lapkin -Date: Wed, 24 Feb 2021 12:12:53 +0000 -Subject: [PATCH] FROMLIST(v1): drm/meson: add shutdown function to meson_drv - -Problem: random stucks on reboot stage about 1/20 stuck/reboots -// debug kernel log -[ 4.496660] reboot: kernel restart prepare CMD:(null) -[ 4.498114] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown begin -[ 4.503949] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown domain 0:VPU... -...STUCK... - -Solution: add shutdown function to meson_drm driver -// debug kernel log -[ 5.231896] reboot: kernel restart prepare CMD:(null) -[ 5.246135] [drm:meson_drv_shutdown] -... -[ 5.259271] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown begin -[ 5.274688] meson_ee_pwrc c883c000.system-controller:power-controller: shutdown domain 0:VPU... -[ 5.338331] reboot: Restarting system -[ 5.358293] psci: PSCI_0_2_FN_SYSTEM_RESET reboot_mode:0 cmd:(null) -bl31 reboot reason: 0xd -bl31 reboot reason: 0x0 -system cmd 1. -...REBOOT... - -Tested: on VIM1 VIM2 VIM3 VIM3L khadas sbcs - 1000+ successful reboots -and Odroid boards, WeTek Play2 (GXBB) - -Tested-by: Christian Hewitt -Signed-off-by: Artem Lapkin ---- - drivers/gpu/drm/meson/meson_drv.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c -index 42c5d3246cfcb..ac3808e846ff8 100644 ---- a/drivers/gpu/drm/meson/meson_drv.c -+++ b/drivers/gpu/drm/meson/meson_drv.c -@@ -482,6 +482,17 @@ static int meson_probe_remote(struct platform_device *pdev, - return count; - } - -+static void meson_drv_shutdown(struct platform_device *pdev) -+{ -+ struct meson_drm *priv = dev_get_drvdata(&pdev->dev); -+ struct drm_device *drm = priv->drm; -+ -+ dev_warn(&pdev->dev, "%s", __func__); -+ //drm_dev_unregister(drm); -+ drm_kms_helper_poll_fini(drm); -+ drm_atomic_helper_shutdown(drm); -+} -+ - static int meson_drv_probe(struct platform_device *pdev) - { - struct component_match *match = NULL; -@@ -553,6 +564,7 @@ static const struct dev_pm_ops meson_drv_pm_ops = { - - static struct platform_driver meson_drm_platform_driver = { - .probe = meson_drv_probe, -+ .shutdown = meson_drv_shutdown, - .driver = { - .name = "meson-drm", - .of_match_table = dt_match,