Commit 2abdd44e authored by Thierry Reding's avatar Thierry Reding

drm/tegra: nvdec: 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 b50ad38d
...@@ -67,26 +67,18 @@ static inline void nvdec_writel(struct nvdec *nvdec, u32 value, ...@@ -67,26 +67,18 @@ static inline void nvdec_writel(struct nvdec *nvdec, u32 value,
static int nvdec_boot_falcon(struct nvdec *nvdec) static int nvdec_boot_falcon(struct nvdec *nvdec)
{ {
#ifdef CONFIG_IOMMU_API u32 stream_id;
struct iommu_fwspec *spec = dev_iommu_fwspec_get(nvdec->dev);
#endif
int err; int err;
#ifdef CONFIG_IOMMU_API if (nvdec->config->supports_sid && tegra_dev_iommu_get_stream_id(nvdec->dev, &stream_id)) {
if (nvdec->config->supports_sid && spec) {
u32 value; u32 value;
value = TRANSCFG_ATT(1, TRANSCFG_SID_FALCON) | TRANSCFG_ATT(0, TRANSCFG_SID_HW); value = TRANSCFG_ATT(1, TRANSCFG_SID_FALCON) | TRANSCFG_ATT(0, TRANSCFG_SID_HW);
nvdec_writel(nvdec, value, NVDEC_TFBIF_TRANSCFG); nvdec_writel(nvdec, value, NVDEC_TFBIF_TRANSCFG);
if (spec->num_ids > 0) { nvdec_writel(nvdec, stream_id, VIC_THI_STREAMID0);
value = spec->ids[0] & 0xffff; nvdec_writel(nvdec, stream_id, VIC_THI_STREAMID1);
nvdec_writel(nvdec, value, VIC_THI_STREAMID0);
nvdec_writel(nvdec, value, VIC_THI_STREAMID1);
}
} }
#endif
err = falcon_boot(&nvdec->falcon); err = falcon_boot(&nvdec->falcon);
if (err < 0) if (err < 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment