From f5da39f098910b7b6f92dfbcc0c4d5d235d4a57d Mon Sep 17 00:00:00 2001 From: root Date: Mon, 18 Mar 2013 00:04:36 -0700 Subject: Mon Mar 18 00:04:36 PDT 2013 --- libre/icedove-l10n/PKGBUILD | 147 ++++++++++++--------- libre/icedove-l10n/brand.dtd | 4 + libre/icedove-l10n/brand.properties | 3 + libre/icedove-libre/PKGBUILD | 12 +- libre/linux-libre-kmod-alx/PKGBUILD | 4 +- libre/linux-libre-lts/PKGBUILD | 4 +- libre/linux-libre/PKGBUILD | 17 ++- ...rm-i915-enable-irqs-earlier-when-resuming.patch | 82 ++++++++++++ ...up-sequence-to-have-irqs-for-output-setup.patch | 124 +++++++++++++++++ libre/linux-libre/linux-libre.install | 2 +- libre/virtualbox-libre/PKGBUILD | 2 +- 11 files changed, 323 insertions(+), 78 deletions(-) create mode 100644 libre/icedove-l10n/brand.dtd create mode 100644 libre/icedove-l10n/brand.properties create mode 100644 libre/linux-libre/drm-i915-enable-irqs-earlier-when-resuming.patch create mode 100644 libre/linux-libre/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch (limited to 'libre') diff --git a/libre/icedove-l10n/PKGBUILD b/libre/icedove-l10n/PKGBUILD index 208e176ba..d2f38e56e 100644 --- a/libre/icedove-l10n/PKGBUILD +++ b/libre/icedove-l10n/PKGBUILD @@ -2,7 +2,8 @@ # Maintainer: André Silva pkgbase=icedove-l10n -pkgver=17.0.2.1 +_pkgver=17.0.4 +pkgver=17.0.4.1 _langpacks=(ar ast be bg bn-BD br ca cs da de el en-GB en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hu hy-AM id is it ja ko lt nb-NO nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta-LK tr uk vi zh-CN zh-TW) @@ -10,15 +11,16 @@ pkgname=($(for lang in ${_langpacks[@]} do echo $pkgbase-$lang | tr A-Z a-z done)) -pkgrel=2 +pkgrel=1 pkgdesc="Language packs for Debian Icedove." arch=('i686' 'x86_64' 'mips64el') url="http://packages.debian.org/source/experimental/icedove" license=('MPL' 'GPL') depends=("icedove-libre>=$pkgver") -_url=http://repo.parabolagnulinux.org/other/$pkgbase/releases/$pkgver +makedepends=('unzip' 'zip') +_url=https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$_pkgver/linux-i686/xpi -source=() +source=('brand.dtd' 'brand.properties') for lang in ${_langpacks[@]} do source+=("langpack-$lang@icedove.mozilla.org.xpi::$_url/$lang.xpi") @@ -29,70 +31,91 @@ noextract=(${source[@]##*/}) _path="/usr/lib/icedove/extensions/" +build() { + cd $srcdir + + for i in ${_langpacks[@]} + do + cd $srcdir + unzip -q langpack-$i@icedove.mozilla.org.xpi -d $i + rm langpack-$i@icedove.mozilla.org.xpi + install -Dm644 $srcdir/brand.dtd $i/chrome/$i/locale/$i/branding + install -Dm644 $srcdir/brand.properties $i/chrome/$i/locale/$i/branding + sed -i -e 's/thunderbird/icedove/' $i/install.rdf + cd $i + zip -q -r langpack-$i@icedove.mozilla.org.xpi . + mv langpack-$i@icedove.mozilla.org.xpi $srcdir + done + + cd $srcdir +} + for lang in ${_langpacks[@]} do eval " package_icedove-l10n-$(echo $lang | tr A-Z a-z)() { - replaces=(icedove-i18n-$(echo $lang | tr A-Z a-z)) - conflicts=(icedove-i18n-$(echo $lang | tr A-Z a-z)) - provides=(icedove-i18n-$(echo $lang | tr A-Z a-z)) + replaces=(thunderbird-i18n-$(echo $lang | tr A-Z a-z) icedove-i18n-$(echo $lang | tr A-Z a-z)) + conflicts=(thunderbird-i18n-$(echo $lang | tr A-Z a-z) icedove-i18n-$(echo $lang | tr A-Z a-z)) + provides=(thunderbird-i18n-$(echo $lang | tr A-Z a-z) icedove-i18n-$(echo $lang | tr A-Z a-z)) install -Dm644 \"\$srcdir/langpack-$lang@icedove.mozilla.org.xpi\" \"\$pkgdir$_path/langpack-$lang@icedove.mozilla.org.xpi\" } " done -md5sums=('2586db5adf22dd42ae272d9fdc1b230e' - '20c25addb6e2cb3ffec146c1aca81848' - 'b067b93b7f8adaf83fb8ea72d58b6581' - 'ec62aaa9fff666c7071869cf45d2d113' - '12b0e70965d7317a31d7d7b35195ee67' - 'ff10849757b8157b73707ccfe572edf4' - '89c7ea5ca764a2a4e4fbb9a720b8bd97' - 'bf5cf9401ac5b10fa65a1e37a69b134d' - 'fc97d1b7c0a209351d00e48075715986' - '9439304cb4c13fbebb24872904df98f9' - 'cc6f97d63af3686e08a8624930c7784b' - '35a840226d1b8b3a0484f6327bd43b64' - '26bf1309ee516fd183eb6afdaf3d703f' - '9885394265e334d5026430c70d83669e' - 'd39ac07026e6fea2b6e8cf9420cdae3c' - 'c3154fd92db6387052b67154eee2c6cb' - '5cd99e7414eebcc92724752d569ae18f' - '48517d7a3295cab360e102945c4724f0' - '27dfcf129c0e1e752149f1065e7683e2' - '0f24e9851e14537f2d245ff7e0aae9e1' - '839ffc54ae6593ec4d170957750bd2f2' - '1a16c57b85ab9805bb7bc9afe8438efb' - '1481869608ec96bdd2867ff3d507010b' - '4e9633d016998af326fb0d759e4c03ce' - 'bcf6664cf8667f5425bad0c4e261f5f8' - 'a625dd60dffacfff6adab1a764f57721' - '5c7b974dfc964abc0625ac770c558f08' - '4c40f6e2da31675609b8fd6473f255a3' - 'd57c319232421f43638b1af551704464' - '155143f28edcb18cc39b1ad2b36e4945' - 'f54217af7efb23324012d1bb3510a17d' - 'd55d65f2c2b813da2a005beb751d3a8d' - '23b699906a9ddae4589b2bf69bc40d66' - 'b5c87362efedd884a5dbecff2f5c5dad' - 'bec280e6279fb279143a99e348ce610f' - 'd2eed0961cf3f684b20b4eb0a1d89189' - 'ef85215d35b1e76e0058b98a9885e09d' - '821d982f3c859b90615cefc321854fee' - '03d7b26f8a60a1172b7dad3b45870b0f' - '78b1830da6f93d87a491704c03bca2f3' - 'da602151f86db7d701b1806ad0972734' - '2db261b975a9c1199ef707c96a3ee677' - 'b04a05cb6e66c2cdf9893954fd8dae49' - 'c3d3969d4f590dfad0def596d1f5521f' - '4892a9c3e0554815448d604de3857b37' - 'b6250637b5beacec9ae6223b9878a53a' - '987f9765fd6ee3d080533c071dff6492' - '07e375fb25b3bd39ada11b6e18e7a836' - '204ad4b577b3b23c664a442766e88cc1' - '40b03dd5114095fbd15c943e7da3abfc' - 'e14c994576b6824ff36b3e0e2bba6157' - '4d1674a0f9d106c5a05c422742802add' - '0c13d6c651ae5cca046d976df7576119' - 'fd6da709c6937c419d2962275e3efdf1' - '8fc2d9cb6724cd6fa010c5870d4d3122') +md5sums=('d5b2567a8cc8f64591f313a6efdaaffc' + 'f3719964e893c1002b7a923e8f95f923' + '206f1ef0917d6c072edef7e5d77a9ec6' + 'dfcdea2b4ae57a3fa98a60fd1d90beff' + '25271fbc262c9379b7b9c04798d9a57e' + 'cef8ef756ae9bd611d8c92435ce3d550' + 'aee21b8e9835361d7fad9cabc26176ec' + '9cc55cfc826cfebdb52d471d4683e2ad' + 'efb76f4fc5b66e6936a3a64ebb6a11b9' + '365ca3b65ec2ca0f6aba405172f909fc' + '02e296fa634c03dc1b8d71dd7c2e445f' + 'e300d530881628b012e4071c5b1ac1e7' + '5bd79ebfb86e8939d480b49abd484370' + '09acd6af201f415d169b8019c0bb3929' + '9205fbc01cee7caf8578cd845596542a' + '7fd2672aa378a5c6b3d4d33eb71dff9d' + '8babeccaefc144d7798fb22446a72395' + '834b93522fb7875bc6fc3551d90a9b75' + 'd690f9d0e0f3317ab500e711692c5684' + 'bfe0b4a94a02e0ca8da411b58c17a5a1' + '4156b699bb0dbbf073893cbef96db478' + '1f8527f158f5bcacfde1e9b259769c14' + 'c7fb6f52652ffeb7b7c09f27c73ee32b' + '6b57787b83b27a80c175b197d9a0fd8f' + '9a30b1017efa98e4c392a367341e7d5b' + '6e5d20da97211e9f72cc537327783f4d' + '0d0cd95f0e1765c1f56a39609533efa3' + '34773b8acd0e23d99918969a3a86159e' + 'bc1b94e53e3f6d5e716ceb7d4979e278' + 'bf577e83fc52e94164426d7a9dcc10b0' + '4328456c0a54334e020b643c37328eec' + '7232b4d0faf2f10f7fd6c7e05ef84d7a' + '11ada83816bcdea125dff74022acd715' + '0d6100971791dbac333cb24f8fa81c7b' + '685315fce2d77b64f58133d5d405200f' + 'e5f15fc603190c6bb0a0cdfe6bf5e863' + 'f2d4a099467f09b49f1bed06812d60d6' + '88b0177d8342a6aae79c1cba74e6c041' + 'e19d3f90b9d41f9e7749875a1e2c037b' + '8e956438b49d548431728758206a101e' + '6597b2bbf2c9bf8af88d4b707400df24' + '794a9831d1f3c43156ec3f85f155f1e2' + '9b8e8f1fcc2bf891c1273b9470f95af5' + '7b423d358869c35dde53015f800e0dbd' + 'a8258e8427d4961a509dc980f9a56986' + 'f7be2a19d5046c5ec537b3248d0107b0' + '2d892a7f25a10d4607b76e2ce65743e5' + '6f2391fdfc198177f65c407ac3d10ce2' + '7e53185c09b5672f08573e3e96150ad1' + 'fa4528be1f856b9f612af643ff2d1675' + '983b51b70b7e57a8bf3b956adc309f88' + 'efc16a35ab9cff05473ff3e5f2cbf7ee' + 'f9456837c567d422ac2e69fd72598089' + '9dcbf6fc85bfc768d784cb3bd764c103' + '302d409e53f598e830d8b180f108586e' + '5e21d7621b87a639c41c5fc6245203df' + '317e9a8bc1ca22a1f89d6898cca19500') diff --git a/libre/icedove-l10n/brand.dtd b/libre/icedove-l10n/brand.dtd new file mode 100644 index 000000000..54fcfe419 --- /dev/null +++ b/libre/icedove-l10n/brand.dtd @@ -0,0 +1,4 @@ + + + + diff --git a/libre/icedove-l10n/brand.properties b/libre/icedove-l10n/brand.properties new file mode 100644 index 000000000..44bf191d6 --- /dev/null +++ b/libre/icedove-l10n/brand.properties @@ -0,0 +1,3 @@ +brandShortName=Icedove +brandFullName=Icedove +vendorShortName=Mozilla diff --git a/libre/icedove-libre/PKGBUILD b/libre/icedove-libre/PKGBUILD index 406853a9b..c727fb2ce 100644 --- a/libre/icedove-libre/PKGBUILD +++ b/libre/icedove-libre/PKGBUILD @@ -3,7 +3,7 @@ # We're getting this from Debian Experimental _debname=icedove -_debver=17.0.2 +_debver=17.0.4 _debrel=1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -11,9 +11,9 @@ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } _pkgname=${_debname} pkgname=${_debname}-libre pkgver=${_debver}.${_debrel} -pkgrel=2 +pkgrel=1 pkgdesc="A libre version of Debian Icedove, the standalone mail/news reader based on Mozilla Thunderbird." -arch=('i586' 'i686' 'x86_64' 'mips64el') +arch=('i686' 'x86_64' 'mips64el') license=('MPL' 'GPL' 'LGPL') url="http://packages.debian.org/source/experimental/${_pkgname}" depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss' 'sqlite' 'startup-notification') @@ -33,8 +33,8 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2" ${_pkgname}.desktop Icedove-branding.patch) options=(!emptydirs) -md5sums=('3f7679bb98ae99be5adf73fd0025b00e' - '7440def324766bcc61b91185226f8824' +md5sums=('26ce85189f3b55cc2c97c57e18c1e2de' + 'fafa558c1940a48c3f29de61dc27d737' 'd6d58d3104a44624e0a3d227cdf1c211' '476ec205162340fb0679f522c9d31c3b' '4eecc4fc5aafaf0da651a09eadc90bee' @@ -50,7 +50,7 @@ build() { export QUILT_PATCHES=debian/patches export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index' export QUILT_DIFF_ARGS='--no-timestamps' - export DEBIAN_BUILD="comm-release" + export DEBIAN_BUILD="comm-esr17" mv debian "${srcdir}/${DEBIAN_BUILD}" cd "${srcdir}/${DEBIAN_BUILD}" diff --git a/libre/linux-libre-kmod-alx/PKGBUILD b/libre/linux-libre-kmod-alx/PKGBUILD index 53b7a89ee..b9860cb3f 100644 --- a/libre/linux-libre-kmod-alx/PKGBUILD +++ b/libre/linux-libre-kmod-alx/PKGBUILD @@ -1,12 +1,12 @@ # Maintainer: André Silva _kernver=3.8.3 -_kernrel=1 +_kernrel=2 pkgname=('linux-libre-kmod-alx') _version=v3.8-rc7 _pkgver=3.8-rc7-1-u pkgver=3.8rc7.1 -pkgrel=8 +pkgrel=9 pkgdesc='Atheros alx ethernet device driver for linux-libre kernel' arch=('i686' 'x86_64') url='http://www.linuxfoundation.org/collaborate/workgroups/networking/alx' diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index fb78c51a3..fc87dbdb6 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -10,7 +10,7 @@ _basekernel=3.0 _sublevel=69 pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.68 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.69 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -44,7 +44,7 @@ md5sums=('5f64180fe7df4e574dac5911b78f5067' 'f36222e7ce20c8e4dc27376f9be60f6c' '670931649c60fcb3ef2e0119ed532bd4' '8a71abc4224f575008f974a099b5cf6f' - '31fc866c5f8a15f21222e5f236f5cd03') + 'affdc85f42267d4e01b34fcbea66b191') if [ "$CARCH" != "mips64el" ]; then # Don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 9a9bd3ea3..d242c7cc8 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 180054 2013-03-15 08:10:52Z tpowa $ +# $Id: PKGBUILD 180114 2013-03-17 13:00:07Z tpowa $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): Nicolás Reynolds @@ -12,8 +12,8 @@ pkgbase=linux-libre # Build stock -LIBRE kernel _basekernel=3.8 _sublevel=3 pkgver=${_basekernel}.${_sublevel} -pkgrel=1 -_lxopkgver=${_basekernel}.2 # nearly always the same as pkgver +pkgrel=2 +_lxopkgver=${_basekernel}.3 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -29,6 +29,8 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'Kbuild.platforms' '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' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('84c2a77910932ffc7d958744ac9cf2f5' 'a762b6f22a64473a0b4d8dc5366b25d3' @@ -39,7 +41,9 @@ md5sums=('84c2a77910932ffc7d958744ac9cf2f5' '8267264d9a8966e57fdacd1fa1fc65c4' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' - '72a7d05df8498c0e45632f083403605a') + '40e7b328977ad787a0b5584f193d63fe' + '8b9159931fab0c191a86dbd5a46fa328' + '6dcf31e2ad8625ab2864af257e86564b') if [ "$CARCH" != "mips64el" ]; then # Don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] @@ -64,6 +68,11 @@ 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" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ diff --git a/libre/linux-libre/drm-i915-enable-irqs-earlier-when-resuming.patch b/libre/linux-libre/drm-i915-enable-irqs-earlier-when-resuming.patch new file mode 100644 index 000000000..cb621d520 --- /dev/null +++ b/libre/linux-libre/drm-i915-enable-irqs-earlier-when-resuming.patch @@ -0,0 +1,82 @@ +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/libre/linux-libre/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch b/libre/linux-libre/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch new file mode 100644 index 000000000..8dc354488 --- /dev/null +++ b/libre/linux-libre/drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch @@ -0,0 +1,124 @@ +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/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index 0a442abb8..24bb42986 100644 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.8.3-1-LIBRE +KERNEL_VERSION=3.8.3-2-LIBRE # 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' diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD index ce73da564..a83e20ab4 100644 --- a/libre/virtualbox-libre/PKGBUILD +++ b/libre/virtualbox-libre/PKGBUILD @@ -158,7 +158,7 @@ build() { } package_virtualbox-libre() { - pkgdesc='Powerful x86 virtualization for enterprise as well as home use (with free GNU/Linux distros presets included and Oracle VM VirtualBox Extension Pack support removed)' + pkgdesc='Powerful x86 virtualization for enterprise as well as home use (with free GNU/Linux distros presets included and nonfree Oracle VM VirtualBox Extension Pack support removed)' depends=('curl' 'libpng' 'libxcursor' -- cgit v1.2.3-54-g00ecf