File Index
Files and directories
Sign in
FILE

tegra.h

File preview with syntax highlighting.

linux-6.19.14/drivers/gpu/drm/nouveau/include/nvkm/core/tegra.h C
 1/* SPDX-License-Identifier: MIT */
 2#ifndef __NVKM_DEVICE_TEGRA_H__
 3#define __NVKM_DEVICE_TEGRA_H__
 4#include <core/device.h>
 5#include <core/mm.h>
 6
 7struct nvkm_device_tegra {
 8	const struct nvkm_device_tegra_func *func;
 9	struct nvkm_device device;
10	struct platform_device *pdev;
11
12	void __iomem *regs;
13
14	struct reset_control *rst;
15	struct clk *clk;
16	struct clk *clk_ref;
17	struct clk *clk_pwr;
18
19	struct regulator *vdd;
20
21	struct {
22		/*
23		 * Protects accesses to mm from subsystems
24		 */
25		struct mutex mutex;
26
27		struct nvkm_mm mm;
28		struct iommu_domain *domain;
29		unsigned long pgshift;
30	} iommu;
31
32	int gpu_speedo;
33	int gpu_speedo_id;
34};
35
36struct nvkm_device_tegra_func {
37	/*
38	 * If an IOMMU is used, indicates which address bit will trigger a
39	 * IOMMU translation when set (when this bit is not set, IOMMU is
40	 * bypassed). A value of 0 means an IOMMU is never used.
41	 */
42	u8 iommu_bit;
43	/*
44	 * Whether the chip requires a reference clock
45	 */
46	bool require_ref_clk;
47	/*
48	 * Whether the chip requires the VDD regulator
49	 */
50	bool require_vdd;
51};
52
53int nvkm_device_tegra_new(const struct nvkm_device_tegra_func *,
54			  struct platform_device *,
55			  const char *cfg, const char *dbg,
56			  struct nvkm_device **);
57#endif
~/ Read-only file preview.