Lines Matching refs:host1x
3 * Tegra host1x driver
18 #include <trace/events/host1x.h>
38 void host1x_hypervisor_writel(struct host1x *host1x, u32 v, u32 r)
40 writel(v, host1x->hv_regs + r);
43 u32 host1x_hypervisor_readl(struct host1x *host1x, u32 r)
45 return readl(host1x->hv_regs + r);
48 void host1x_sync_writel(struct host1x *host1x, u32 v, u32 r)
50 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset;
55 u32 host1x_sync_readl(struct host1x *host1x, u32 r)
57 void __iomem *sync_regs = host1x->regs + host1x->info->sync_offset;
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)
199 static bool host1x_wants_iommu(struct host1x *host1x)
207 * and if the host1x firewall is enabled, there's no need to enable
214 * SoCs before Tegra186 (i.e. Tegra124 and Tegra210), the host1x can
222 * buffers will be mapped into a 32-bit IOVA space that host1x can
224 * within the limitations of the host1x on these SoCs.
228 * the host1x firewall is disabled.
230 if (host1x->info->dma_mask <= DMA_BIT_MASK(32)) {
238 static struct iommu_domain *host1x_iommu_attach(struct host1x *host)
256 * host1x firewall is already enabled and we don't support addressing
259 * Similarly, if host1x is already attached to an IOMMU (via the DMA
314 static int host1x_iommu_init(struct host1x *host)
347 static void host1x_iommu_exit(struct host1x *host)
365 struct host1x *host;
407 /* set common host1x device data */
439 host->rst = devm_reset_control_get(&pdev->dev, "host1x");
519 struct host1x *host = platform_get_drvdata(pdev);
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)
579 return host1x->info->dma_mask;