aboutsummaryrefslogtreecommitdiffstats
path: root/testing/linux-amlogic
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2020-01-29 00:06:56 +0100
committerLeo <thinkabit.ukim@gmail.com>2020-01-29 00:06:56 +0100
commitc10f2d9b183c51fddfcb61024d01a5bd21197694 (patch)
treebe05642071d1d25f7bd6a17684a76bd9bdfde63c /testing/linux-amlogic
parent47d62840a0a17ab1d9abf62acd4542370fe5b7ad (diff)
downloadaports-c10f2d9b183c51fddfcb61024d01a5bd21197694.tar.bz2
aports-c10f2d9b183c51fddfcb61024d01a5bd21197694.tar.xz
Remove stale patches from testing
Diffstat (limited to 'testing/linux-amlogic')
-rw-r--r--testing/linux-amlogic/0015-drm-meson-Call-drm_crtc_vblank_on-drm_crtc_vblank_of.patch61
-rw-r--r--testing/linux-amlogic/0022-drm-meson-Fixes-for-drm_crtc_vblank_on-off-support.patch130
2 files changed, 0 insertions, 191 deletions
diff --git a/testing/linux-amlogic/0015-drm-meson-Call-drm_crtc_vblank_on-drm_crtc_vblank_of.patch b/testing/linux-amlogic/0015-drm-meson-Call-drm_crtc_vblank_on-drm_crtc_vblank_of.patch
deleted file mode 100644
index 7dc23b5b47..0000000000
--- a/testing/linux-amlogic/0015-drm-meson-Call-drm_crtc_vblank_on-drm_crtc_vblank_of.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 40bfd476f6bb44f9bf88bbbc0bd4cfd9591bedc9 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 28 Feb 2018 16:07:18 +0100
-Subject: [PATCH] drm/meson: Call drm_crtc_vblank_on / drm_crtc_vblank_off
-
-Make sure that the CRTC code will call the enable/disable_vblank hooks.
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/meson/meson_crtc.c | 4 ++++
- drivers/gpu/drm/meson/meson_venc.c | 3 +++
- 2 files changed, 7 insertions(+)
-
-diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c
-index 0552020..7c0bdc8 100644
---- a/drivers/gpu/drm/meson/meson_crtc.c
-+++ b/drivers/gpu/drm/meson/meson_crtc.c
-@@ -102,6 +102,8 @@ static void meson_crtc_atomic_enable(struct drm_crtc *crtc,
- priv->io_base + _REG(VPP_MISC));
-
- priv->viu.osd1_enabled = true;
-+
-+ drm_crtc_vblank_on(crtc);
- }
-
- static void meson_crtc_atomic_disable(struct drm_crtc *crtc,
-@@ -110,6 +112,8 @@ static void meson_crtc_atomic_disable(struct drm_crtc *crtc,
- struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
- struct meson_drm *priv = meson_crtc->priv;
-
-+ drm_crtc_vblank_off(crtc);
-+
- priv->viu.osd1_enabled = false;
- priv->viu.osd1_commit = false;
-
-diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
-index 514245e..14aac66 100644
---- a/drivers/gpu/drm/meson/meson_venc.c
-+++ b/drivers/gpu/drm/meson/meson_venc.c
-@@ -71,6 +71,7 @@
- */
-
- /* HHI Registers */
-+#define HHI_GCLK_MPEG2 0x148 /* 0x52 offset in data sheet */
- #define HHI_VDAC_CNTL0 0x2F4 /* 0xbd offset in data sheet */
- #define HHI_VDAC_CNTL1 0x2F8 /* 0xbe offset in data sheet */
- #define HHI_HDMI_PHY_CNTL0 0x3a0 /* 0xe8 offset in data sheet */
-@@ -1529,10 +1530,12 @@ unsigned int meson_venci_get_field(struct meson_drm *priv)
- void meson_venc_enable_vsync(struct meson_drm *priv)
- {
- writel_relaxed(2, priv->io_base + _REG(VENC_INTCTRL));
-+ regmap_update_bits(priv->hhi, HHI_GCLK_MPEG2, BIT(25), BIT(25));
- }
-
- void meson_venc_disable_vsync(struct meson_drm *priv)
- {
-+ regmap_update_bits(priv->hhi, HHI_GCLK_MPEG2, BIT(25), 0);
- writel_relaxed(0, priv->io_base + _REG(VENC_INTCTRL));
- }
-
diff --git a/testing/linux-amlogic/0022-drm-meson-Fixes-for-drm_crtc_vblank_on-off-support.patch b/testing/linux-amlogic/0022-drm-meson-Fixes-for-drm_crtc_vblank_on-off-support.patch
deleted file mode 100644
index a17be6bc38..0000000000
--- a/testing/linux-amlogic/0022-drm-meson-Fixes-for-drm_crtc_vblank_on-off-support.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From 5a258bd31dab2dad8afcced8a7a85fa92e04edab Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 28 Feb 2018 16:07:18 +0100
-Subject: [PATCH] drm/meson: Fixes for drm_crtc_vblank_on/off support
-
-Since Linux 4.17, calls to drm_crtc_vblank_on/off are mandatory, and we get
-a warning when ctrc is disabled :
- driver forgot to call drm_crtc_vblank_off()
-
-But, the vsync IRQ was not totally disabled due the transient hardware
-state, thus adding proper IRQ masking from the HHI system control registers.
-
-The last change fixes a race condition introduced by calling the added
-drm_crtc_vblank_on/off when an HPD event occurs from the HDMI connector,
-triggering a WARN_ON() in the _atomic_bebin() callback when the CRTC
-is disabled, thus also triggering a WARN_ON() in drm_vblank_put() :
-
-WARNING: CPU: 0 PID: 1185 at drivers/gpu/drm/meson/meson_crtc.c:157 meson_crtc_atomic_begin+0x78/0x80
-[...]
-Call trace:
- meson_crtc_atomic_begin+0x78/0x80
- drm_atomic_helper_commit_planes+0x140/0x218
- drm_atomic_helper_commit_tail+0x38/0x80
- commit_tail+0x7c/0x80
- drm_atomic_helper_commit+0xdc/0x150
- drm_atomic_commit+0x54/0x60
- restore_fbdev_mode_atomic+0x198/0x238
- restore_fbdev_mode+0x6c/0x1c0
- drm_fb_helper_restore_fbdev_mode_unlocked+0x7c/0xf0
- drm_fb_helper_set_par+0x34/0x60
- drm_fb_helper_hotplug_event.part.28+0xb8/0xc8
- drm_fbdev_client_hotplug+0xa4/0xe0
- drm_client_dev_hotplug+0x90/0xe0
- drm_kms_helper_hotplug_event+0x3c/0x48
- drm_helper_hpd_irq_event+0x134/0x168
- dw_hdmi_top_thread_irq+0x3c/0x50
-[...]
-WARNING: CPU: 0 PID: 1185 at drivers/gpu/drm/drm_vblank.c:1026 drm_vblank_put+0xb4/0xc8
-[...]
- Call trace:
- drm_vblank_put+0xb4/0xc8
- drm_crtc_vblank_put+0x24/0x30
- drm_atomic_helper_wait_for_vblanks.part.9+0x130/0x2b8
- drm_atomic_helper_commit_tail+0x68/0x80
-[...]
-
-The issue is the vblank need to be enabled in any occurence of :
-- atomic_enable()
-- atomic_begin() and state->enable == true, which was not the case
-
-Moving the CRTC enable code to a common function and calling in one
-of these occurence solves this race condition and makes sure vblank
-is enabled in each call to _atomic_begin() from the HPD event leading
-to drm_atomic_helper_commit_planes().
-
-To Summarize :
-- Make sure that the CRTC code will calls the drm_crtc_vblank_on/off
-- *Really* mask the Vsync IRQ
-- Initialize and enable vblank at the first _atomic_begin()/_atomic_enable()
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/meson/meson_crtc.c | 25 +++++++++++++++++++++++--
- 1 file changed, 23 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c
-index 6099997..f8e260b 100644
---- a/drivers/gpu/drm/meson/meson_crtc.c
-+++ b/drivers/gpu/drm/meson/meson_crtc.c
-@@ -46,6 +46,7 @@ struct meson_crtc {
- struct drm_crtc base;
- struct drm_pending_vblank_event *event;
- struct meson_drm *priv;
-+ bool enabled;
- };
- #define to_meson_crtc(x) container_of(x, struct meson_crtc, base)
-
-@@ -81,8 +82,7 @@ static const struct drm_crtc_funcs meson_crtc_funcs = {
-
- };
-
--static void meson_crtc_atomic_enable(struct drm_crtc *crtc,
-- struct drm_crtc_state *old_state)
-+static void meson_crtc_enable(struct drm_crtc *crtc)
- {
- struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
- struct drm_crtc_state *crtc_state = crtc->state;
-@@ -106,6 +106,22 @@ static void meson_crtc_atomic_enable(struct drm_crtc *crtc,
- writel_bits_relaxed(VPP_POSTBLEND_ENABLE, VPP_POSTBLEND_ENABLE,
- priv->io_base + _REG(VPP_MISC));
-
-+ drm_crtc_vblank_on(crtc);
-+
-+ meson_crtc->enabled = true;
-+}
-+
-+static void meson_crtc_atomic_enable(struct drm_crtc *crtc,
-+ struct drm_crtc_state *old_state)
-+{
-+ struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
-+ struct meson_drm *priv = meson_crtc->priv;
-+
-+ DRM_DEBUG_DRIVER("\n");
-+
-+ if (!meson_crtc->enabled)
-+ meson_crtc_enable(crtc);
-+
- priv->viu.osd1_enabled = true;
-
- drm_crtc_vblank_on(crtc);
-@@ -139,6 +155,8 @@ static void meson_crtc_atomic_disable(struct drm_crtc *crtc,
-
- crtc->state->event = NULL;
- }
-+
-+ meson_crtc->enabled = false;
- }
-
- static void meson_crtc_atomic_begin(struct drm_crtc *crtc,
-@@ -147,6 +165,9 @@ static void meson_crtc_atomic_begin(struct drm_crtc *crtc,
- struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
- unsigned long flags;
-
-+ if (crtc->state->enable && !meson_crtc->enabled)
-+ meson_crtc_enable(crtc);
-+
- if (crtc->state->event) {
- WARN_ON(drm_crtc_vblank_get(crtc) != 0);
-