All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] drm/i915: Always program CSR if CSR is uninitialized
@ 2015-10-23  9:41 Patrik Jakobsson
  2015-10-23 11:28 ` Patrik Jakobsson
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Patrik Jakobsson @ 2015-10-23  9:41 UTC (permalink / raw)
  To: intel-gfx; +Cc: rodrigo.vivi

The current CSR loading code depends on the CSR program memory to be
cleared after boot. This is unfortunately not true on all hardware.
Instead make use of the FW_UNINITIALIZED state in init and check for
FW_LOADED to prevent init path from skipping the actual programming.

v2: Move initialization of state to after HAS_CSR() check

Signed-off-by: Patrik Jakobsson <patrik.jakobsson@linux.intel.com>
Tested-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/intel_csr.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index 9e530a7..e74c09e 100644
--- a/drivers/gpu/drm/i915/intel_csr.c
+++ b/drivers/gpu/drm/i915/intel_csr.c
@@ -271,7 +271,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 (I915_READ(CSR_PROGRAM(0)) && dev_priv->csr.state == FW_LOADED)
 		return;
 
 	mutex_lock(&dev_priv->csr_lock);
@@ -428,6 +428,8 @@ void intel_csr_ucode_init(struct drm_device *dev)
 	if (!HAS_CSR(dev))
 		return;
 
+	intel_csr_load_status_set(dev_priv, FW_UNINITIALIZED);
+
 	if (IS_SKYLAKE(dev))
 		csr->fw_path = I915_CSR_SKL;
 	else if (IS_BROXTON(dev_priv))
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-10-28 17:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-23  9:41 [PATCH v2] drm/i915: Always program CSR if CSR is uninitialized Patrik Jakobsson
2015-10-23 11:28 ` Patrik Jakobsson
2015-10-24  5:33 ` Animesh Manna
2015-10-26  9:57   ` Patrik Jakobsson
2015-10-27 18:41 ` Imre Deak
2015-10-28 15:52   ` Patrik Jakobsson
2015-10-28 17:12     ` Imre Deak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.