Home
last modified time | relevance | path

Searched refs:falcon (Results 1 - 25 of 113) sorted by relevance

12345

/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/falcon/
H A Dbase.c28 nvkm_falcon_load_imem(struct nvkm_falcon *falcon, void *data, u32 start, in nvkm_falcon_load_imem() argument
31 if (secure && !falcon->secret) { in nvkm_falcon_load_imem()
32 nvkm_warn(falcon->user, in nvkm_falcon_load_imem()
33 "writing with secure tag on a non-secure falcon!\n"); in nvkm_falcon_load_imem()
37 falcon->func->load_imem(falcon, data, start, size, tag, port, in nvkm_falcon_load_imem()
42 nvkm_falcon_load_dmem(struct nvkm_falcon *falcon, void *data, u32 start, in nvkm_falcon_load_dmem() argument
45 mutex_lock(&falcon->dmem_mutex); in nvkm_falcon_load_dmem()
47 falcon->func->load_dmem(falcon, dat in nvkm_falcon_load_dmem()
53 nvkm_falcon_read_dmem(struct nvkm_falcon *falcon, u32 start, u32 size, u8 port, void *data) nvkm_falcon_read_dmem() argument
64 nvkm_falcon_bind_context(struct nvkm_falcon *falcon, struct nvkm_memory *inst) nvkm_falcon_bind_context() argument
76 nvkm_falcon_set_start_addr(struct nvkm_falcon *falcon, u32 start_addr) nvkm_falcon_set_start_addr() argument
82 nvkm_falcon_start(struct nvkm_falcon *falcon) nvkm_falcon_start() argument
88 nvkm_falcon_enable(struct nvkm_falcon *falcon) nvkm_falcon_enable() argument
105 nvkm_falcon_disable(struct nvkm_falcon *falcon) nvkm_falcon_disable() argument
120 nvkm_falcon_reset(struct nvkm_falcon *falcon) nvkm_falcon_reset() argument
131 nvkm_falcon_wait_for_halt(struct nvkm_falcon *falcon, u32 ms) nvkm_falcon_wait_for_halt() argument
137 nvkm_falcon_clear_interrupt(struct nvkm_falcon *falcon, u32 mask) nvkm_falcon_clear_interrupt() argument
143 nvkm_falcon_oneinit(struct nvkm_falcon *falcon) nvkm_falcon_oneinit() argument
174 nvkm_falcon_put(struct nvkm_falcon *falcon, const struct nvkm_subdev *user) nvkm_falcon_put() argument
188 nvkm_falcon_get(struct nvkm_falcon *falcon, const struct nvkm_subdev *user) nvkm_falcon_get() argument
209 nvkm_falcon_dtor(struct nvkm_falcon *falcon) nvkm_falcon_dtor() argument
214 nvkm_falcon_ctor(const struct nvkm_falcon_func *func, struct nvkm_subdev *subdev, const char *name, u32 addr, struct nvkm_falcon *falcon) nvkm_falcon_ctor() argument
[all...]
H A Dv1.c29 nvkm_falcon_v1_load_imem(struct nvkm_falcon *falcon, void *data, u32 start, in nvkm_falcon_v1_load_imem() argument
39 nvkm_falcon_wr32(falcon, 0x180 + (port * 16), reg); in nvkm_falcon_v1_load_imem()
43 nvkm_falcon_wr32(falcon, 0x188 + (port * 16), tag++); in nvkm_falcon_v1_load_imem()
44 nvkm_falcon_wr32(falcon, 0x184 + (port * 16), ((u32 *)data)[i]); in nvkm_falcon_v1_load_imem()
56 nvkm_falcon_wr32(falcon, 0x188 + (port * 16), tag++); in nvkm_falcon_v1_load_imem()
57 nvkm_falcon_wr32(falcon, 0x184 + (port * 16), in nvkm_falcon_v1_load_imem()
64 nvkm_falcon_wr32(falcon, 0x184 + (port * 16), 0); in nvkm_falcon_v1_load_imem()
68 nvkm_falcon_v1_load_emem(struct nvkm_falcon *falcon, void *data, u32 start, in nvkm_falcon_v1_load_emem() argument
76 nvkm_falcon_wr32(falcon, 0xac0 + (port * 8), start | (0x1 << 24)); in nvkm_falcon_v1_load_emem()
78 nvkm_falcon_wr32(falcon, in nvkm_falcon_v1_load_emem()
93 nvkm_falcon_v1_load_dmem(struct nvkm_falcon *falcon, void *data, u32 start, u32 size, u8 port) nvkm_falcon_v1_load_dmem() argument
124 nvkm_falcon_v1_read_emem(struct nvkm_falcon *falcon, u32 start, u32 size, u8 port, void *data) nvkm_falcon_v1_read_emem() argument
151 nvkm_falcon_v1_read_dmem(struct nvkm_falcon *falcon, u32 start, u32 size, u8 port, void *data) nvkm_falcon_v1_read_dmem() argument
183 nvkm_falcon_v1_bind_context(struct nvkm_falcon *falcon, struct nvkm_memory *ctx) nvkm_falcon_v1_bind_context() argument
225 nvkm_falcon_v1_set_start_addr(struct nvkm_falcon *falcon, u32 start_addr) nvkm_falcon_v1_set_start_addr() argument
231 nvkm_falcon_v1_start(struct nvkm_falcon *falcon) nvkm_falcon_v1_start() argument
242 nvkm_falcon_v1_wait_for_halt(struct nvkm_falcon *falcon, u32 ms) nvkm_falcon_v1_wait_for_halt() argument
255 nvkm_falcon_v1_clear_interrupt(struct nvkm_falcon *falcon, u32 mask) nvkm_falcon_v1_clear_interrupt() argument
271 falcon_v1_wait_idle(struct nvkm_falcon *falcon) falcon_v1_wait_idle() argument
284 nvkm_falcon_v1_enable(struct nvkm_falcon *falcon) nvkm_falcon_v1_enable() argument
306 nvkm_falcon_v1_disable(struct nvkm_falcon *falcon) nvkm_falcon_v1_disable() argument
331 struct nvkm_falcon *falcon; nvkm_falcon_v1_new() local
[all...]
H A Dmsgq.c29 msgq->position = nvkm_falcon_rd32(msgq->qmgr->falcon, msgq->tail_reg); in nvkm_falcon_msgq_open()
35 struct nvkm_falcon *falcon = msgq->qmgr->falcon; in nvkm_falcon_msgq_close() local
38 nvkm_falcon_wr32(falcon, msgq->tail_reg, msgq->position); in nvkm_falcon_msgq_close()
46 u32 head = nvkm_falcon_rd32(msgq->qmgr->falcon, msgq->head_reg); in nvkm_falcon_msgq_empty()
47 u32 tail = nvkm_falcon_rd32(msgq->qmgr->falcon, msgq->tail_reg); in nvkm_falcon_msgq_empty()
54 struct nvkm_falcon *falcon = msgq->qmgr->falcon; in nvkm_falcon_msgq_pop() local
57 head = nvkm_falcon_rd32(falcon, msgq->head_reg); in nvkm_falcon_msgq_pop()
71 nvkm_falcon_read_dmem(falcon, tai in nvkm_falcon_msgq_pop()
157 struct nvkm_falcon *falcon = msgq->qmgr->falcon; nvkm_falcon_msgq_recv_initmsg() local
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/falcon/
H A Dgm200.c29 gm200_flcn_tracepc(struct nvkm_falcon *falcon) in gm200_flcn_tracepc() argument
31 u32 sctl = nvkm_falcon_rd32(falcon, 0x240); in gm200_flcn_tracepc()
32 u32 tidx = nvkm_falcon_rd32(falcon, 0x148); in gm200_flcn_tracepc()
35 FLCN_ERR(falcon, "TRACEPC SCTL %08x TIDX %08x", sctl, tidx); in gm200_flcn_tracepc()
37 nvkm_falcon_wr32(falcon, 0x148, sp); in gm200_flcn_tracepc()
38 ip = nvkm_falcon_rd32(falcon, 0x14c); in gm200_flcn_tracepc()
39 FLCN_ERR(falcon, "TRACEPC: %08x", ip); in gm200_flcn_tracepc()
44 gm200_flcn_pio_dmem_rd(struct nvkm_falcon *falcon, u8 port, const u8 *img, int len) in gm200_flcn_pio_dmem_rd() argument
47 *(u32 *)img = nvkm_falcon_rd32(falcon, 0x1c4 + (port * 8)); in gm200_flcn_pio_dmem_rd()
54 u32 data = nvkm_falcon_rd32(falcon, in gm200_flcn_pio_dmem_rd()
64 gm200_flcn_pio_dmem_rd_init(struct nvkm_falcon *falcon, u8 port, u32 dmem_base) gm200_flcn_pio_dmem_rd_init() argument
70 gm200_flcn_pio_dmem_wr(struct nvkm_falcon *falcon, u8 port, const u8 *img, int len, u16 tag) gm200_flcn_pio_dmem_wr() argument
82 gm200_flcn_pio_dmem_wr_init(struct nvkm_falcon *falcon, u8 port, bool sec, u32 dmem_base) gm200_flcn_pio_dmem_wr_init() argument
98 gm200_flcn_pio_imem_wr_init(struct nvkm_falcon *falcon, u8 port, bool sec, u32 imem_base) gm200_flcn_pio_imem_wr_init() argument
104 gm200_flcn_pio_imem_wr(struct nvkm_falcon *falcon, u8 port, const u8 *img, int len, u16 tag) gm200_flcn_pio_imem_wr() argument
123 gm200_flcn_bind_stat(struct nvkm_falcon *falcon, bool intr) gm200_flcn_bind_stat() argument
132 gm200_flcn_bind_inst(struct nvkm_falcon *falcon, int target, u64 addr) gm200_flcn_bind_inst() argument
141 gm200_flcn_reset_wait_mem_scrubbing(struct nvkm_falcon *falcon) gm200_flcn_reset_wait_mem_scrubbing() argument
155 gm200_flcn_enable(struct nvkm_falcon *falcon) gm200_flcn_enable() argument
184 gm200_flcn_disable(struct nvkm_falcon *falcon) gm200_flcn_disable() argument
220 struct nvkm_falcon *falcon = fw->falcon; gm200_flcn_fw_boot() local
251 struct nvkm_falcon *falcon = fw->falcon; gm200_flcn_fw_load() local
333 struct nvkm_falcon *falcon = fw->falcon; gm200_flcn_fw_signature() local
[all...]
H A Dbase.c29 nvkm_falcon_dma(struct nvkm_falcon *falcon, enum nvkm_falcon_mem *mem_type, u32 *mem_base) in nvkm_falcon_dma() argument
32 case IMEM: return falcon->func->imem_dma; in nvkm_falcon_dma()
33 case DMEM: return falcon->func->dmem_dma; in nvkm_falcon_dma()
40 nvkm_falcon_dma_wr(struct nvkm_falcon *falcon, const u8 *img, u64 dma_addr, u32 dma_base, in nvkm_falcon_dma_wr() argument
43 const struct nvkm_falcon_func_dma *dma = nvkm_falcon_dma(falcon, &mem_type, &mem_base); in nvkm_falcon_dma_wr()
58 FLCN_DBG(falcon, "%s %08x <- %08x bytes at %08x (%010llx %08x)", in nvkm_falcon_dma_wr()
63 ret = dma->init(falcon, dma_addr, dmalen, mem_type, sec, &cmd); in nvkm_falcon_dma_wr()
71 dma->xfer(falcon, dst, src - dma_start, cmd); in nvkm_falcon_dma_wr()
73 if (img && nvkm_printk_ok(falcon->owner, falcon in nvkm_falcon_dma_wr()
105 nvkm_falcon_pio(struct nvkm_falcon *falcon, enum nvkm_falcon_mem *mem_type, u32 *mem_base) nvkm_falcon_pio() argument
124 nvkm_falcon_pio_rd(struct nvkm_falcon *falcon, u8 port, enum nvkm_falcon_mem mem_type, u32 mem_base, const u8 *img, u32 img_base, int len) nvkm_falcon_pio_rd() argument
159 nvkm_falcon_pio_wr(struct nvkm_falcon *falcon, const u8 *img, u32 img_base, u8 port, enum nvkm_falcon_mem mem_type, u32 mem_base, int len, u16 tag, bool sec) nvkm_falcon_pio_wr() argument
196 nvkm_falcon_load_imem(struct nvkm_falcon *falcon, void *data, u32 start, u32 size, u16 tag, u8 port, bool secure) nvkm_falcon_load_imem() argument
210 nvkm_falcon_load_dmem(struct nvkm_falcon *falcon, void *data, u32 start, u32 size, u8 port) nvkm_falcon_load_dmem() argument
221 nvkm_falcon_start(struct nvkm_falcon *falcon) nvkm_falcon_start() argument
227 nvkm_falcon_reset(struct nvkm_falcon *falcon) nvkm_falcon_reset() argument
239 nvkm_falcon_oneinit(struct nvkm_falcon *falcon) nvkm_falcon_oneinit() argument
270 nvkm_falcon_put(struct nvkm_falcon *falcon, struct nvkm_subdev *user) nvkm_falcon_put() argument
284 nvkm_falcon_get(struct nvkm_falcon *falcon, struct nvkm_subdev *user) nvkm_falcon_get() argument
305 nvkm_falcon_dtor(struct nvkm_falcon *falcon) nvkm_falcon_dtor() argument
310 nvkm_falcon_ctor(const struct nvkm_falcon_func *func, struct nvkm_subdev *subdev, const char *name, u32 addr, struct nvkm_falcon *falcon) nvkm_falcon_ctor() argument
[all...]
H A Dga102.c28 ga102_flcn_dma_done(struct nvkm_falcon *falcon) in ga102_flcn_dma_done() argument
30 return !!(nvkm_falcon_rd32(falcon, 0x118) & 0x00000002); in ga102_flcn_dma_done()
34 ga102_flcn_dma_xfer(struct nvkm_falcon *falcon, u32 mem_base, u32 dma_base, u32 cmd) in ga102_flcn_dma_xfer() argument
36 nvkm_falcon_wr32(falcon, 0x114, mem_base); in ga102_flcn_dma_xfer()
37 nvkm_falcon_wr32(falcon, 0x11c, dma_base); in ga102_flcn_dma_xfer()
38 nvkm_falcon_wr32(falcon, 0x118, cmd); in ga102_flcn_dma_xfer()
42 ga102_flcn_dma_init(struct nvkm_falcon *falcon, u64 dma_addr, int xfer_len, in ga102_flcn_dma_init() argument
51 nvkm_falcon_wr32(falcon, 0x110, dma_addr >> 8); in ga102_flcn_dma_init()
52 nvkm_falcon_wr32(falcon, 0x128, 0x00000000); in ga102_flcn_dma_init()
64 ga102_flcn_reset_wait_mem_scrubbing(struct nvkm_falcon *falcon) in ga102_flcn_reset_wait_mem_scrubbing() argument
78 ga102_flcn_reset_prep(struct nvkm_falcon *falcon) ga102_flcn_reset_prep() argument
92 ga102_flcn_select(struct nvkm_falcon *falcon) ga102_flcn_select() argument
109 struct nvkm_falcon *falcon = fw->falcon; ga102_flcn_fw_boot() local
122 struct nvkm_falcon *falcon = fw->falcon; ga102_flcn_fw_load() local
[all...]
H A Dgp102.c25 gp102_flcn_pio_emem_rd(struct nvkm_falcon *falcon, u8 port, const u8 *img, int len) in gp102_flcn_pio_emem_rd() argument
28 *(u32 *)img = nvkm_falcon_rd32(falcon, 0xac4 + (port * 8)); in gp102_flcn_pio_emem_rd()
35 gp102_flcn_pio_emem_rd_init(struct nvkm_falcon *falcon, u8 port, u32 dmem_base) in gp102_flcn_pio_emem_rd_init() argument
37 nvkm_falcon_wr32(falcon, 0xac0 + (port * 8), BIT(25) | dmem_base); in gp102_flcn_pio_emem_rd_init()
41 gp102_flcn_pio_emem_wr(struct nvkm_falcon *falcon, u8 port, const u8 *img, int len, u16 tag) in gp102_flcn_pio_emem_wr() argument
44 nvkm_falcon_wr32(falcon, 0xac4 + (port * 8), *(u32 *)img); in gp102_flcn_pio_emem_wr()
51 gp102_flcn_pio_emem_wr_init(struct nvkm_falcon *falcon, u8 port, bool sec, u32 emem_base) in gp102_flcn_pio_emem_wr_init() argument
53 nvkm_falcon_wr32(falcon, 0xac0 + (port * 8), BIT(24) | emem_base); in gp102_flcn_pio_emem_wr_init()
67 gp102_flcn_reset_eng(struct nvkm_falcon *falcon) in gp102_flcn_reset_eng() argument
71 if (falcon in gp102_flcn_reset_eng()
[all...]
H A Dv1.c29 nvkm_falcon_v1_load_imem(struct nvkm_falcon *falcon, void *data, u32 start, in nvkm_falcon_v1_load_imem() argument
39 nvkm_falcon_wr32(falcon, 0x180 + (port * 16), reg); in nvkm_falcon_v1_load_imem()
43 nvkm_falcon_wr32(falcon, 0x188 + (port * 16), tag++); in nvkm_falcon_v1_load_imem()
44 nvkm_falcon_wr32(falcon, 0x184 + (port * 16), ((u32 *)data)[i]); in nvkm_falcon_v1_load_imem()
56 nvkm_falcon_wr32(falcon, 0x188 + (port * 16), tag++); in nvkm_falcon_v1_load_imem()
57 nvkm_falcon_wr32(falcon, 0x184 + (port * 16), in nvkm_falcon_v1_load_imem()
64 nvkm_falcon_wr32(falcon, 0x184 + (port * 16), 0); in nvkm_falcon_v1_load_imem()
68 nvkm_falcon_v1_load_dmem(struct nvkm_falcon *falcon, void *data, u32 start, in nvkm_falcon_v1_load_dmem() argument
76 nvkm_falcon_wr32(falcon, 0x1c0 + (port * 8), start | (0x1 << 24)); in nvkm_falcon_v1_load_dmem()
78 nvkm_falcon_wr32(falcon, in nvkm_falcon_v1_load_dmem()
93 nvkm_falcon_v1_start(struct nvkm_falcon *falcon) nvkm_falcon_v1_start() argument
[all...]
H A Dmsgq.c29 msgq->position = nvkm_falcon_rd32(msgq->qmgr->falcon, msgq->tail_reg); in nvkm_falcon_msgq_open()
35 struct nvkm_falcon *falcon = msgq->qmgr->falcon; in nvkm_falcon_msgq_close() local
38 nvkm_falcon_wr32(falcon, msgq->tail_reg, msgq->position); in nvkm_falcon_msgq_close()
46 u32 head = nvkm_falcon_rd32(msgq->qmgr->falcon, msgq->head_reg); in nvkm_falcon_msgq_empty()
47 u32 tail = nvkm_falcon_rd32(msgq->qmgr->falcon, msgq->tail_reg); in nvkm_falcon_msgq_empty()
54 struct nvkm_falcon *falcon = msgq->qmgr->falcon; in nvkm_falcon_msgq_pop() local
57 head = nvkm_falcon_rd32(falcon, msgq->head_reg); in nvkm_falcon_msgq_pop()
71 nvkm_falcon_pio_rd(falcon, in nvkm_falcon_msgq_pop()
157 struct nvkm_falcon *falcon = msgq->qmgr->falcon; nvkm_falcon_msgq_recv_initmsg() local
[all...]
H A Dga100.c27 struct nvkm_falcon *falcon = fw->falcon; in ga100_flcn_fw_signature() local
28 struct nvkm_device *device = falcon->owner->device; in ga100_flcn_fw_signature()
32 FLCN_DBG(falcon, "brom: %08x %08x", fw->engine_id, fw->ucode_id); in ga100_flcn_fw_signature()
33 FLCN_DBG(falcon, "fuse_version: %d", fw->fuse_ver); in ga100_flcn_fw_signature()
48 FLCN_DBG(falcon, "reg_fuse_version: %08x", reg_fuse_version); in ga100_flcn_fw_signature()
51 FLCN_DBG(falcon, "reg_fuse_version: %d", reg_fuse_version); in ga100_flcn_fw_signature()
/kernel/linux/linux-6.6/drivers/gpu/drm/tegra/
H A Dfalcon.c12 #include "falcon.h"
20 static void falcon_writel(struct falcon *falcon, u32 value, u32 offset) in falcon_writel() argument
22 writel(value, falcon->regs + offset); in falcon_writel()
25 int falcon_wait_idle(struct falcon *falcon) in falcon_wait_idle() argument
29 return readl_poll_timeout(falcon->regs + FALCON_IDLESTATE, value, in falcon_wait_idle()
33 static int falcon_dma_wait_idle(struct falcon *falcon) in falcon_dma_wait_idle() argument
37 return readl_poll_timeout(falcon in falcon_dma_wait_idle()
41 falcon_copy_chunk(struct falcon *falcon, phys_addr_t base, unsigned long offset, enum falcon_memory target) falcon_copy_chunk() argument
66 falcon_copy_firmware_image(struct falcon *falcon, const struct firmware *firmware) falcon_copy_firmware_image() argument
77 falcon_parse_firmware_image(struct falcon *falcon) falcon_parse_firmware_image() argument
112 falcon_read_firmware(struct falcon *falcon, const char *name) falcon_read_firmware() argument
126 falcon_load_firmware(struct falcon *falcon) falcon_load_firmware() argument
147 falcon_init(struct falcon *falcon) falcon_init() argument
154 falcon_exit(struct falcon *falcon) falcon_exit() argument
160 falcon_boot(struct falcon *falcon) falcon_boot() argument
227 falcon_execute_method(struct falcon *falcon, u32 method, u32 data) falcon_execute_method() argument
[all...]
H A Dfalcon.h99 struct falcon { struct
100 /* Set by falcon client */
107 int falcon_init(struct falcon *falcon);
108 void falcon_exit(struct falcon *falcon);
109 int falcon_read_firmware(struct falcon *falcon, const char *firmware_name);
110 int falcon_load_firmware(struct falcon *falcon);
[all...]
H A Dvic.c20 #include "falcon.h"
30 struct falcon falcon; member
88 err = falcon_boot(&vic->falcon); in vic_boot()
92 hdr = vic->falcon.firmware.virt; in vic_boot()
97 hdr = vic->falcon.firmware.virt + in vic_boot()
101 falcon_execute_method(&vic->falcon, VIC_SET_FCE_UCODE_SIZE, in vic_boot()
104 &vic->falcon, VIC_SET_FCE_UCODE_OFFSET, in vic_boot()
105 (vic->falcon.firmware.iova + fce_bin_data_offset) >> 8); in vic_boot()
108 err = falcon_wait_idle(&vic->falcon); in vic_boot()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/tegra/
H A Dfalcon.c12 #include "falcon.h"
20 static void falcon_writel(struct falcon *falcon, u32 value, u32 offset) in falcon_writel() argument
22 writel(value, falcon->regs + offset); in falcon_writel()
25 int falcon_wait_idle(struct falcon *falcon) in falcon_wait_idle() argument
29 return readl_poll_timeout(falcon->regs + FALCON_IDLESTATE, value, in falcon_wait_idle()
33 static int falcon_dma_wait_idle(struct falcon *falcon) in falcon_dma_wait_idle() argument
37 return readl_poll_timeout(falcon in falcon_dma_wait_idle()
41 falcon_copy_chunk(struct falcon *falcon, phys_addr_t base, unsigned long offset, enum falcon_memory target) falcon_copy_chunk() argument
58 falcon_copy_firmware_image(struct falcon *falcon, const struct firmware *firmware) falcon_copy_firmware_image() argument
69 falcon_parse_firmware_image(struct falcon *falcon) falcon_parse_firmware_image() argument
104 falcon_read_firmware(struct falcon *falcon, const char *name) falcon_read_firmware() argument
118 falcon_load_firmware(struct falcon *falcon) falcon_load_firmware() argument
139 falcon_init(struct falcon *falcon) falcon_init() argument
146 falcon_exit(struct falcon *falcon) falcon_exit() argument
152 falcon_boot(struct falcon *falcon) falcon_boot() argument
218 falcon_execute_method(struct falcon *falcon, u32 method, u32 data) falcon_execute_method() argument
[all...]
H A Dfalcon.h98 struct falcon { struct
99 /* Set by falcon client */
106 int falcon_init(struct falcon *falcon);
107 void falcon_exit(struct falcon *falcon);
108 int falcon_read_firmware(struct falcon *falcon, const char *firmware_name);
109 int falcon_load_firmware(struct falcon *falcon);
[all...]
H A Dvic.c22 #include "falcon.h"
32 struct falcon falcon; member
133 err = falcon_boot(&vic->falcon); in vic_boot()
137 hdr = vic->falcon.firmware.virt; in vic_boot()
139 hdr = vic->falcon.firmware.virt + in vic_boot()
143 falcon_execute_method(&vic->falcon, VIC_SET_APPLICATION_ID, 1); in vic_boot()
144 falcon_execute_method(&vic->falcon, VIC_SET_FCE_UCODE_SIZE, in vic_boot()
146 falcon_execute_method(&vic->falcon, VIC_SET_FCE_UCODE_OFFSET, in vic_boot()
147 (vic->falcon in vic_boot()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/
H A Dfalcon.c22 #include <engine/falcon.h>
32 struct nvkm_falcon *falcon = nvkm_falcon(oclass->engine); in nvkm_falcon_oclass_get() local
35 while (falcon->func->sclass[c].oclass) { in nvkm_falcon_oclass_get()
37 oclass->base = falcon->func->sclass[index]; in nvkm_falcon_oclass_get()
61 struct nvkm_falcon *falcon = nvkm_falcon(engine); in nvkm_falcon_intr() local
62 struct nvkm_subdev *subdev = &falcon->engine.subdev; in nvkm_falcon_intr()
64 const u32 base = falcon->addr; in nvkm_falcon_intr()
74 if (falcon->func->intr) { in nvkm_falcon_intr()
75 falcon->func->intr(falcon, cha in nvkm_falcon_intr()
98 struct nvkm_falcon *falcon = nvkm_falcon(engine); nvkm_falcon_fini() local
131 struct nvkm_falcon *falcon = nvkm_falcon(engine); nvkm_falcon_oneinit() local
162 struct nvkm_falcon *falcon = nvkm_falcon(engine); nvkm_falcon_init() local
342 struct nvkm_falcon *falcon; nvkm_falcon_new_() local
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/engine/
H A Dfalcon.c22 #include <engine/falcon.h>
32 struct nvkm_falcon *falcon = nvkm_falcon(oclass->engine); in nvkm_falcon_oclass_get() local
35 while (falcon->func->sclass[c].oclass) { in nvkm_falcon_oclass_get()
37 oclass->base = falcon->func->sclass[index]; in nvkm_falcon_oclass_get()
61 struct nvkm_falcon *falcon = nvkm_falcon(engine); in nvkm_falcon_intr() local
62 struct nvkm_subdev *subdev = &falcon->engine.subdev; in nvkm_falcon_intr()
64 const u32 base = falcon->addr; in nvkm_falcon_intr()
74 if (falcon->func->intr) { in nvkm_falcon_intr()
75 falcon->func->intr(falcon, cha in nvkm_falcon_intr()
98 struct nvkm_falcon *falcon = nvkm_falcon(engine); nvkm_falcon_fini() local
131 struct nvkm_falcon *falcon = nvkm_falcon(engine); nvkm_falcon_oneinit() local
162 struct nvkm_falcon *falcon = nvkm_falcon(engine); nvkm_falcon_init() local
342 struct nvkm_falcon *falcon; nvkm_falcon_new_() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/sec2/
H A Dgp102.c49 "falcon %d [%s]: %08x\n", in gp102_sec2_acr_bootstrap_falcon_callback()
59 gp102_sec2_acr_bootstrap_falcon(struct nvkm_falcon *falcon, in gp102_sec2_acr_bootstrap_falcon() argument
62 struct nvkm_sec2 *sec2 = container_of(falcon, typeof(*sec2), falcon); in gp102_sec2_acr_bootstrap_falcon()
78 gp102_sec2_acr_boot(struct nvkm_falcon *falcon) in gp102_sec2_acr_boot() argument
81 nvkm_falcon_load_dmem(falcon, &args, in gp102_sec2_acr_boot()
82 falcon->func->emem_addr, sizeof(args), 0); in gp102_sec2_acr_boot()
83 nvkm_falcon_start(falcon); in gp102_sec2_acr_boot()
114 .argv = lsfw->falcon->func->emem_addr, in gp102_sec2_acr_bld_write()
167 struct nvkm_falcon *falcon in gp102_sec2_intr() local
184 gp102_sec2_flcn_enable(struct nvkm_falcon *falcon) gp102_sec2_flcn_enable() argument
193 gp102_sec2_flcn_bind_context(struct nvkm_falcon *falcon, struct nvkm_memory *ctx) gp102_sec2_flcn_bind_context() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/
H A Dgm200.c27 gm200_pmu_flcn_bind_stat(struct nvkm_falcon *falcon, bool intr) in gm200_pmu_flcn_bind_stat() argument
29 nvkm_falcon_wr32(falcon, 0x200, 0x0000030e); in gm200_pmu_flcn_bind_stat()
30 return (nvkm_falcon_rd32(falcon, 0x20c) & 0x00007000) >> 12; in gm200_pmu_flcn_bind_stat()
34 gm200_pmu_flcn_bind_inst(struct nvkm_falcon *falcon, int target, u64 addr) in gm200_pmu_flcn_bind_inst() argument
36 nvkm_falcon_wr32(falcon, 0xe00, 4); /* DMAIDX_UCODE */ in gm200_pmu_flcn_bind_inst()
37 nvkm_falcon_wr32(falcon, 0xe04, 0); /* DMAIDX_VIRT */ in gm200_pmu_flcn_bind_inst()
38 nvkm_falcon_wr32(falcon, 0xe08, 4); /* DMAIDX_PHYS_VID */ in gm200_pmu_flcn_bind_inst()
39 nvkm_falcon_wr32(falcon, 0xe0c, 5); /* DMAIDX_PHYS_SYS_COH */ in gm200_pmu_flcn_bind_inst()
40 nvkm_falcon_wr32(falcon, 0xe10, 6); /* DMAIDX_PHYS_SYS_NCOH */ in gm200_pmu_flcn_bind_inst()
41 nvkm_falcon_mask(falcon, in gm200_pmu_flcn_bind_inst()
[all...]
H A Dgk20a.c98 struct nvkm_falcon *falcon = &pmu->base.falcon; in gk20a_pmu_dvfs_get_dev_status() local
100 status->busy = nvkm_falcon_rd32(falcon, 0x508 + (BUSY_SLOT * 0x10)); in gk20a_pmu_dvfs_get_dev_status()
101 status->total= nvkm_falcon_rd32(falcon, 0x508 + (CLK_SLOT * 0x10)); in gk20a_pmu_dvfs_get_dev_status()
107 struct nvkm_falcon *falcon = &pmu->base.falcon; in gk20a_pmu_dvfs_reset_dev_status() local
109 nvkm_falcon_wr32(falcon, 0x508 + (BUSY_SLOT * 0x10), 0x80000000); in gk20a_pmu_dvfs_reset_dev_status()
110 nvkm_falcon_wr32(falcon, 0x508 + (CLK_SLOT * 0x10), 0x80000000); in gk20a_pmu_dvfs_reset_dev_status()
163 nvkm_falcon_put(&pmu->falcon, &pmu->subdev); in gk20a_pmu_fini()
172 struct nvkm_falcon *falcon in gk20a_pmu_init() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/fb/
H A Dgp102.c38 struct nvkm_falcon *falcon = &device->nvdec[0]->falcon; in gp102_fb_vpr_scrub() local
47 nvkm_falcon_get(falcon, subdev); in gp102_fb_vpr_scrub()
56 if (falcon->debug) { in gp102_fb_vpr_scrub()
66 nvkm_falcon_reset(falcon); in gp102_fb_vpr_scrub()
67 nvkm_falcon_bind_context(falcon, NULL); in gp102_fb_vpr_scrub()
69 nvkm_falcon_load_imem(falcon, scrub_data, lhdr->non_sec_code_off, in gp102_fb_vpr_scrub()
72 nvkm_falcon_load_imem(falcon, scrub_data + lhdr->apps[0], in gp102_fb_vpr_scrub()
76 nvkm_falcon_load_dmem(falcon, scrub_data + lhdr->data_dma_base, 0, in gp102_fb_vpr_scrub()
79 nvkm_falcon_set_start_addr(falcon, in gp102_fb_vpr_scrub()
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/engine/sec2/
H A Dbase.c44 struct nvkm_falcon *falcon = &sec2->falcon; in nvkm_sec2_fini() local
61 if (nvkm_falcon_rd32(falcon, 0x100) & 0x00000010) in nvkm_sec2_fini()
69 falcon->func->disable(falcon); in nvkm_sec2_fini()
70 nvkm_falcon_put(falcon, subdev); in nvkm_sec2_fini()
79 struct nvkm_falcon *falcon = &sec2->falcon; in nvkm_sec2_init() local
82 ret = nvkm_falcon_get(falcon, subdev); in nvkm_sec2_init()
86 nvkm_falcon_wr32(falcon, in nvkm_sec2_init()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/
H A Dgk20a.c98 struct nvkm_falcon *falcon = &pmu->base.falcon; in gk20a_pmu_dvfs_get_dev_status() local
100 status->busy = nvkm_falcon_rd32(falcon, 0x508 + (BUSY_SLOT * 0x10)); in gk20a_pmu_dvfs_get_dev_status()
101 status->total= nvkm_falcon_rd32(falcon, 0x508 + (CLK_SLOT * 0x10)); in gk20a_pmu_dvfs_get_dev_status()
107 struct nvkm_falcon *falcon = &pmu->base.falcon; in gk20a_pmu_dvfs_reset_dev_status() local
109 nvkm_falcon_wr32(falcon, 0x508 + (BUSY_SLOT * 0x10), 0x80000000); in gk20a_pmu_dvfs_reset_dev_status()
110 nvkm_falcon_wr32(falcon, 0x508 + (CLK_SLOT * 0x10), 0x80000000); in gk20a_pmu_dvfs_reset_dev_status()
163 nvkm_falcon_put(&pmu->falcon, &pmu->subdev); in gk20a_pmu_fini()
172 struct nvkm_falcon *falcon in gk20a_pmu_init() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/include/nvkm/engine/
H A Dfalcon.h57 * falcon registers.
93 int (*enable)(struct nvkm_falcon *falcon);
94 void (*disable)(struct nvkm_falcon *falcon);
107 nvkm_falcon_rd32(struct nvkm_falcon *falcon, u32 addr) in nvkm_falcon_rd32() argument
109 return nvkm_rd32(falcon->owner->device, falcon->addr + addr); in nvkm_falcon_rd32()
113 nvkm_falcon_wr32(struct nvkm_falcon *falcon, u32 addr, u32 data) in nvkm_falcon_wr32() argument
115 nvkm_wr32(falcon->owner->device, falcon->addr + addr, data); in nvkm_falcon_wr32()
119 nvkm_falcon_mask(struct nvkm_falcon *falcon, u3 argument
[all...]

Completed in 9 milliseconds

12345