Skip to content

Commit

Permalink
drm/tegra: nvdec: Use tegra_dev_iommu_get_stream_id()
Browse files Browse the repository at this point in the history
Use the newly implemented tegra_dev_iommu_get_stream_id() helper to
encapsulate and centralize the IOMMU stream ID access.

Signed-off-by: Thierry Reding <treding@nvidia.com>
  • Loading branch information
Thierry Reding committed Jan 27, 2023
1 parent b50ad38 commit 2abdd44
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions drivers/gpu/drm/tegra/nvdec.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,26 +67,18 @@ static inline void nvdec_writel(struct nvdec *nvdec, u32 value,

static int nvdec_boot_falcon(struct nvdec *nvdec)
{
#ifdef CONFIG_IOMMU_API
struct iommu_fwspec *spec = dev_iommu_fwspec_get(nvdec->dev);
#endif
u32 stream_id;
int err;

#ifdef CONFIG_IOMMU_API
if (nvdec->config->supports_sid && spec) {
if (nvdec->config->supports_sid && tegra_dev_iommu_get_stream_id(nvdec->dev, &stream_id)) {
u32 value;

value = TRANSCFG_ATT(1, TRANSCFG_SID_FALCON) | TRANSCFG_ATT(0, TRANSCFG_SID_HW);
nvdec_writel(nvdec, value, NVDEC_TFBIF_TRANSCFG);

if (spec->num_ids > 0) {
value = spec->ids[0] & 0xffff;

nvdec_writel(nvdec, value, VIC_THI_STREAMID0);
nvdec_writel(nvdec, value, VIC_THI_STREAMID1);
}
nvdec_writel(nvdec, stream_id, VIC_THI_STREAMID0);
nvdec_writel(nvdec, stream_id, VIC_THI_STREAMID1);
}
#endif

err = falcon_boot(&nvdec->falcon);
if (err < 0)
Expand Down

0 comments on commit 2abdd44

Please sign in to comment.