summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-04-14 02:26:57 -0400
committerMark H Weaver <mhw@netris.org>2015-04-14 02:35:38 -0400
commit46a1130207a2fc01ef16da4db1fe0839fe43d9af (patch)
tree8b72568d7c0ef122e50b690be8b486abe1d31585
parent463acb4acb28e7d93c98780fc73e3b3cf7f6b19a (diff)
gnu: linux-libre: Remove linux-libre-vblank-fix.patch.
* gnu/packages/patches/linux-libre-vblank-fix.patch: Remove file. * gnu-system.am (dist_patch_DATA): Remove it. * gnu/packages/linux.scm (linux-libre): Remove patch.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/linux.scm3
-rw-r--r--gnu/packages/patches/linux-libre-vblank-fix.patch175
3 files changed, 1 insertions, 178 deletions
diff --git a/gnu-system.am b/gnu-system.am
index f65f87a8b37..c581d799d48 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -459,7 +459,6 @@ dist_patch_DATA = \
459 gnu/packages/patches/libvpx-fix-ssse3-quantize.patch \ 459 gnu/packages/patches/libvpx-fix-ssse3-quantize.patch \
460 gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \ 460 gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \
461 gnu/packages/patches/linux-libre-libreboot-fix.patch \ 461 gnu/packages/patches/linux-libre-libreboot-fix.patch \
462 gnu/packages/patches/linux-libre-vblank-fix.patch \
463 gnu/packages/patches/lirc-localstatedir.patch \ 462 gnu/packages/patches/lirc-localstatedir.patch \
464 gnu/packages/patches/lm-sensors-hwmon-attrs.patch \ 463 gnu/packages/patches/lm-sensors-hwmon-attrs.patch \
465 gnu/packages/patches/lua51-liblua-so.patch \ 464 gnu/packages/patches/lua51-liblua-so.patch \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8696a7d26ed..0452a1ce939 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -273,8 +273,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
273 (base32 273 (base32
274 "12nkzn1n4si2zcp10b645qri83m2y7iwp29vs2rjmy612azdab8f")) 274 "12nkzn1n4si2zcp10b645qri83m2y7iwp29vs2rjmy612azdab8f"))
275 (patches 275 (patches
276 (list (search-patch "linux-libre-libreboot-fix.patch") 276 (list (search-patch "linux-libre-libreboot-fix.patch")))))
277 (search-patch "linux-libre-vblank-fix.patch")))))
278 (build-system gnu-build-system) 277 (build-system gnu-build-system)
279 (native-inputs `(("perl" ,perl) 278 (native-inputs `(("perl" ,perl)
280 ("bc" ,bc) 279 ("bc" ,bc)
diff --git a/gnu/packages/patches/linux-libre-vblank-fix.patch b/gnu/packages/patches/linux-libre-vblank-fix.patch
deleted file mode 100644
index 7f242cfcc11..00000000000
--- a/gnu/packages/patches/linux-libre-vblank-fix.patch
+++ /dev/null
@@ -1,175 +0,0 @@
1From f9b61ff6bce9a44555324b29e593fdffc9a115bc Mon Sep 17 00:00:00 2001
2From: Daniel Vetter <daniel.vetter@ffwll.ch>
3Date: Wed, 7 Jan 2015 13:54:39 +0100
4Subject: [PATCH] drm/i915: Push vblank enable/disable past
5 encoder->enable/disable
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10It is platform/output depenedent when exactly the pipe will start
11running. Sometimes we just need the (cpu) pipe enabled, in other cases
12the pch transcoder is enough and in yet other cases the (DP) port is
13sending the frame start signal.
14
15In a perfect world we'd put the drm_crtc_vblank_on call exactly where
16the pipe starts running, but due to cloning and similar things this
17will get messy. And the current approach of picking the most
18conservative place for all combinations also doesn't work since that
19results in legit vblank waits (in encoder->enable hooks, e.g. the 2
20vblank waits for sdvo) failing.
21
22Completely going back to the old world before
23
24commit 51e31d49c89055299e34b8f44d13f70e19aaaad1
25Author: Daniel Vetter <daniel.vetter@ffwll.ch>
26Date: Mon Sep 15 12:36:02 2014 +0200
27
28 drm/i915: Use generic vblank wait
29
30isn't great either since screaming when the vblank wait work because
31the pipe is off is kinda nice.
32
33Pick a compromise and move the drm_crtc_vblank_on right before the
34encoder->enable call. This is a lie on some outputs/platforms, but
35after the ->enable callback the pipe is guaranteed to run everywhere.
36So not that bad really. Suggested by Ville.
37
38v2: Same treatment for drm_crtc_vblank_off and encoder->disable: I've
39missed the ibx pipe B select w/a, which also has a vblank wait in the
40disable function (while the pipe is obviously still running).
41
42Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
43Cc: Chris Wilson <chris@chris-wilson.co.uk>
44Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
45Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
46---
47 drivers/gpu/drm/i915/intel_display.c | 42 ++++++++++++++++++------------------
48 1 file changed, 21 insertions(+), 21 deletions(-)
49
50diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
51index a1dbe74..e224820 100644
52--- a/drivers/gpu/drm/i915/intel_display.c
53+++ b/drivers/gpu/drm/i915/intel_display.c
54@@ -4301,15 +4301,15 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
55 if (intel_crtc->config.has_pch_encoder)
56 ironlake_pch_enable(crtc);
57
58+ assert_vblank_disabled(crtc);
59+ drm_crtc_vblank_on(crtc);
60+
61 for_each_encoder_on_crtc(dev, crtc, encoder)
62 encoder->enable(encoder);
63
64 if (HAS_PCH_CPT(dev))
65 cpt_verify_modeset(dev, intel_crtc->pipe);
66
67- assert_vblank_disabled(crtc);
68- drm_crtc_vblank_on(crtc);
69-
70 intel_crtc_enable_planes(crtc);
71 }
72
73@@ -4421,14 +4421,14 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
74 if (intel_crtc->config.dp_encoder_is_mst)
75 intel_ddi_set_vc_payload_alloc(crtc, true);
76
77+ assert_vblank_disabled(crtc);
78+ drm_crtc_vblank_on(crtc);
79+
80 for_each_encoder_on_crtc(dev, crtc, encoder) {
81 encoder->enable(encoder);
82 intel_opregion_notify_encoder(encoder, true);
83 }
84
85- assert_vblank_disabled(crtc);
86- drm_crtc_vblank_on(crtc);
87-
88 /* If we change the relative order between pipe/planes enabling, we need
89 * to change the workaround. */
90 haswell_mode_set_planes_workaround(intel_crtc);
91@@ -4479,12 +4479,12 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
92
93 intel_crtc_disable_planes(crtc);
94
95- drm_crtc_vblank_off(crtc);
96- assert_vblank_disabled(crtc);
97-
98 for_each_encoder_on_crtc(dev, crtc, encoder)
99 encoder->disable(encoder);
100
101+ drm_crtc_vblank_off(crtc);
102+ assert_vblank_disabled(crtc);
103+
104 if (intel_crtc->config.has_pch_encoder)
105 intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, false);
106
107@@ -4544,14 +4544,14 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
108
109 intel_crtc_disable_planes(crtc);
110
111- drm_crtc_vblank_off(crtc);
112- assert_vblank_disabled(crtc);
113-
114 for_each_encoder_on_crtc(dev, crtc, encoder) {
115 intel_opregion_notify_encoder(encoder, false);
116 encoder->disable(encoder);
117 }
118
119+ drm_crtc_vblank_off(crtc);
120+ assert_vblank_disabled(crtc);
121+
122 if (intel_crtc->config.has_pch_encoder)
123 intel_set_pch_fifo_underrun_reporting(dev_priv, TRANSCODER_A,
124 false);
125@@ -5021,12 +5021,12 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc)
126 intel_update_watermarks(crtc);
127 intel_enable_pipe(intel_crtc);
128
129- for_each_encoder_on_crtc(dev, crtc, encoder)
130- encoder->enable(encoder);
131-
132 assert_vblank_disabled(crtc);
133 drm_crtc_vblank_on(crtc);
134
135+ for_each_encoder_on_crtc(dev, crtc, encoder)
136+ encoder->enable(encoder);
137+
138 intel_crtc_enable_planes(crtc);
139
140 /* Underruns don't raise interrupts, so check manually. */
141@@ -5082,12 +5082,12 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
142 intel_update_watermarks(crtc);
143 intel_enable_pipe(intel_crtc);
144
145- for_each_encoder_on_crtc(dev, crtc, encoder)
146- encoder->enable(encoder);
147-
148 assert_vblank_disabled(crtc);
149 drm_crtc_vblank_on(crtc);
150
151+ for_each_encoder_on_crtc(dev, crtc, encoder)
152+ encoder->enable(encoder);
153+
154 intel_crtc_enable_planes(crtc);
155
156 /*
157@@ -5159,12 +5159,12 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc)
158 */
159 intel_wait_for_vblank(dev, pipe);
160
161- drm_crtc_vblank_off(crtc);
162- assert_vblank_disabled(crtc);
163-
164 for_each_encoder_on_crtc(dev, crtc, encoder)
165 encoder->disable(encoder);
166
167+ drm_crtc_vblank_off(crtc);
168+ assert_vblank_disabled(crtc);
169+
170 intel_disable_pipe(intel_crtc);
171
172 i9xx_pfit_disable(intel_crtc);
173--
1742.2.1
175