From: Animesh Manna Date: Wed, 28 Oct 2015 21:58:55 +0000 (+0200) Subject: drm/i915/gen9: csr_init after runtime pm enable X-Git-Tag: v5.15~13124^2~45^2~1170 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ebae38d061df3deffa7c17b030ea14a5216ee55f;p=platform%2Fkernel%2Flinux-starfive.git 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 Cc: Damien Lespiau Cc: Imre Deak Cc: Sunil Kamath Signed-off-by: Animesh Manna [imre: moved the call right after power domain init to avoid race with the console modesetting] Signed-off-by: Imre Deak Tested-by: Daniel Stone # SKL Reviewed-by: A.Sunil Kamath Signed-off-by: Jani Nikula Link: http://patchwork.freedesktop.org/patch/msgid/1446069547-24760-2-git-send-email-imre.deak@intel.com --- 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;