From a42cd7aaabfdb3ecc0a538548e8dbcc7ca860b2d Mon Sep 17 00:00:00 2001 From: root Date: Sat, 23 Mar 2013 00:06:21 -0700 Subject: Sat Mar 23 00:06:20 PDT 2013 --- kernels/linux-libre-xen/PKGBUILD | 21 +--- ...rm-i915-enable-irqs-earlier-when-resuming.patch | 82 -------------- ...up-sequence-to-have-irqs-for-output-setup.patch | 124 --------------------- kernels/linux-libre-xen/fat-3.6.x.patch | 33 ------ kernels/linux-libre-xen/linux-libre-xen.install | 2 +- 5 files changed, 7 insertions(+), 255 deletions(-) delete mode 100644 kernels/linux-libre-xen/drm-i915-enable-irqs-earlier-when-resuming.patch delete mode 100644 kernels/linux-libre-xen/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch delete mode 100644 kernels/linux-libre-xen/fat-3.6.x.patch (limited to 'kernels/linux-libre-xen') diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index 91dc1484c..77e0ed1ff 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 180114 2013-03-17 13:00:07Z tpowa $ +# $Id: PKGBUILD 180406 2013-03-21 07:26:50Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -6,8 +6,8 @@ pkgbase=linux-libre-xen # Build stock -LIBRE-XEN kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.8 -pkgver=${_basekernel}.3 -pkgrel=2 +pkgver=${_basekernel}.4 +pkgrel=1 arch=('i686') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -20,17 +20,13 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn # standard config files for mkinitcpio ramdisk "${pkgbase}.preset" 'boot-logo.patch' - '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=('84c2a77910932ffc7d958744ac9cf2f5' - 'a762b6f22a64473a0b4d8dc5366b25d3' + 'be610dd93dbe033cfe04018b27557c3e' 'c13961a22d8c742fb31b59a1e27a0e7b' 'b7c2805bb287a644c0a303bf7721e534' '04b21c79df0a952c22d681dd4f4562df' - 'f3def2cefdcbb954c21d8505d23cc83c' - '40e7b328977ad787a0b5584f193d63fe' - '8b9159931fab0c191a86dbd5a46fa328') + 'f3def2cefdcbb954c21d8505d23cc83c') _kernelname=${pkgbase#linux-libre} _localversionname=-LIBRE-XEN @@ -50,11 +46,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" - cat "${srcdir}/config" > ./.config # simpler if [ "${_kernelname}" != "" ]; then diff --git a/kernels/linux-libre-xen/drm-i915-enable-irqs-earlier-when-resuming.patch b/kernels/linux-libre-xen/drm-i915-enable-irqs-earlier-when-resuming.patch deleted file mode 100644 index cb621d520..000000000 --- a/kernels/linux-libre-xen/drm-i915-enable-irqs-earlier-when-resuming.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 15239099d7a7a9ecdc1ccb5b187ae4cda5488ff9 Mon Sep 17 00:00:00 2001 -From: Daniel Vetter -Date: Tue, 5 Mar 2013 09:50:58 +0100 -Subject: drm/i915: enable irqs earlier when resuming - -From: Daniel Vetter - -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 -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 -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 -Cc: Mika Kuoppala -Reported-and-Tested-by: Ilya Tumaykin -Reviewed-by: Chris wilson (v1) -Signed-off-by: Daniel Vetter -Signed-off-by: Greg Kroah-Hartman - ---- - 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); diff --git a/kernels/linux-libre-xen/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch b/kernels/linux-libre-xen/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch deleted file mode 100644 index 8dc354488..000000000 --- a/kernels/linux-libre-xen/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 52d7ecedac3f96fb562cb482c139015372728638 Mon Sep 17 00:00:00 2001 -From: Daniel Vetter -Date: Sat, 1 Dec 2012 21:03:22 +0100 -Subject: drm/i915: reorder setup sequence to have irqs for output setup - -From: Daniel Vetter - -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 -Signed-off-by: Daniel Vetter -Signed-off-by: Greg Kroah-Hartman - ---- - 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"); - diff --git a/kernels/linux-libre-xen/fat-3.6.x.patch b/kernels/linux-libre-xen/fat-3.6.x.patch deleted file mode 100644 index d8deeb788..000000000 --- a/kernels/linux-libre-xen/fat-3.6.x.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Dave Reisner -Date: Thu, 29 Nov 2012 03:18:52 +0000 (+1100) -Subject: fs/fat: strip "cp" prefix from codepage in display -X-Git-Tag: next-20121130~1^2~97 -X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fnext%2Flinux-next.git;a=commitdiff_plain;h=f15914873184cc3f2a8d590fa4f7e32ab0a8a405 - -fs/fat: strip "cp" prefix from codepage in display - -Option parsing code expects an unsigned integer for the codepage option, -but prefixes and stores this option with "cp" before passing to -load_nls(). This makes the displayed option in /proc an invalid one. -Strip the prefix when printing so that the displayed option is valid for -reuse. - -Signed-off-by: Dave Reisner -Acked-by: OGAWA Hirofumi -Signed-off-by: Andrew Morton ---- - -diff --git a/fs/fat/inode.c b/fs/fat/inode.c -index 3b733a7..3580681 100644 ---- a/fs/fat/inode.c -+++ b/fs/fat/inode.c -@@ -726,7 +726,8 @@ static int fat_show_options(struct seq_file *m, struct dentry *root) - if (opts->allow_utime) - seq_printf(m, ",allow_utime=%04o", opts->allow_utime); - if (sbi->nls_disk) -- seq_printf(m, ",codepage=%s", sbi->nls_disk->charset); -+ /* strip "cp" prefix from displayed option */ -+ seq_printf(m, ",codepage=%s", &sbi->nls_disk->charset[2]); - if (isvfat) { - if (sbi->nls_io) - seq_printf(m, ",iocharset=%s", sbi->nls_io->charset); diff --git a/kernels/linux-libre-xen/linux-libre-xen.install b/kernels/linux-libre-xen/linux-libre-xen.install index d707e2ef8..0165e78f0 100644 --- a/kernels/linux-libre-xen/linux-libre-xen.install +++ b/kernels/linux-libre-xen/linux-libre-xen.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-xen -KERNEL_VERSION=3.8.3-2-LIBRE-XEN +KERNEL_VERSION=3.8.4-1-LIBRE-XEN # 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' -- cgit v1.2.3-54-g00ecf