diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 53de95c05b16..04b0c070cdf8 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -1956,11 +1956,12 @@ i915_gem_next_request_seqno(struct intel_ring_buffer *ring) | |||
1956 | int | 1956 | int |
1957 | i915_add_request(struct intel_ring_buffer *ring, | 1957 | i915_add_request(struct intel_ring_buffer *ring, |
1958 | struct drm_file *file, | 1958 | struct drm_file *file, |
1959 | struct drm_i915_gem_request *request) | 1959 | u32 *out_seqno) |
1960 | { | 1960 | { |
1961 | drm_i915_private_t *dev_priv = ring->dev->dev_private; | 1961 | drm_i915_private_t *dev_priv = ring->dev->dev_private; |
1962 | uint32_t seqno; | 1962 | struct drm_i915_gem_request *request; |
1963 | u32 request_ring_position; | 1963 | u32 request_ring_position; |
1964 | u32 seqno; | ||
1964 | int was_empty; | 1965 | int was_empty; |
1965 | int ret; | 1966 | int ret; |
1966 | 1967 | ||
@@ -1975,11 +1976,9 @@ i915_add_request(struct intel_ring_buffer *ring, | |||
1975 | if (ret) | 1976 | if (ret) |
1976 | return ret; | 1977 | return ret; |
1977 | 1978 | ||
1978 | if (request == NULL) { | 1979 | request = kmalloc(sizeof(*request), GFP_KERNEL); |
1979 | request = kmalloc(sizeof(*request), GFP_KERNEL); | 1980 | if (request == NULL) |
1980 | if (request == NULL) | 1981 | return -ENOMEM; |
1981 | return -ENOMEM; | ||
1982 | } | ||
1983 | 1982 | ||
1984 | seqno = i915_gem_next_request_seqno(ring); | 1983 | seqno = i915_gem_next_request_seqno(ring); |
1985 | 1984 | ||
@@ -2031,6 +2030,8 @@ i915_add_request(struct intel_ring_buffer *ring, | |||
2031 | } | 2030 | } |
2032 | } | 2031 | } |
2033 | 2032 | ||
2033 | if (out_seqno) | ||
2034 | *out_seqno = seqno; | ||
2034 | return 0; | 2035 | return 0; |
2035 | } | 2036 | } |
2036 | 2037 | ||