drm/i915/gen9: Don't try to load garbage dmc firmware on resume
authorDaniel Vetter <daniel.vetter@intel.com>
Wed, 28 Oct 2015 21:59:01 +0000 (23:59 +0200)
committerJani Nikula <jani.nikula@intel.com>
Thu, 12 Nov 2015 15:22:03 +0000 (17:22 +0200)
We need to make sure we don't put garbage into the hw if dmc firmware
loading failed mid-thru.

Cc: Damien Lespiau <damien.lespiau@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Sunil Kamath <sunil.kamath@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Animesh Manna <animesh.manna@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Tested-by: Daniel Stone <daniels@collabora.com> # SKL
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1446069547-24760-8-git-send-email-imre.deak@intel.com
drivers/gpu/drm/i915/intel_csr.c

index 4bd2747d9c921dd796e69b05ee6a0ab3ce37dbfe..a65a8d508dc9f5058c93d6ff5b3504e4b8aa6ac0 100644 (file)
@@ -223,7 +223,7 @@ void intel_csr_load_program(struct drm_device *dev)
         * Unfortunately the ACPI subsystem doesn't yet give us a way to
         * differentiate this, hence figure it out with this hack.
         */
-       if (I915_READ(CSR_PROGRAM(0)))
+       if ((!dev_priv->csr.dmc_payload) || I915_READ(CSR_PROGRAM(0)))
                return;
 
        fw_size = dev_priv->csr.dmc_fw_size;