From: Patrik Jakobsson Date: Mon, 9 Nov 2015 15:48:16 +0000 (+0100) Subject: drm/i915: Don't trust CSR program memory contents X-Git-Tag: v4.5-rc1~74^2~37^2~56 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=fc131bf20945def9cca1943b21f4c8f4a53d986b;p=karo-tx-linux.git drm/i915: Don't trust CSR program memory contents Replaces "drm/i915: Force loading of csr program at boot" in the old series. Previously we called blindly into intel_csr_load_program() and depended on a check of whether the CSR program memory was cleared or not. This check is not reliable and no longer needed since we fixed the call-sites of intel_csr_load_program(). Signed-off-by: Patrik Jakobsson Reviewed-by: Imre Deak Link: http://patchwork.freedesktop.org/patch/msgid/1447084107-8521-2-git-send-email-patrik.jakobsson@linux.intel.com --- diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c index 2d6527e52acc..d16f77fc29f3 100644 --- a/drivers/gpu/drm/i915/intel_csr.c +++ b/drivers/gpu/drm/i915/intel_csr.c @@ -216,14 +216,10 @@ void intel_csr_load_program(struct drm_i915_private *dev_priv) return; } - /* - * FIXME: Firmware gets lost on S3/S4, but not when entering system - * standby or suspend-to-idle (which is just like forced runtime pm). - * Unfortunately the ACPI subsystem doesn't yet give us a way to - * differentiate this, hence figure it out with this hack. - */ - if ((!dev_priv->csr.dmc_payload) || I915_READ(CSR_PROGRAM(0))) + if (!dev_priv->csr.dmc_payload) { + DRM_ERROR("Tried to program CSR with empty payload\n"); return; + } fw_size = dev_priv->csr.dmc_fw_size; for (i = 0; i < fw_size; i++)