Patch "drm/i915: Init power domains early in driver load" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/i915: Init power domains early in driver load
to the 4.4-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:
drm-i915-init-power-domains-early-in-driver-load.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
f5949141a21ee16edf1beaf95cbae7e419171ab5Mon Sep 17 00:00:00 2001
From: Daniel Vetter <[email protected]>
Date: Wed, 13 Jan 2016 11:55:28 +0100
Subject: drm/i915: Init power domains early in driver load
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Daniel Vetter <[email protected]>
commit f5949141a21ee16edf1beaf95cbae7e419171ab5 upstream.
Since
commit ac9b8236551d1177fd07b56aef9b565d1864420d
Author: Ville Syrjälä <[email protected]> Date: Fri Nov 27 18:55:26 2015 +0200
drm/i915: Introduce a gmbus power domain
gmbus also needs the power domain infrastructure right from the start, since as soon as we register the i2c controllers someone can use them.
v2: Adjust cleanup paths too (Chris).
v3: Rebase onto -nightly (totally bogus tree I had lying around) and also move dpio init head (Ville).
v4: Ville instead suggested to move gmbus setup later in the sequence, since it's only needed by the modeset code.
v5: Move even close to the actual user, right next to the comment that states where we really need gmbus (and interrupts!).
References: http://www.spinics.net/lists/intel-gfx/msg83075.html
--- drivers/gpu/drm/i915/i915_dma.c | 6 +++--- drivers/gpu/drm/i915/intel_display.c | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-)
drivers/gpu/drm/i915/i915_dma.c +3 -3
@@ -402,6 +402,8 @@ static int i915_load_modeset_init(structif (ret) goto cleanup_gem_stolen; +intel_setup_gmbus (dev); +/* Important: The output setup functions called by modeset_init need * working irqs for e.g. gmbus and dp aux transfers. */ intel_modeset_init (dev);
@@ -451,6 +453,7 @@ cleanup_gem: cleanup_irq:intel_guc_ucode_fini (dev);drm_irq_uninstall (dev); +intel_teardown_gmbus (dev); cleanup_gem_stolen:i915_gem_cleanup_stolen (dev); cleanup_vga_switcheroo:
@@ -1028,7 +1031,6 @@ int i915_driver_load(struct drm_device */* Try to make sure MCHBAR is enabled before poking at it */ intel_setup_mchbar (dev); -intel_setup_gmbus (dev);intel_opregion_setup (dev);i915_gem_load (dev);
@@ -1099,7 +1101,6 @@ out_gem_unload:if (dev->pdev->msi_enabled)pci_disable_msi (dev->pdev); -intel_teardown_gmbus (dev);intel_teardown_mchbar (dev);pm_qos_remove_request (&dev_priv->pm_qos);destroy_workqueue (dev_priv->gpu_error.hangcheck_wq);
@@ -1198,7 +1199,6 @@ int i915_driver_unload(struct drm_deviceintel_csr_ucode_fini (dev); -intel_teardown_gmbus (dev);intel_teardown_mchbar (dev);destroy_workqueue (dev_priv->hotplug.dp_wq);
drivers/gpu/drm/i915/intel_display.c +2 -0
@@ -15565,6 +15565,8 @@ void intel_modeset_cleanup(struct drm_demutex_lock (&dev->struct_mutex);intel_cleanup_gt_powersave (dev);mutex_unlock (&dev->struct_mutex); + +intel_teardown_gmbus (dev); }/*
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/drm-i915-dp-fall-back-to-18-bpp-when-sink-capability-is-unknown.patch queue-4.4/drm-nouveau-display-enable-vblank-irqs-after-display-engine-is-on-again.patch queue-4.4/drm-i915-init-power-domains-early-in-driver-load.patch queue-4.4/drm-gma500-use-correct-unref-in-the-gem-bo-create-function.patch queue-4.4/drm-i915-shut-up-gen8-sde-irq-dmesg-noise.patch queue-4.4/drm-i915-skl-don-t-skip-mst-encoders-in-skl_ddi_pll_select.patch queue-4.4/drm-i915-restore-inhibiting-the-load-of-the-default-context.patch queue-4.4/drm-i915-intel_hpd_init-fix-suspend-resume-reprobing.patch