Lines Matching full:host1x

3  * Tegra host1x driver
23 #include <trace/events/host1x.h>
45 void host1x_common_writel(struct host1x *host1x, u32 v, u32 r) in host1x_common_writel() argument
47 writel(v, host1x->common_regs + r); in host1x_common_writel()
50 void host1x_hypervisor_writel(struct host1x *host1x, u32 v, u32 r) in host1x_hypervisor_writel() argument
52 writel(v, host1x->hv_regs + r); in host1x_hypervisor_writel()
55 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r) in host1x_hypervisor_readl() argument
57 return readl(host1x->hv_regs + r); in host1x_hypervisor_readl()
60 void host1x_sync_writel(struct host1x *host1x, u32 v, u32 r) in host1x_sync_writel() argument
62 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_writel()
67 u32 host1x_sync_readl(struct host1x *host1x, u32 r) in host1x_sync_readl() argument
69 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_readl()
282 { .compatible = "nvidia,tegra234-host1x", .data = &host1x08_info, },
283 { .compatible = "nvidia,tegra194-host1x", .data = &host1x07_info, },
284 { .compatible = "nvidia,tegra186-host1x", .data = &host1x06_info, },
285 { .compatible = "nvidia,tegra210-host1x", .data = &host1x05_info, },
286 { .compatible = "nvidia,tegra124-host1x", .data = &host1x04_info, },
287 { .compatible = "nvidia,tegra114-host1x", .data = &host1x02_info, },
288 { .compatible = "nvidia,tegra30-host1x", .data = &host1x01_info, },
289 { .compatible = "nvidia,tegra20-host1x", .data = &host1x01_info, },
294 static void host1x_setup_virtualization_tables(struct host1x *host) in host1x_setup_virtualization_tables()
325 static bool host1x_wants_iommu(struct host1x *host1x) in host1x_wants_iommu() argument
333 * and if the host1x firewall is enabled, there's no need to enable in host1x_wants_iommu()
340 * SoCs before Tegra186 (i.e. Tegra124 and Tegra210), the host1x can in host1x_wants_iommu()
348 * buffers will be mapped into a 32-bit IOVA space that host1x can in host1x_wants_iommu()
350 * within the limitations of the host1x on these SoCs. in host1x_wants_iommu()
354 * the host1x firewall is disabled. in host1x_wants_iommu()
356 if (host1x->info->dma_mask <= DMA_BIT_MASK(32)) { in host1x_wants_iommu()
368 static struct iommu_domain *host1x_iommu_attach(struct host1x *host) in host1x_iommu_attach()
386 * host1x firewall is already enabled and we don't support addressing in host1x_iommu_attach()
389 * Similarly, if host1x is already attached to an IOMMU (via the DMA in host1x_iommu_attach()
447 static int host1x_iommu_init(struct host1x *host) in host1x_iommu_init()
480 static void host1x_iommu_exit(struct host1x *host) in host1x_iommu_exit()
496 static int host1x_get_resets(struct host1x *host) in host1x_get_resets()
501 host->resets[1].id = "host1x"; in host1x_get_resets()
516 struct host1x *host; in host1x_probe()
575 /* set common host1x device data */ in host1x_probe()
683 struct host1x *host = platform_get_drvdata(pdev); in host1x_remove()
700 struct host1x *host = dev_get_drvdata(dev); in host1x_runtime_suspend()
732 struct host1x *host = dev_get_drvdata(dev); in host1x_runtime_resume()
775 .name = "tegra-host1x",
812 * host1x_get_dma_mask() - query the supported DMA mask for host1x
813 * @host1x: host1x instance
815 * Note that this returns the supported DMA mask for host1x, which can be
818 u64 host1x_get_dma_mask(struct host1x *host1x) in host1x_get_dma_mask() argument
820 return host1x->info->dma_mask; in host1x_get_dma_mask()
826 MODULE_DESCRIPTION("Host1x driver for Tegra products");