View | Details | Raw Unified | Return to bug 52411 | Differences between
and this patch

Collapse All | Expand All

(-)a/drivers/gpu/drm/i915/intel_pm.c (-6 / +12 lines)
Lines 4122-4128 static void __gen6_gt_force_wake_get(struct drm_i915_private *dev_priv) Link Here
4122
static void __gen6_gt_force_wake_mt_reset(struct drm_i915_private *dev_priv)
4122
static void __gen6_gt_force_wake_mt_reset(struct drm_i915_private *dev_priv)
4123
{
4123
{
4124
	I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_DISABLE(0xffff));
4124
	I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_DISABLE(0xffff));
4125
	POSTING_READ(ECOBUS); /* something from same cacheline, but !FORCEWAKE */
4125
	/* something from same cacheline, but !FORCEWAKE_MT */
4126
	POSTING_READ(ECOBUS);
4126
}
4127
}
4127
4128
4128
static void __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv)
4129
static void __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv)
Lines 4139-4145 static void __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv) Link Here
4139
		DRM_ERROR("Timed out waiting for forcewake old ack to clear.\n");
4140
		DRM_ERROR("Timed out waiting for forcewake old ack to clear.\n");
4140
4141
4141
	I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_ENABLE(FORCEWAKE_KERNEL));
4142
	I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_ENABLE(FORCEWAKE_KERNEL));
4142
	POSTING_READ(ECOBUS); /* something from same cacheline, but !FORCEWAKE */
4143
	/* something from same cacheline, but !FORCEWAKE_MT */
4144
	POSTING_READ(ECOBUS);
4143
4145
4144
	if (wait_for_atomic((I915_READ_NOTRACE(forcewake_ack) & 1),
4146
	if (wait_for_atomic((I915_READ_NOTRACE(forcewake_ack) & 1),
4145
			    FORCEWAKE_ACK_TIMEOUT_MS))
4147
			    FORCEWAKE_ACK_TIMEOUT_MS))
Lines 4176-4189 void gen6_gt_check_fifodbg(struct drm_i915_private *dev_priv) Link Here
4176
static void __gen6_gt_force_wake_put(struct drm_i915_private *dev_priv)
4178
static void __gen6_gt_force_wake_put(struct drm_i915_private *dev_priv)
4177
{
4179
{
4178
	I915_WRITE_NOTRACE(FORCEWAKE, 0);
4180
	I915_WRITE_NOTRACE(FORCEWAKE, 0);
4179
	/* gen6_gt_check_fifodbg doubles as the POSTING_READ */
4181
	/* something from same cacheline, but !FORCEWAKE */
4182
	POSTING_READ(ECOBUS);
4180
	gen6_gt_check_fifodbg(dev_priv);
4183
	gen6_gt_check_fifodbg(dev_priv);
4181
}
4184
}
4182
4185
4183
static void __gen6_gt_force_wake_mt_put(struct drm_i915_private *dev_priv)
4186
static void __gen6_gt_force_wake_mt_put(struct drm_i915_private *dev_priv)
4184
{
4187
{
4185
	I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_DISABLE(FORCEWAKE_KERNEL));
4188
	I915_WRITE_NOTRACE(FORCEWAKE_MT, _MASKED_BIT_DISABLE(FORCEWAKE_KERNEL));
4186
	/* gen6_gt_check_fifodbg doubles as the POSTING_READ */
4189
	/* something from same cacheline, but !FORCEWAKE_MT */
4190
	POSTING_READ(ECOBUS);
4187
	gen6_gt_check_fifodbg(dev_priv);
4191
	gen6_gt_check_fifodbg(dev_priv);
4188
}
4192
}
4189
4193
Lines 4223-4228 int __gen6_gt_wait_for_fifo(struct drm_i915_private *dev_priv) Link Here
4223
static void vlv_force_wake_reset(struct drm_i915_private *dev_priv)
4227
static void vlv_force_wake_reset(struct drm_i915_private *dev_priv)
4224
{
4228
{
4225
	I915_WRITE_NOTRACE(FORCEWAKE_VLV, _MASKED_BIT_DISABLE(0xffff));
4229
	I915_WRITE_NOTRACE(FORCEWAKE_VLV, _MASKED_BIT_DISABLE(0xffff));
4230
	/* something from same cacheline, but !FORCEWAKE_VLV */
4231
	POSTING_READ(FORCEWAKE_ACK_VLV);
4226
}
4232
}
4227
4233
4228
static void vlv_force_wake_get(struct drm_i915_private *dev_priv)
4234
static void vlv_force_wake_get(struct drm_i915_private *dev_priv)
Lines 4243-4249 static void vlv_force_wake_get(struct drm_i915_private *dev_priv) Link Here
4243
static void vlv_force_wake_put(struct drm_i915_private *dev_priv)
4249
static void vlv_force_wake_put(struct drm_i915_private *dev_priv)
4244
{
4250
{
4245
	I915_WRITE_NOTRACE(FORCEWAKE_VLV, _MASKED_BIT_DISABLE(FORCEWAKE_KERNEL));
4251
	I915_WRITE_NOTRACE(FORCEWAKE_VLV, _MASKED_BIT_DISABLE(FORCEWAKE_KERNEL));
4246
	/* The below doubles as a POSTING_READ */
4252
	/* something from same cacheline, but !FORCEWAKE_VLV */
4253
	POSTING_READ(FORCEWAKE_ACK_VLV);
4247
	gen6_gt_check_fifodbg(dev_priv);
4254
	gen6_gt_check_fifodbg(dev_priv);
4248
}
4255
}
4249
4256
4250
- 

Return to bug 52411