コード例 #1
0
ファイル: msm_gem.c プロジェクト: acton393/linux
void *msm_gem_get_vaddr(struct drm_gem_object *obj)
{
	void *ret;
	mutex_lock(&obj->dev->struct_mutex);
	ret = msm_gem_get_vaddr_locked(obj);
	mutex_unlock(&obj->dev->struct_mutex);
	return ret;
}
コード例 #2
0
ファイル: msm_rd.c プロジェクト: AshishNamdev/linux
static void snapshot_buf(struct msm_rd_state *rd,
		struct msm_gem_submit *submit, int idx,
		uint64_t iova, uint32_t size)
{
	struct msm_gem_object *obj = submit->bos[idx].obj;
	const char *buf;

	buf = msm_gem_get_vaddr_locked(&obj->base);
	if (IS_ERR(buf))
		return;

	if (iova) {
		buf += iova - submit->bos[idx].iova;
	} else {
		iova = submit->bos[idx].iova;
		size = obj->base.size;
	}

	rd_write_section(rd, RD_GPUADDR,
			(uint32_t[3]){ iova, size, iova >> 32 }, 12);