summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_dma.c
diff options
context:
space:
mode:
authorAnimesh Manna <animesh.manna@intel.com>2015-10-28 23:58:55 +0200
committerJani Nikula <jani.nikula@intel.com>2015-11-12 16:42:07 +0200
commitebae38d061df3deffa7c17b030ea14a5216ee55f (patch)
tree285f0bd3ef3f5f19def53ee935437f70b8a36cc4 /drivers/gpu/drm/i915/i915_dma.c
parentb1a14c6e40413f833dadc1d23b43c530f4b8e381 (diff)
downloadop-kernel-dev-ebae38d061df3deffa7c17b030ea14a5216ee55f.zip
op-kernel-dev-ebae38d061df3deffa7c17b030ea14a5216ee55f.tar.gz
drm/i915/gen9: csr_init after runtime pm enable
Skl is fully dependent on dmc for going to low power state (dc5/dc6). This requires a trigger from rpm. To ensure the dmc firmware is available for runtime pm support rpm-reference-count is used by not releasing the rpm reference if firmware loading is not completed. So moved the intel_csr_ucode_init call after runtime pm enable. Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Damien Lespiau <damien.lespiau@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Sunil Kamath <sunil.kamath@intel.com> Signed-off-by: Animesh Manna <animesh.manna@intel.com> [imre: moved the call right after power domain init to avoid race with the console modesetting] Signed-off-by: Imre Deak <imre.deak@intel.com> Tested-by: Daniel Stone <daniels@collabora.com> # SKL Reviewed-by: A.Sunil Kamath <sunil.kamath@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1446069547-24760-2-git-send-email-imre.deak@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/i915_dma.c')
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 37bab58..f46d034 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -426,6 +426,8 @@ static int i915_load_modeset_init(struct drm_device *dev)
intel_power_domains_init_hw(dev_priv);
+ intel_csr_ucode_init(dev);
+
ret = intel_irq_install(dev_priv);
if (ret)
goto cleanup_gem_stolen;
@@ -971,9 +973,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
intel_uncore_init(dev);
- /* Load CSR Firmware for SKL */
- intel_csr_ucode_init(dev);
-
ret = i915_gem_gtt_init(dev);
if (ret)
goto out_freecsr;
OpenPOWER on IntegriCloud