From 8662ef1c7b8d13033b783d892e7bad954da34ff3 Mon Sep 17 00:00:00 2001 From: Igor Pecovnik Date: Mon, 5 Aug 2024 09:07:31 +0200 Subject: [PATCH] Meson 6.10: adjust patches to align with upstream changes Need to be tested on hardware --- ...-Make-the-HHI-registers-optional-WIP.patch | 2 +- ...on-Meson8-Meson8b-Meson8m2-VCLK-HACK.patch | 39 +++---------------- 2 files changed, 7 insertions(+), 34 deletions(-) diff --git a/patch/kernel/archive/meson-6.10/0055-drm-meson-Make-the-HHI-registers-optional-WIP.patch b/patch/kernel/archive/meson-6.10/0055-drm-meson-Make-the-HHI-registers-optional-WIP.patch index e3a7ae8807..c9b549bb4b 100644 --- a/patch/kernel/archive/meson-6.10/0055-drm-meson-Make-the-HHI-registers-optional-WIP.patch +++ b/patch/kernel/archive/meson-6.10/0055-drm-meson-Make-the-HHI-registers-optional-WIP.patch @@ -57,7 +57,7 @@ index 111111111111..222222222222 100644 + dev_err(&pdev->dev, + "Couldn't create the HHI regmap\n"); + ret = PTR_ERR(priv->hhi); -+ goto free_drm; ++ goto video_clock_exit; + } } diff --git a/patch/kernel/archive/meson-6.10/0057-drm-meson-Meson8-Meson8b-Meson8m2-VCLK-HACK.patch b/patch/kernel/archive/meson-6.10/0057-drm-meson-Meson8-Meson8b-Meson8m2-VCLK-HACK.patch index 06acbbce7a..54d3f132b1 100644 --- a/patch/kernel/archive/meson-6.10/0057-drm-meson-Meson8-Meson8b-Meson8m2-VCLK-HACK.patch +++ b/patch/kernel/archive/meson-6.10/0057-drm-meson-Meson8-Meson8b-Meson8m2-VCLK-HACK.patch @@ -123,14 +123,7 @@ index 111111111111..222222222222 100644 } priv->hhi = devm_regmap_init_mmio(dev, regs, -@@ -290,36 +368,36 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) - dev_err(&pdev->dev, - "Couldn't create the HHI regmap\n"); - ret = PTR_ERR(priv->hhi); -- goto free_drm; -+ goto video_clock_exit; - } - } +@@ -290,13 +368,13 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) priv->canvas = meson_canvas_get(dev); if (IS_ERR(priv->canvas)) { @@ -144,37 +137,17 @@ index 111111111111..222222222222 100644 - goto free_drm; + goto video_clock_exit; ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_0); - if (ret) { - meson_canvas_free(priv->canvas, priv->canvas_id_osd1); -- goto free_drm; -+ goto video_clock_exit; - } - ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_1); - if (ret) { - meson_canvas_free(priv->canvas, priv->canvas_id_osd1); - meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0); -- goto free_drm; -+ goto video_clock_exit; - } - ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_2); - if (ret) { - meson_canvas_free(priv->canvas, priv->canvas_id_osd1); - meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0); - meson_canvas_free(priv->canvas, priv->canvas_id_vd1_1); -- goto free_drm; -+ goto video_clock_exit; - } - - priv->vsync_irq = platform_get_irq(pdev, 0); + if (ret) + goto free_canvas_osd1; @@ -425,6 +503,8 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) exit_afbcd: if (priv->afbcd.ops) priv->afbcd.ops->exit(priv); +video_clock_exit: + meson_video_clock_exit(priv); - free_drm: - drm_dev_put(drm); - + free_canvas_vd1_2: + meson_canvas_free(priv->canvas, priv->canvas_id_vd1_2); + free_canvas_vd1_1: @@ -469,6 +549,8 @@ static void meson_drv_unbind(struct device *dev) if (priv->afbcd.ops)