Loading msm/msm_gem.c +6 −2 Original line number Diff line number Diff line Loading @@ -421,8 +421,9 @@ static int msm_gem_get_iova_locked(struct drm_gem_object *obj, bool reattach = false; dev = msm_gem_get_aspace_device(aspace); if (dev && obj->import_attach && (dev != obj->import_attach->dev)) { if ((dev && obj->import_attach) && ((dev != obj->import_attach->dev) || msm_obj->obj_dirty)) { dmabuf = obj->import_attach->dmabuf; DRM_DEBUG("detach nsec-dev:%pK attach sec-dev:%pK\n", Loading @@ -440,6 +441,7 @@ static int msm_gem_get_iova_locked(struct drm_gem_object *obj, PTR_ERR(obj->import_attach)); goto unlock; } msm_obj->obj_dirty = false; reattach = true; } Loading Loading @@ -631,6 +633,7 @@ void msm_gem_aspace_domain_attach_detach_update( if (obj->import_attach) { mutex_lock(&msm_obj->lock); put_iova(obj); msm_obj->obj_dirty = true; mutex_unlock(&msm_obj->lock); } } Loading Loading @@ -1091,6 +1094,7 @@ static int msm_gem_new_impl(struct drm_device *dev, INIT_LIST_HEAD(&msm_obj->iova_list); msm_obj->aspace = NULL; msm_obj->in_active_list = false; msm_obj->obj_dirty = false; if (struct_mutex_locked) { WARN_ON(!mutex_is_locked(&dev->struct_mutex)); Loading msm/msm_gem.h +5 −0 Original line number Diff line number Diff line Loading @@ -139,6 +139,11 @@ struct msm_gem_object { struct msm_gem_address_space *aspace; bool in_active_list; char name[32]; /* Identifier to print for the debugfs files */ /* Indicates whether object needs to request for * new pagetables due to cb switch */ bool obj_dirty; }; #define to_msm_bo(x) container_of(x, struct msm_gem_object, base) Loading Loading
msm/msm_gem.c +6 −2 Original line number Diff line number Diff line Loading @@ -421,8 +421,9 @@ static int msm_gem_get_iova_locked(struct drm_gem_object *obj, bool reattach = false; dev = msm_gem_get_aspace_device(aspace); if (dev && obj->import_attach && (dev != obj->import_attach->dev)) { if ((dev && obj->import_attach) && ((dev != obj->import_attach->dev) || msm_obj->obj_dirty)) { dmabuf = obj->import_attach->dmabuf; DRM_DEBUG("detach nsec-dev:%pK attach sec-dev:%pK\n", Loading @@ -440,6 +441,7 @@ static int msm_gem_get_iova_locked(struct drm_gem_object *obj, PTR_ERR(obj->import_attach)); goto unlock; } msm_obj->obj_dirty = false; reattach = true; } Loading Loading @@ -631,6 +633,7 @@ void msm_gem_aspace_domain_attach_detach_update( if (obj->import_attach) { mutex_lock(&msm_obj->lock); put_iova(obj); msm_obj->obj_dirty = true; mutex_unlock(&msm_obj->lock); } } Loading Loading @@ -1091,6 +1094,7 @@ static int msm_gem_new_impl(struct drm_device *dev, INIT_LIST_HEAD(&msm_obj->iova_list); msm_obj->aspace = NULL; msm_obj->in_active_list = false; msm_obj->obj_dirty = false; if (struct_mutex_locked) { WARN_ON(!mutex_is_locked(&dev->struct_mutex)); Loading
msm/msm_gem.h +5 −0 Original line number Diff line number Diff line Loading @@ -139,6 +139,11 @@ struct msm_gem_object { struct msm_gem_address_space *aspace; bool in_active_list; char name[32]; /* Identifier to print for the debugfs files */ /* Indicates whether object needs to request for * new pagetables due to cb switch */ bool obj_dirty; }; #define to_msm_bo(x) container_of(x, struct msm_gem_object, base) Loading