Dave Gordon 2682708839 drm/i915: simplify allocation of driver-internal requests
There are a number of places where the driver needs a request, but isn't
working on behalf of any specific user or in a specific context. At
present, we associate them with the per-engine default context. A future
patch will abolish those per-engine context pointers; but we can already
eliminate a lot of the references to them, just by making the allocator
allow NULL as a shorthand for "an appropriate context for this ring",
which will mean that the callers don't need to know anything about how
the "appropriate context" is found (e.g. per-ring vs per-device, etc).

So this patch renames the existing i915_gem_request_alloc(), and makes
it local (static inline), and replaces it with a wrapper that provides
a default if the context is NULL, and also has a nicer calling
convention (doesn't require a pointer to an output parameter). Then we
change all callers to use the new convention:
OLD:
	err = i915_gem_request_alloc(ring, user_ctx, &req);
	if (err) ...
NEW:
	req = i915_gem_request_alloc(ring, user_ctx);
	if (IS_ERR(req)) ...
OLD:
	err = i915_gem_request_alloc(ring, ring->default_context, &req);
	if (err) ...
NEW:
	req = i915_gem_request_alloc(ring, NULL);
	if (IS_ERR(req)) ...

v4:	Rebased

Signed-off-by: Dave Gordon <david.s.gordon@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1453230175-19330-2-git-send-email-david.s.gordon@intel.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2016-01-21 09:21:29 +01:00
..
2015-10-12 19:56:27 -07:00
2015-12-12 16:43:44 -08:00
2015-11-06 14:22:15 -08:00
2015-11-11 10:21:34 -08:00
2015-11-10 15:00:03 -08:00
2015-12-13 11:58:18 -08:00
2015-12-18 12:38:35 -08:00
2015-11-05 13:15:12 -08:00
2015-10-29 09:02:16 +09:00
2015-12-18 15:41:35 -08:00
2015-11-10 15:00:03 -08:00
2015-11-12 07:06:18 -05:00
2015-11-06 14:22:15 -08:00
2015-12-18 12:24:52 -08:00
2015-11-08 16:24:43 -05:00
2015-10-12 10:29:36 -07:00
2015-11-04 14:47:13 -08:00
2015-11-06 10:23:50 -08:00
2015-11-11 09:16:10 -08:00
2015-11-05 13:15:12 -08:00
2015-11-25 23:48:12 +01:00
2015-11-04 22:15:15 -08:00
2015-12-12 23:05:28 -08:00
2015-11-04 21:50:37 -08:00
2015-11-04 22:15:15 -08:00
2015-12-18 12:24:52 -08:00
2015-11-04 22:15:15 -08:00