Subversion Repositories Kolibri OS

Rev

Rev 2340 | Rev 2351 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2340 Rev 2344
Line 51... Line 51...
51
	case I915_CACHE_NONE:
51
	case I915_CACHE_NONE:
52
		return AGP_USER_MEMORY;
52
		return AGP_USER_MEMORY;
53
	}
53
	}
54
}
54
}
Line -... Line 55...
-
 
55
 
-
 
56
static bool do_idling(struct drm_i915_private *dev_priv)
-
 
57
{
-
 
58
	bool ret = dev_priv->mm.interruptible;
-
 
59
 
-
 
60
	if (unlikely(dev_priv->mm.gtt->do_idle_maps)) {
-
 
61
		dev_priv->mm.interruptible = false;
-
 
62
		if (i915_gpu_idle(dev_priv->dev)) {
-
 
63
			DRM_ERROR("Couldn't idle GPU\n");
-
 
64
			/* Wait a bit, in hopes it avoids the hang */
55
 
65
			udelay(10);
-
 
66
		}
-
 
67
	}
-
 
68
 
-
 
69
	return ret;
-
 
70
}
-
 
71
 
-
 
72
static void undo_idling(struct drm_i915_private *dev_priv, bool interruptible)
-
 
73
{
-
 
74
	if (unlikely(dev_priv->mm.gtt->do_idle_maps))
-
 
75
		dev_priv->mm.interruptible = interruptible;
Line -... Line 76...
-
 
76
}
56
#if 0
77
 
57
 
78
#if 0
58
void i915_gem_restore_gtt_mappings(struct drm_device *dev)
79
void i915_gem_restore_gtt_mappings(struct drm_device *dev)
59
{
80
{
Line 121... Line 142...
121
				       obj->base.size >> PAGE_SHIFT,
142
				       obj->base.size >> PAGE_SHIFT,
122
				       obj->pages,
143
				       obj->pages,
123
				       agp_type);
144
				       agp_type);
124
}
145
}
Line -... Line 146...
-
 
146
 
-
 
147
#endif
125
 
148
 
126
void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj)
149
void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj)
-
 
150
{
-
 
151
	struct drm_device *dev = obj->base.dev;
-
 
152
	struct drm_i915_private *dev_priv = dev->dev_private;
-
 
153
	bool interruptible;
-
 
154
 
-
 
155
	interruptible = do_idling(dev_priv);
127
{
156
 
128
	intel_gtt_clear_range(obj->gtt_space->start >> PAGE_SHIFT,
157
	intel_gtt_clear_range(obj->gtt_space->start >> PAGE_SHIFT,
Line 129... Line 158...
129
			      obj->base.size >> PAGE_SHIFT);
158
			      obj->base.size >> PAGE_SHIFT);
130
 
159
 
131
	if (obj->sg_list) {
160
	if (obj->sg_list) {
132
		intel_gtt_unmap_memory(obj->sg_list, obj->num_sg);
161
//       intel_gtt_unmap_memory(obj->sg_list, obj->num_sg);
133
		obj->sg_list = NULL;
-
 
Line -... Line 162...
-
 
162
		obj->sg_list = NULL;
134
	}
163
	}