]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/i915/intel_ringbuffer.c
drm/i915: Add reference count to request structure
[karo-tx-linux.git] / drivers / gpu / drm / i915 / intel_ringbuffer.c
index 9fe13075e5f95a2b333a2e46c6cfc9ba75bce3bc..fbeaa3ad6208aa37c55c13d6f29cdec720f8ad1a 100644 (file)
@@ -1870,7 +1870,7 @@ void intel_cleanup_ring_buffer(struct intel_engine_cs *ring)
 
        intel_unpin_ringbuffer_obj(ringbuf);
        intel_destroy_ringbuffer_obj(ringbuf);
-       ring->preallocated_lazy_request = NULL;
+       i915_gem_request_assign(&ring->preallocated_lazy_request, NULL);
        ring->outstanding_lazy_seqno = 0;
 
        if (ring->cleanup)
@@ -2043,6 +2043,8 @@ intel_ring_alloc_seqno(struct intel_engine_cs *ring)
        if (request == NULL)
                return -ENOMEM;
 
+       kref_init(&request->ref);
+
        ret = i915_gem_get_seqno(ring->dev, &ring->outstanding_lazy_seqno);
        if (ret) {
                kfree(request);