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

Commit ae50a2a4 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "drm/msm: handle dma_map_attachment before physical address access" into dev/msm-4.14-display

parents b49bd198 ca1e8d59
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -323,14 +323,20 @@ uint64_t msm_gem_mmap_offset(struct drm_gem_object *obj)
dma_addr_t msm_gem_get_dma_addr(struct drm_gem_object *obj)
{
	struct msm_gem_object *msm_obj = to_msm_bo(obj);
	struct drm_device *dev = obj->dev;
	struct sg_table *sgt;

	if (IS_ERR_OR_NULL(msm_obj->sgt)) {
		dev_err(dev->dev, "invalid scatter/gather table\n");
	if (!msm_obj->sgt) {
		sgt = dma_buf_map_attachment(obj->import_attach,
						DMA_BIDIRECTIONAL);
		if (IS_ERR_OR_NULL(sgt)) {
			DRM_ERROR("dma_buf_map_attachment failure, err=%d\n",
					PTR_ERR(sgt));
			return 0;
		}
		msm_obj->sgt = sgt;
	}

	return sg_dma_address(msm_obj->sgt->sgl);
	return sg_phys(msm_obj->sgt->sgl);
}

static struct msm_gem_vma *add_vma(struct drm_gem_object *obj,