Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 862372bc authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915: GMBUS don't need no forcewake



GMBUS is part of the display engine, and thus has no need for
forcewake. Let's not bother trying to grab it then.

I don't recall if the display engine suffers from system hangs
due to multiple accesses to the same "cacheline" in mmio space.
I hope not since we're no longer protected by the uncore lock
since commit 4e6c2d58 ("drm/i915: Take forcewake once for
the entire GMBUS transaction")

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: David Weinehall <david.weinehall@linux.intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1476272687-15070-1-git-send-email-ville.syrjala@linux.intel.com


Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent 06a75ace
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -467,13 +467,9 @@ do_gmbus_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
					       struct intel_gmbus,
					       adapter);
	struct drm_i915_private *dev_priv = bus->dev_priv;
	const unsigned int fw =
		intel_uncore_forcewake_for_reg(dev_priv, GMBUS0,
					       FW_REG_READ | FW_REG_WRITE);
	int i = 0, inc, try = 0;
	int ret = 0;

	intel_uncore_forcewake_get(dev_priv, fw);
retry:
	I915_WRITE_FW(GMBUS0, bus->reg0);

@@ -575,7 +571,6 @@ do_gmbus_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, int num)
	ret = -EAGAIN;

out:
	intel_uncore_forcewake_put(dev_priv, fw);
	return ret;
}