• Home
  • Raw
  • Download

Lines Matching full:host1x

3  * Tegra host1x driver
18 #include <trace/events/host1x.h>
38 void host1x_hypervisor_writel(struct host1x *host1x, u32 v, u32 r) in host1x_hypervisor_writel() argument
40 writel(v, host1x->hv_regs + r); in host1x_hypervisor_writel()
43 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r) in host1x_hypervisor_readl() argument
45 return readl(host1x->hv_regs + r); in host1x_hypervisor_readl()
48 void host1x_sync_writel(struct host1x *host1x, u32 v, u32 r) in host1x_sync_writel() argument
50 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_writel()
55 u32 host1x_sync_readl(struct host1x *host1x, u32 r) in host1x_sync_readl() argument
57 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset; in host1x_sync_readl()
175 { .compatible = "nvidia,tegra194-host1x", .data = &host1x07_info, },
176 { .compatible = "nvidia,tegra186-host1x", .data = &host1x06_info, },
177 { .compatible = "nvidia,tegra210-host1x", .data = &host1x05_info, },
178 { .compatible = "nvidia,tegra124-host1x", .data = &host1x04_info, },
179 { .compatible = "nvidia,tegra114-host1x", .data = &host1x02_info, },
180 { .compatible = "nvidia,tegra30-host1x", .data = &host1x01_info, },
181 { .compatible = "nvidia,tegra20-host1x", .data = &host1x01_info, },
186 static void host1x_setup_sid_table(struct host1x *host) in host1x_setup_sid_table()
199 static bool host1x_wants_iommu(struct host1x *host1x) in host1x_wants_iommu() argument
207 * and if the host1x firewall is enabled, there's no need to enable in host1x_wants_iommu()
214 * SoCs before Tegra186 (i.e. Tegra124 and Tegra210), the host1x can in host1x_wants_iommu()
222 * buffers will be mapped into a 32-bit IOVA space that host1x can in host1x_wants_iommu()
224 * within the limitations of the host1x on these SoCs. in host1x_wants_iommu()
228 * the host1x firewall is disabled. in host1x_wants_iommu()
230 if (host1x->info->dma_mask <= DMA_BIT_MASK(32)) { in host1x_wants_iommu()
238 static struct iommu_domain *host1x_iommu_attach(struct host1x *host) in host1x_iommu_attach()
256 * host1x firewall is already enabled and we don't support addressing in host1x_iommu_attach()
259 * Similarly, if host1x is already attached to an IOMMU (via the DMA in host1x_iommu_attach()
314 static int host1x_iommu_init(struct host1x *host) in host1x_iommu_init()
347 static void host1x_iommu_exit(struct host1x *host) in host1x_iommu_exit()
365 struct host1x *host; in host1x_probe()
407 /* set common host1x device data */ in host1x_probe()
439 host->rst = devm_reset_control_get(&pdev->dev, "host1x"); in host1x_probe()
519 struct host1x *host = platform_get_drvdata(pdev); in host1x_remove()
535 .name = "tegra-host1x",
571 * host1x_get_dma_mask() - query the supported DMA mask for host1x
572 * @host1x: host1x instance
574 * Note that this returns the supported DMA mask for host1x, which can be
577 u64 host1x_get_dma_mask(struct host1x *host1x) in host1x_get_dma_mask() argument
579 return host1x->info->dma_mask; in host1x_get_dma_mask()
585 MODULE_DESCRIPTION("Host1x driver for Tegra products");