Commit b8cbb04f authored by Thierry Reding's avatar Thierry Reding
Browse files

drm/tegra: Use tegra_dev_iommu_get_stream_id()



Use the newly implemented tegra_dev_iommu_get_stream_id() helper to
encapsulate and centralize the IOMMU stream ID access.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 9026ba72
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -609,21 +609,13 @@ int tegra_drm_ioctl_channel_submit(struct drm_device *drm, void *data,
			host1x_memory_context_get(job->memory_context);
		}
	} else if (context->client->ops->get_streamid_offset) {
#ifdef CONFIG_IOMMU_API
		struct iommu_fwspec *spec;

		/*
		 * Job submission will need to temporarily change stream ID,
		 * so need to tell it what to change it back to.
		 */
		spec = dev_iommu_fwspec_get(context->client->base.dev);
		if (spec && spec->num_ids > 0)
			job->engine_fallback_streamid = spec->ids[0] & 0xffff;
		else
			job->engine_fallback_streamid = 0x7f;
#else
		job->engine_fallback_streamid = 0x7f;
#endif
		if (!tegra_dev_iommu_get_stream_id(context->client->base.dev,
						   &job->engine_fallback_streamid))
			job->engine_fallback_streamid = TEGRA_STREAM_ID_BYPASS;
	}

	/* Boot engine. */