|
@@ -262,13 +262,6 @@ gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg,
|
|
|
GMBUS_SLAVE_WRITE | GMBUS_SW_RDY);
|
|
|
POSTING_READ(GMBUS2 + reg_offset);
|
|
|
while (len) {
|
|
|
- if (wait_for(I915_READ(GMBUS2 + reg_offset) &
|
|
|
- (GMBUS_SATOER | GMBUS_HW_RDY),
|
|
|
- 50))
|
|
|
- return -ETIMEDOUT;
|
|
|
- if (I915_READ(GMBUS2 + reg_offset) & GMBUS_SATOER)
|
|
|
- return -ENXIO;
|
|
|
-
|
|
|
val = loop = 0;
|
|
|
do {
|
|
|
val |= *buf++ << (8 * loop);
|
|
@@ -276,6 +269,13 @@ gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg,
|
|
|
|
|
|
I915_WRITE(GMBUS3 + reg_offset, val);
|
|
|
POSTING_READ(GMBUS2 + reg_offset);
|
|
|
+
|
|
|
+ if (wait_for(I915_READ(GMBUS2 + reg_offset) &
|
|
|
+ (GMBUS_SATOER | GMBUS_HW_RDY),
|
|
|
+ 50))
|
|
|
+ return -ETIMEDOUT;
|
|
|
+ if (I915_READ(GMBUS2 + reg_offset) & GMBUS_SATOER)
|
|
|
+ return -ENXIO;
|
|
|
}
|
|
|
return 0;
|
|
|
}
|