mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-12 17:29:04 +08:00
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: Thierry Reding <treding@nvidia.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user