Merge tag 'block-5.11-2021-01-10' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / drivers / gpu / drm / nouveau / include / nvfw / flcn.h
blobe090f347d2204c410e15ee296752a72545f4477e
1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVFW_FLCN_H__
3 #define __NVFW_FLCN_H__
4 #include <core/os.h>
5 struct nvkm_subdev;
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;
23 void
24 loader_config_dump(struct nvkm_subdev *, const struct loader_config *);
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;
40 void
41 loader_config_v1_dump(struct nvkm_subdev *, const struct loader_config_v1 *);
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;
59 void
60 flcn_bl_dmem_desc_dump(struct nvkm_subdev *, const struct flcn_bl_dmem_desc *);
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;
76 void flcn_bl_dmem_desc_v1_dump(struct nvkm_subdev *,
77 const struct flcn_bl_dmem_desc_v1 *);
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;
95 void flcn_bl_dmem_desc_v2_dump(struct nvkm_subdev *,
96 const struct flcn_bl_dmem_desc_v2 *);
97 #endif