]> Git Repo - linux.git/blob - drivers/gpu/drm/nouveau/include/nvfw/flcn.h
Linux 6.14-rc3
[linux.git] / drivers / gpu / drm / nouveau / include / nvfw / flcn.h
1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVFW_FLCN_H__
3 #define __NVFW_FLCN_H__
4 #include <core/os.h>
5 struct nvkm_subdev;
6
7 struct loader_config {
8         u32 dma_idx;
9         u32 code_dma_base;
10         u32 code_size_total;
11         u32 code_size_to_load;
12         u32 code_entry_point;
13         u32 data_dma_base;
14         u32 data_size;
15         u32 overlay_dma_base;
16         u32 argc;
17         u32 argv;
18         u32 code_dma_base1;
19         u32 data_dma_base1;
20         u32 overlay_dma_base1;
21 };
22
23 void
24 loader_config_dump(struct nvkm_subdev *, const struct loader_config *);
25
26 struct loader_config_v1 {
27         u32 reserved;
28         u32 dma_idx;
29         u64 code_dma_base;
30         u32 code_size_total;
31         u32 code_size_to_load;
32         u32 code_entry_point;
33         u64 data_dma_base;
34         u32 data_size;
35         u64 overlay_dma_base;
36         u32 argc;
37         u32 argv;
38 } __packed;
39
40 void
41 loader_config_v1_dump(struct nvkm_subdev *, const struct loader_config_v1 *);
42
43 struct flcn_bl_dmem_desc {
44         u32 reserved[4];
45         u32 signature[4];
46         u32 ctx_dma;
47         u32 code_dma_base;
48         u32 non_sec_code_off;
49         u32 non_sec_code_size;
50         u32 sec_code_off;
51         u32 sec_code_size;
52         u32 code_entry_point;
53         u32 data_dma_base;
54         u32 data_size;
55         u32 code_dma_base1;
56         u32 data_dma_base1;
57 };
58
59 void
60 flcn_bl_dmem_desc_dump(struct nvkm_subdev *, const struct flcn_bl_dmem_desc *);
61
62 struct flcn_bl_dmem_desc_v1 {
63         u32 reserved[4];
64         u32 signature[4];
65         u32 ctx_dma;
66         u64 code_dma_base;
67         u32 non_sec_code_off;
68         u32 non_sec_code_size;
69         u32 sec_code_off;
70         u32 sec_code_size;
71         u32 code_entry_point;
72         u64 data_dma_base;
73         u32 data_size;
74 } __packed;
75
76 void flcn_bl_dmem_desc_v1_dump(struct nvkm_subdev *,
77                                const struct flcn_bl_dmem_desc_v1 *);
78
79 struct flcn_bl_dmem_desc_v2 {
80         u32 reserved[4];
81         u32 signature[4];
82         u32 ctx_dma;
83         u64 code_dma_base;
84         u32 non_sec_code_off;
85         u32 non_sec_code_size;
86         u32 sec_code_off;
87         u32 sec_code_size;
88         u32 code_entry_point;
89         u64 data_dma_base;
90         u32 data_size;
91         u32 argc;
92         u32 argv;
93 } __packed;
94
95 void flcn_bl_dmem_desc_v2_dump(struct nvkm_subdev *,
96                                const struct flcn_bl_dmem_desc_v2 *);
97 #endif
This page took 0.040237 seconds and 4 git commands to generate.