Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e1ca767 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "disp: msm: remap dmabuf attach during secure transitions"

parents 1cb8cc44 9d7c7274
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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",
@@ -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;
		}

@@ -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);
			}
		}
@@ -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));
+5 −0
Original line number Diff line number Diff line
@@ -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)