diff options
| author | Mark H Weaver <mhw@netris.org> | 2015-04-14 02:26:57 -0400 |
|---|---|---|
| committer | Mark H Weaver <mhw@netris.org> | 2015-04-14 02:35:38 -0400 |
| commit | 46a1130207a2fc01ef16da4db1fe0839fe43d9af (patch) | |
| tree | 8b72568d7c0ef122e50b690be8b486abe1d31585 | |
| parent | 463acb4acb28e7d93c98780fc73e3b3cf7f6b19a (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.am | 1 | ||||
| -rw-r--r-- | gnu/packages/linux.scm | 3 | ||||
| -rw-r--r-- | gnu/packages/patches/linux-libre-vblank-fix.patch | 175 |
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 @@ | |||
| 1 | From f9b61ff6bce9a44555324b29e593fdffc9a115bc Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
| 3 | Date: Wed, 7 Jan 2015 13:54:39 +0100 | ||
| 4 | Subject: [PATCH] drm/i915: Push vblank enable/disable past | ||
| 5 | encoder->enable/disable | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | It is platform/output depenedent when exactly the pipe will start | ||
| 11 | running. Sometimes we just need the (cpu) pipe enabled, in other cases | ||
| 12 | the pch transcoder is enough and in yet other cases the (DP) port is | ||
| 13 | sending the frame start signal. | ||
| 14 | |||
| 15 | In a perfect world we'd put the drm_crtc_vblank_on call exactly where | ||
| 16 | the pipe starts running, but due to cloning and similar things this | ||
| 17 | will get messy. And the current approach of picking the most | ||
| 18 | conservative place for all combinations also doesn't work since that | ||
| 19 | results in legit vblank waits (in encoder->enable hooks, e.g. the 2 | ||
| 20 | vblank waits for sdvo) failing. | ||
| 21 | |||
| 22 | Completely going back to the old world before | ||
| 23 | |||
| 24 | commit 51e31d49c89055299e34b8f44d13f70e19aaaad1 | ||
| 25 | Author: Daniel Vetter <daniel.vetter@ffwll.ch> | ||
| 26 | Date: Mon Sep 15 12:36:02 2014 +0200 | ||
| 27 | |||
| 28 | drm/i915: Use generic vblank wait | ||
| 29 | |||
| 30 | isn't great either since screaming when the vblank wait work because | ||
| 31 | the pipe is off is kinda nice. | ||
| 32 | |||
| 33 | Pick a compromise and move the drm_crtc_vblank_on right before the | ||
| 34 | encoder->enable call. This is a lie on some outputs/platforms, but | ||
| 35 | after the ->enable callback the pipe is guaranteed to run everywhere. | ||
| 36 | So not that bad really. Suggested by Ville. | ||
| 37 | |||
| 38 | v2: Same treatment for drm_crtc_vblank_off and encoder->disable: I've | ||
| 39 | missed the ibx pipe B select w/a, which also has a vblank wait in the | ||
| 40 | disable function (while the pipe is obviously still running). | ||
| 41 | |||
| 42 | Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> | ||
| 43 | Cc: Chris Wilson <chris@chris-wilson.co.uk> | ||
| 44 | Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com> | ||
| 45 | Signed-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 | |||
| 50 | diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c | ||
| 51 | index 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 | -- | ||
| 174 | 2.2.1 | ||
| 175 | |||
