|
@@ -718,11 +718,16 @@ void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed)
|
|
|
void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit)
|
|
|
{
|
|
|
struct intel_gmbus *bus = to_intel_gmbus(adapter);
|
|
|
+ struct drm_i915_private *dev_priv = bus->dev_priv;
|
|
|
+
|
|
|
+ mutex_lock(&dev_priv->gmbus_mutex);
|
|
|
|
|
|
bus->force_bit += force_bit ? 1 : -1;
|
|
|
DRM_DEBUG_KMS("%sabling bit-banging on %s. force bit now %d\n",
|
|
|
force_bit ? "en" : "dis", adapter->name,
|
|
|
bus->force_bit);
|
|
|
+
|
|
|
+ mutex_unlock(&dev_priv->gmbus_mutex);
|
|
|
}
|
|
|
|
|
|
void intel_teardown_gmbus(struct drm_device *dev)
|