bump to latest version
This commit is contained in:
		
							parent
							
								
									b01cb72e8b
								
							
						
					
					
						commit
						a2a47368b7
					
				
							
								
								
									
										19
									
								
								PKGBUILD
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								PKGBUILD
									
									
									
									
									
								
							@ -4,8 +4,8 @@
 | 
			
		||||
pkgbase=linux               # Build stock -ARCH kernel
 | 
			
		||||
#pkgbase=linux-custom       # Build kernel with a different name
 | 
			
		||||
_srcname=linux-3.8
 | 
			
		||||
pkgver=3.8.3
 | 
			
		||||
pkgrel=2
 | 
			
		||||
pkgver=3.8.4
 | 
			
		||||
pkgrel=1
 | 
			
		||||
arch=('i686' 'x86_64')
 | 
			
		||||
url="http://www.kernel.org/"
 | 
			
		||||
license=('GPL2')
 | 
			
		||||
@ -17,17 +17,13 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
 | 
			
		||||
        'config' 'config.x86_64'
 | 
			
		||||
        # standard config files for mkinitcpio ramdisk
 | 
			
		||||
        'linux.preset'
 | 
			
		||||
        'change-default-console-loglevel.patch'
 | 
			
		||||
        'drm-i915-enable-irqs-earlier-when-resuming.patch'
 | 
			
		||||
        'drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch')
 | 
			
		||||
        'change-default-console-loglevel.patch')
 | 
			
		||||
md5sums=('1c738edfc54e7c65faeb90c436104e2f'
 | 
			
		||||
         'ba18b5d27ed303f5e5a9cda32a451031'
 | 
			
		||||
         '40ab82996ff4b49ad3f4e19cf729dcab'
 | 
			
		||||
         '307107a8b15060e6fc0e48bdaacaed06'
 | 
			
		||||
         '03b1dad90f3558dba3031901398c1ca4'
 | 
			
		||||
         'eb14dcfd80c00852ef81ded6e826826a'
 | 
			
		||||
         'f3def2cefdcbb954c21d8505d23cc83c'
 | 
			
		||||
         '40e7b328977ad787a0b5584f193d63fe'
 | 
			
		||||
         '8b9159931fab0c191a86dbd5a46fa328')
 | 
			
		||||
         'f3def2cefdcbb954c21d8505d23cc83c')
 | 
			
		||||
 | 
			
		||||
_kernelname=${pkgbase#linux}
 | 
			
		||||
 | 
			
		||||
@ -45,11 +41,6 @@ build() {
 | 
			
		||||
  # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
 | 
			
		||||
  patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
 | 
			
		||||
 | 
			
		||||
  # revert 2 patches which breaks displays
 | 
			
		||||
  # FS 34327
 | 
			
		||||
  patch -Rp1 -i "${srcdir}/drm-i915-enable-irqs-earlier-when-resuming.patch"
 | 
			
		||||
  patch -Rp1 -i "${srcdir}/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch"
 | 
			
		||||
 | 
			
		||||
  if [ "${CARCH}" = "x86_64" ]; then
 | 
			
		||||
    cat "${srcdir}/config.x86_64" > ./.config
 | 
			
		||||
  else
 | 
			
		||||
 | 
			
		||||
@ -1,82 +0,0 @@
 | 
			
		||||
From 15239099d7a7a9ecdc1ccb5b187ae4cda5488ff9 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
Date: Tue, 5 Mar 2013 09:50:58 +0100
 | 
			
		||||
Subject: drm/i915: enable irqs earlier when resuming
 | 
			
		||||
 | 
			
		||||
From: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
 | 
			
		||||
commit 15239099d7a7a9ecdc1ccb5b187ae4cda5488ff9 upstream.
 | 
			
		||||
 | 
			
		||||
We need it to restore the ilk rc6 context, since the gpu wait no
 | 
			
		||||
requires interrupts. But in general having interrupts around should
 | 
			
		||||
help in code sanity, since more and more stuff is interrupt driven.
 | 
			
		||||
 | 
			
		||||
This regression has been introduced in
 | 
			
		||||
 | 
			
		||||
commit 3e9605018ab3e333d51cc90fccfde2031886763b
 | 
			
		||||
Author: Chris Wilson <chris@chris-wilson.co.uk>
 | 
			
		||||
Date:   Tue Nov 27 16:22:54 2012 +0000
 | 
			
		||||
 | 
			
		||||
    drm/i915: Rearrange code to only have a single method for waiting upon the ring
 | 
			
		||||
 | 
			
		||||
Like in the driver load code we need to make sure that hotplug
 | 
			
		||||
interrupts don't cause havoc with our modeset state, hence block them
 | 
			
		||||
with the existing infrastructure. Again we ignore races where we might
 | 
			
		||||
loose hotplug interrupts ...
 | 
			
		||||
 | 
			
		||||
Note that the driver load part of the regression has already been
 | 
			
		||||
fixed in
 | 
			
		||||
 | 
			
		||||
commit 52d7ecedac3f96fb562cb482c139015372728638
 | 
			
		||||
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
Date:   Sat Dec 1 21:03:22 2012 +0100
 | 
			
		||||
 | 
			
		||||
    drm/i915: reorder setup sequence to have irqs for output setup
 | 
			
		||||
 | 
			
		||||
v2: Add a note to the commit message about which patch fixed the
 | 
			
		||||
driver load part of the regression. Stable kernels need to backport
 | 
			
		||||
both patches.
 | 
			
		||||
 | 
			
		||||
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=54691
 | 
			
		||||
Cc: Chris Wilson <chris@chris-wilson.co.uk>
 | 
			
		||||
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
 | 
			
		||||
Reported-and-Tested-by: Ilya Tumaykin <itumaykin@gmail.com>
 | 
			
		||||
Reviewed-by: Chris wilson <chris@chris-wilson.co.uk> (v1)
 | 
			
		||||
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 drivers/gpu/drm/i915/i915_drv.c |   13 ++++++++++++-
 | 
			
		||||
 1 file changed, 12 insertions(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
--- a/drivers/gpu/drm/i915/i915_drv.c
 | 
			
		||||
+++ b/drivers/gpu/drm/i915/i915_drv.c
 | 
			
		||||
@@ -486,6 +486,7 @@ static int i915_drm_freeze(struct drm_de
 | 
			
		||||
 		intel_modeset_disable(dev);
 | 
			
		||||
 
 | 
			
		||||
 		drm_irq_uninstall(dev);
 | 
			
		||||
+		dev_priv->enable_hotplug_processing = false;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 	i915_save_state(dev);
 | 
			
		||||
@@ -562,9 +563,19 @@ static int __i915_drm_thaw(struct drm_de
 | 
			
		||||
 		error = i915_gem_init_hw(dev);
 | 
			
		||||
 		mutex_unlock(&dev->struct_mutex);
 | 
			
		||||
 
 | 
			
		||||
+		/* We need working interrupts for modeset enabling ... */
 | 
			
		||||
+		drm_irq_install(dev);
 | 
			
		||||
+
 | 
			
		||||
 		intel_modeset_init_hw(dev);
 | 
			
		||||
 		intel_modeset_setup_hw_state(dev, false);
 | 
			
		||||
-		drm_irq_install(dev);
 | 
			
		||||
+
 | 
			
		||||
+		/*
 | 
			
		||||
+		 * ... but also need to make sure that hotplug processing
 | 
			
		||||
+		 * doesn't cause havoc. Like in the driver load code we don't
 | 
			
		||||
+		 * bother with the tiny race here where we might loose hotplug
 | 
			
		||||
+		 * notifications.
 | 
			
		||||
+		 * */
 | 
			
		||||
+		dev_priv->enable_hotplug_processing = true;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 	intel_opregion_init(dev);
 | 
			
		||||
@ -1,124 +0,0 @@
 | 
			
		||||
From 52d7ecedac3f96fb562cb482c139015372728638 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
Date: Sat, 1 Dec 2012 21:03:22 +0100
 | 
			
		||||
Subject: drm/i915: reorder setup sequence to have irqs for output setup
 | 
			
		||||
 | 
			
		||||
From: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
 | 
			
		||||
commit 52d7ecedac3f96fb562cb482c139015372728638 upstream.
 | 
			
		||||
 | 
			
		||||
Otherwise the new&shiny irq-driven gmbus and dp aux code won't work that
 | 
			
		||||
well. Noticed since the dp aux code doesn't have an automatic fallback
 | 
			
		||||
with a timeout (since the hw provides for that already).
 | 
			
		||||
 | 
			
		||||
v2: Simple move drm_irq_install before intel_modeset_gem_init, as
 | 
			
		||||
suggested by Ben Widawsky.
 | 
			
		||||
 | 
			
		||||
v3: Now that interrupts are enabled before all connectors are fully
 | 
			
		||||
set up, we might fall over serving a HPD interrupt while things are
 | 
			
		||||
still being set up. Instead of jumping through massive hoops and
 | 
			
		||||
complicating the code with a separate hpd irq enable step, simply
 | 
			
		||||
block out the hotplug work item from doing anything until things are
 | 
			
		||||
in place.
 | 
			
		||||
 | 
			
		||||
v4: Actually, we can enable hotplug processing only after the fbdev is
 | 
			
		||||
fully set up, since we call down into the fbdev from the hotplug work
 | 
			
		||||
functions. So stick the hpd enabling right next to the poll helper
 | 
			
		||||
initialization.
 | 
			
		||||
 | 
			
		||||
v5: We need to enable irqs before intel_modeset_init, since that
 | 
			
		||||
function sets up the outputs.
 | 
			
		||||
 | 
			
		||||
v6: Fixup cleanup sequence, too.
 | 
			
		||||
 | 
			
		||||
Reviewed-by: Imre Deak <imre.deak@intel.com>
 | 
			
		||||
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 drivers/gpu/drm/i915/i915_dma.c |   23 ++++++++++++++---------
 | 
			
		||||
 drivers/gpu/drm/i915/i915_drv.h |    1 +
 | 
			
		||||
 drivers/gpu/drm/i915/i915_irq.c |    4 ++++
 | 
			
		||||
 3 files changed, 19 insertions(+), 9 deletions(-)
 | 
			
		||||
 | 
			
		||||
--- a/drivers/gpu/drm/i915/i915_dma.c
 | 
			
		||||
+++ b/drivers/gpu/drm/i915/i915_dma.c
 | 
			
		||||
@@ -1297,19 +1297,21 @@ static int i915_load_modeset_init(struct
 | 
			
		||||
 	if (ret)
 | 
			
		||||
 		goto cleanup_vga_switcheroo;
 | 
			
		||||
 
 | 
			
		||||
+	ret = drm_irq_install(dev);
 | 
			
		||||
+	if (ret)
 | 
			
		||||
+		goto cleanup_gem_stolen;
 | 
			
		||||
+
 | 
			
		||||
+	/* Important: The output setup functions called by modeset_init need
 | 
			
		||||
+	 * working irqs for e.g. gmbus and dp aux transfers. */
 | 
			
		||||
 	intel_modeset_init(dev);
 | 
			
		||||
 
 | 
			
		||||
 	ret = i915_gem_init(dev);
 | 
			
		||||
 	if (ret)
 | 
			
		||||
-		goto cleanup_gem_stolen;
 | 
			
		||||
-
 | 
			
		||||
-	intel_modeset_gem_init(dev);
 | 
			
		||||
+		goto cleanup_irq;
 | 
			
		||||
 
 | 
			
		||||
 	INIT_WORK(&dev_priv->console_resume_work, intel_console_resume);
 | 
			
		||||
 
 | 
			
		||||
-	ret = drm_irq_install(dev);
 | 
			
		||||
-	if (ret)
 | 
			
		||||
-		goto cleanup_gem;
 | 
			
		||||
+	intel_modeset_gem_init(dev);
 | 
			
		||||
 
 | 
			
		||||
 	/* Always safe in the mode setting case. */
 | 
			
		||||
 	/* FIXME: do pre/post-mode set stuff in core KMS code */
 | 
			
		||||
@@ -1317,7 +1319,10 @@ static int i915_load_modeset_init(struct
 | 
			
		||||
 
 | 
			
		||||
 	ret = intel_fbdev_init(dev);
 | 
			
		||||
 	if (ret)
 | 
			
		||||
-		goto cleanup_irq;
 | 
			
		||||
+		goto cleanup_gem;
 | 
			
		||||
+
 | 
			
		||||
+	/* Only enable hotplug handling once the fbdev is fully set up. */
 | 
			
		||||
+	dev_priv->enable_hotplug_processing = true;
 | 
			
		||||
 
 | 
			
		||||
 	drm_kms_helper_poll_init(dev);
 | 
			
		||||
 
 | 
			
		||||
@@ -1326,13 +1331,13 @@ static int i915_load_modeset_init(struct
 | 
			
		||||
 
 | 
			
		||||
 	return 0;
 | 
			
		||||
 
 | 
			
		||||
-cleanup_irq:
 | 
			
		||||
-	drm_irq_uninstall(dev);
 | 
			
		||||
 cleanup_gem:
 | 
			
		||||
 	mutex_lock(&dev->struct_mutex);
 | 
			
		||||
 	i915_gem_cleanup_ringbuffer(dev);
 | 
			
		||||
 	mutex_unlock(&dev->struct_mutex);
 | 
			
		||||
 	i915_gem_cleanup_aliasing_ppgtt(dev);
 | 
			
		||||
+cleanup_irq:
 | 
			
		||||
+	drm_irq_uninstall(dev);
 | 
			
		||||
 cleanup_gem_stolen:
 | 
			
		||||
 	i915_gem_cleanup_stolen(dev);
 | 
			
		||||
 cleanup_vga_switcheroo:
 | 
			
		||||
--- a/drivers/gpu/drm/i915/i915_drv.h
 | 
			
		||||
+++ b/drivers/gpu/drm/i915/i915_drv.h
 | 
			
		||||
@@ -672,6 +672,7 @@ typedef struct drm_i915_private {
 | 
			
		||||
 
 | 
			
		||||
 	u32 hotplug_supported_mask;
 | 
			
		||||
 	struct work_struct hotplug_work;
 | 
			
		||||
+	bool enable_hotplug_processing;
 | 
			
		||||
 
 | 
			
		||||
 	int num_pipe;
 | 
			
		||||
 	int num_pch_pll;
 | 
			
		||||
--- a/drivers/gpu/drm/i915/i915_irq.c
 | 
			
		||||
+++ b/drivers/gpu/drm/i915/i915_irq.c
 | 
			
		||||
@@ -287,6 +287,10 @@ static void i915_hotplug_work_func(struc
 | 
			
		||||
 	struct drm_mode_config *mode_config = &dev->mode_config;
 | 
			
		||||
 	struct intel_encoder *encoder;
 | 
			
		||||
 
 | 
			
		||||
+	/* HPD irq before everything is fully set up. */
 | 
			
		||||
+	if (!dev_priv->enable_hotplug_processing)
 | 
			
		||||
+		return;
 | 
			
		||||
+
 | 
			
		||||
 	mutex_lock(&mode_config->mutex);
 | 
			
		||||
 	DRM_DEBUG_KMS("running encoder hotplug functions\n");
 | 
			
		||||
 
 | 
			
		||||
@ -2,7 +2,7 @@
 | 
			
		||||
# arg 2:  the old package version
 | 
			
		||||
 | 
			
		||||
KERNEL_NAME=
 | 
			
		||||
KERNEL_VERSION=3.8.3-2-ARCH
 | 
			
		||||
KERNEL_VERSION=3.8.4-1-ARCH
 | 
			
		||||
 | 
			
		||||
# set a sane PATH to ensure that critical utils like depmod will be found
 | 
			
		||||
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user