OSDN Git Service

drm/i915: Allow use of get_dma_address for stolen backed objects
authorAnkitprasad Sharma <ankitprasad.r.sharma@intel.com>
Tue, 22 Dec 2015 06:20:44 +0000 (11:50 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 5 Jan 2016 16:46:27 +0000 (17:46 +0100)
i915_gem_object_get_dma_address function is used to retrieve the dma address
of a particular page so as to map it in a given GTT entry for CPU access.
This function would be used for stolen backed objects also for tasks like
pwrite,  clearing of the pages etc. So the obj->get_page.sg needs to be
initialized for the stolen objects also.

Signed-off-by: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1450765253-32104-2-git-send-email-ankitprasad.r.sharma@intel.com
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_stolen.c

index 3476877..c384dc9 100644 (file)
@@ -569,6 +569,9 @@ _i915_gem_object_create_stolen(struct drm_device *dev,
        if (obj->pages == NULL)
                goto cleanup;
 
+       obj->get_page.sg = obj->pages->sgl;
+       obj->get_page.last = 0;
+
        i915_gem_object_pin_pages(obj);
        obj->stolen = stolen;