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 |
- |
|
|