Patch "Revert "drm/i915: reorder setup sequence to have irqs for output setup"" has been added to the 3.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    Revert "drm/i915: reorder setup sequence to have irqs for output setup"

to the 3.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     revert-drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch
and it can be found in the queue-3.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From foo@baz Mon Mar 18 13:16:44 PDT 2013
Date: Mon, 18 Mar 2013 13:16:44 -0700
To: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Subject: Revert "drm/i915: reorder setup sequence to have irqs for output setup"

Revert commit 2a9810441fcc26cf3f006f015f8a62094fe57a90 which is
commit 52d7ecedac3f96fb562cb482c139015372728638 upstream.

This caused problems in 3.8-stable, but all is fine in 3.9-rc.

Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Imre Deak <imre.deak@xxxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>

---
 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, 9 insertions(+), 19 deletions(-)

--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1297,21 +1297,19 @@ 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_irq;
+		goto cleanup_gem_stolen;
+
+	intel_modeset_gem_init(dev);
 
 	INIT_WORK(&dev_priv->console_resume_work, intel_console_resume);
 
-	intel_modeset_gem_init(dev);
+	ret = drm_irq_install(dev);
+	if (ret)
+		goto cleanup_gem;
 
 	/* Always safe in the mode setting case. */
 	/* FIXME: do pre/post-mode set stuff in core KMS code */
@@ -1319,10 +1317,7 @@ static int i915_load_modeset_init(struct
 
 	ret = intel_fbdev_init(dev);
 	if (ret)
-		goto cleanup_gem;
-
-	/* Only enable hotplug handling once the fbdev is fully set up. */
-	dev_priv->enable_hotplug_processing = true;
+		goto cleanup_irq;
 
 	drm_kms_helper_poll_init(dev);
 
@@ -1331,13 +1326,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,7 +672,6 @@ 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,10 +287,6 @@ 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");
 


Patches currently in stable-queue which might be from gregkh@xxxxxxxxxxxxxxxxxxx are

queue-3.8/powerpc-fix-stab-initialization.patch
queue-3.8/tools-usb-ffs-test-fix-build-failure.patch
queue-3.8/net-ipv6-don-t-purge-default-router-if-accept_ra-2.patch
queue-3.8/powerpc-fix-cputable-entry-for-970mp-rev-1.0.patch
queue-3.8/tty-serial-fix-typo-arch_s5p6450.patch
queue-3.8/atl1c-restore-buffer-state.patch
queue-3.8/fix-4-port-and-add-support-for-8-port-unknown-pci-serial-port-cards.patch
queue-3.8/powerpc-rename-user_esid_bits-to-esid_bits.patch
queue-3.8/rds-limit-the-size-allocated-by-rds_message_alloc.patch
queue-3.8/revert-drm-i915-enable-irqs-earlier-when-resuming.patch
queue-3.8/serial-8250-keep-8250.-xxxx-module-options-functional-after-driver-rename.patch
queue-3.8/l2tp-restore-socket-refcount-when-sendmsg-succeeds.patch
queue-3.8/xen-pciback-don-t-disable-a-pci-device-that-is-already-disabled.patch
queue-3.8/qcserial-bind-to-dm-diag-port-on-gobi-1k-devices.patch
queue-3.8/powerpc-make-vsid_bits-dependency-explicit.patch
queue-3.8/revert-drm-i915-reorder-setup-sequence-to-have-irqs-for-output-setup.patch
queue-3.8/vxlan-fix-oops-when-delete-netns-containing-vxlan.patch
queue-3.8/tty-serial-fix-typo-serial_s3c2412.patch
queue-3.8/net-sctp-validate-parameter-size-for-sctp_get_assoc_stats.patch
queue-3.8/usb-cp210x-new-vendor-device-ids.patch
queue-3.8/mtd-nand-reintroduce-nand_no_readrdy-as-nand_need_readrdy.patch
queue-3.8/powerpc-update-kernel-vsid-range.patch
queue-3.8/ipv6-stop-multicast-forwarding-to-process-interface-scoped-addresses.patch
queue-3.8/perf-x86-fix-link-failure-for-non-intel-configs.patch
queue-3.8/staging-comedi-dt9812-use-cr_chan-for-channel-number.patch
queue-3.8/serial-8250_pci-add-support-for-another-kind-of-netmos-technology-pci-9835-multi-i-o-controller.patch
queue-3.8/usb-option-add-huawei-e5331.patch
queue-3.8/arm-kirkwood-fix-to-retain-gbe-mac-addresses-for-dt-kernels.patch
queue-3.8/tty-do-not-reset-master-s-packet-mode.patch
queue-3.8/macvlan-set-iff_unicast_flt-flag-to-prevent-unnecessary-promisc-mode.patch
queue-3.8/tty-8250_pnp-serial-port-detection-regression-since-v3.7.patch
queue-3.8/signal-always-clear-sa_restorer-on-execve.patch
queue-3.8/hwmon-pmbus-ltc2978-fix-temperature-reporting.patch
queue-3.8/staging-vt6656-fix-oops-on-resume-from-suspend.patch
queue-3.8/btrfs-use-rcu_barrier-to-wait-for-bdev-puts-at-unmount.patch
queue-3.8/arm-davinci-edma-fix-dmaengine-induced-null-pointer-dereference-on-da830.patch
queue-3.8/usb-added-support-for-cinterion-s-products-ah6-and-pls8.patch
queue-3.8/qcaux-add-franklin-u600.patch
queue-3.8/ext3-fix-format-string-issues.patch
queue-3.8/usb-ehci-work-around-silicon-bug-in-intel-s-ehci-controllers.patch
queue-3.8/arm-w1-gpio-fix-erroneous-gpio-requests.patch
queue-3.8/bonding-fire-netdev_release-event-only-on-0-slaves.patch
queue-3.8/team-unsyc-the-devices-addresses-when-port-is-removed.patch
queue-3.8/6lowpan-fix-endianness-issue-in-is_addr_link_local.patch
queue-3.8/netlabel-correctly-list-all-the-static-label-mappings.patch
queue-3.8/perf-x86-fix-wrmsr_on_cpu-warning-on-suspend-resume.patch
queue-3.8/bridging-fix-rx_handlers-return-code.patch
queue-3.8/kbuild-fix-make-headers_check-with-make-3.80.patch
queue-3.8/bridge-fix-mdb-info-leaks.patch
queue-3.8/s390-mm-fix-flush_tlb_kernel_range.patch
queue-3.8/net-mlx4_en-disable-rfs-when-running-in-sriov-mode.patch
queue-3.8/tcp-fix-double-counted-receiver-rtt-when-leaving-receiver-fast-path.patch
queue-3.8/usb-serial-add-rigblaster-advantage-to-device-table.patch
queue-3.8/virtio-rng-disallow-multiple-device-registrations-fixes-crashes.patch
queue-3.8/hwmon-lineage-pem-add-missing-terminating-entry-for-pem__attributes.patch
queue-3.8/perf-x86-fix-kernel-crash-with-pebs-bts-after-suspend-resume.patch
queue-3.8/w1-gpio-remove-erroneous-__exit-and-__exit_p.patch
queue-3.8/dcbnl-fix-various-netlink-info-leaks.patch
queue-3.8/loopdev-fix-a-deadlock.patch
queue-3.8/w1-fix-oops-when-w1_search-is-called-from-netlink-connector.patch
queue-3.8/net-mlx4_en-initialize-rfs-filters-lock-and-list-in-init_netdev.patch
queue-3.8/rtnl-fix-info-leak-on-rtm_getlink-request-for-vf-devices.patch
queue-3.8/usb-cdc-wdm-fix-buffer-overflow.patch
queue-3.8/selinux-use-gfp_atomic-under-spin_lock.patch
queue-3.8/usb-ehci-don-t-check-dma-values-in-qh-overlays.patch
queue-3.8/block-use-i_size_write-in-bd_set_size.patch
queue-3.8/usb-dwc3-core-don-t-forget-to-free-coherent-memory.patch
queue-3.8/loopdev-remove-an-user-triggerable-oops.patch
queue-3.8/atmel_lcdfb-fix-16-bpp-modes-on-older-socs.patch
queue-3.8/usb-storage-fix-huawei-mode-switching-regression.patch
queue-3.8/tun-add-a-missing-nf_reset-in-tun_net_xmit.patch
queue-3.8/s390-critical-section-cleanup-vs.-machine-checks.patch
queue-3.8/alsa-seq-fix-missing-error-handling-in-snd_seq_timer_open.patch
queue-3.8/tty-disable-debugging-warning.patch
queue-3.8/tty-serial-add-support-for-altera-serial-port.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]