Home
last modified time | relevance | path

Searched refs:falcon (Results 1 – 25 of 62) sorted by relevance

123

/Linux-v6.1/drivers/gpu/drm/nouveau/nvkm/falcon/
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()
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, data, start, size, port); in nvkm_falcon_load_dmem()
49 mutex_unlock(&falcon->dmem_mutex); in nvkm_falcon_load_dmem()
53 nvkm_falcon_read_dmem(struct nvkm_falcon *falcon, u32 start, u32 size, u8 port, in nvkm_falcon_read_dmem() argument
56 mutex_lock(&falcon->dmem_mutex); in nvkm_falcon_read_dmem()
[all …]
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, 0xac4 + (port * 8), ((u32 *)data)[i]); in nvkm_falcon_v1_load_emem()
[all …]
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, tail, size, 0, data); in nvkm_falcon_msgq_pop()
157 struct nvkm_falcon *falcon = msgq->qmgr->falcon; in nvkm_falcon_msgq_recv_initmsg() local
161 msgq->head_reg = falcon->func->msgq.head; in nvkm_falcon_msgq_recv_initmsg()
[all …]
DKbuild2 nvkm-y += nvkm/falcon/base.o
3 nvkm-y += nvkm/falcon/cmdq.o
4 nvkm-y += nvkm/falcon/msgq.o
5 nvkm-y += nvkm/falcon/qmgr.o
6 nvkm-y += nvkm/falcon/v1.o
Dcmdq.c28 u32 head = nvkm_falcon_rd32(cmdq->qmgr->falcon, cmdq->head_reg); in nvkm_falcon_cmdq_has_room()
29 u32 tail = nvkm_falcon_rd32(cmdq->qmgr->falcon, cmdq->tail_reg); in nvkm_falcon_cmdq_has_room()
53 struct nvkm_falcon *falcon = cmdq->qmgr->falcon; in nvkm_falcon_cmdq_push() local
54 nvkm_falcon_load_dmem(falcon, data, cmdq->position, size, 0); in nvkm_falcon_cmdq_push()
73 struct nvkm_falcon *falcon = cmdq->qmgr->falcon; in nvkm_falcon_cmdq_open() local
84 cmdq->position = nvkm_falcon_rd32(falcon, cmdq->head_reg); in nvkm_falcon_cmdq_open()
95 nvkm_falcon_wr32(cmdq->qmgr->falcon, cmdq->head_reg, cmdq->position); in nvkm_falcon_cmdq_close()
178 const struct nvkm_falcon_func *func = cmdq->qmgr->falcon->func; in nvkm_falcon_cmdq_init()
Dqmgr.c28 const struct nvkm_subdev *subdev = qmgr->falcon->owner; in nvkm_falcon_qmgr_seq_acquire()
70 nvkm_falcon_qmgr_new(struct nvkm_falcon *falcon, in nvkm_falcon_qmgr_new() argument
79 qmgr->falcon = falcon; in nvkm_falcon_qmgr_new()
/Linux-v6.1/drivers/gpu/drm/tegra/
Dfalcon.c20 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->regs + FALCON_DMATRFCMD, value, in falcon_dma_wait_idle()
41 static int falcon_copy_chunk(struct falcon *falcon, in falcon_copy_chunk() argument
59 falcon_writel(falcon, offset, FALCON_DMATRFMOFFS); in falcon_copy_chunk()
60 falcon_writel(falcon, base, FALCON_DMATRFFBOFFS); in falcon_copy_chunk()
61 falcon_writel(falcon, cmd, FALCON_DMATRFCMD); in falcon_copy_chunk()
[all …]
Dfalcon.h99 struct falcon { struct
107 int falcon_init(struct falcon *falcon); argument
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);
111 int falcon_boot(struct falcon *falcon);
112 void falcon_execute_method(struct falcon *falcon, u32 method, u32 data);
113 int falcon_wait_idle(struct falcon *falcon);
Dvic.c32 struct falcon falcon; member
101 err = falcon_boot(&vic->falcon); in vic_boot()
105 hdr = vic->falcon.firmware.virt; in vic_boot()
110 hdr = vic->falcon.firmware.virt + in vic_boot()
114 falcon_execute_method(&vic->falcon, VIC_SET_FCE_UCODE_SIZE, in vic_boot()
117 &vic->falcon, VIC_SET_FCE_UCODE_OFFSET, in vic_boot()
118 (vic->falcon.firmware.iova + fce_bin_data_offset) >> 8); in vic_boot()
121 err = falcon_wait_idle(&vic->falcon); in vic_boot()
211 dma_unmap_single(vic->dev, vic->falcon.firmware.phys, in vic_exit()
212 vic->falcon.firmware.size, DMA_TO_DEVICE); in vic_exit()
[all …]
Dnvdec.c34 struct falcon falcon; member
80 err = falcon_boot(&nvdec->falcon); in nvdec_boot()
84 err = falcon_wait_idle(&nvdec->falcon); in nvdec_boot()
173 dma_unmap_single(nvdec->dev, nvdec->falcon.firmware.phys, in nvdec_exit()
174 nvdec->falcon.firmware.size, DMA_TO_DEVICE); in nvdec_exit()
175 tegra_drm_free(tegra, nvdec->falcon.firmware.size, in nvdec_exit()
176 nvdec->falcon.firmware.virt, in nvdec_exit()
177 nvdec->falcon.firmware.iova); in nvdec_exit()
179 dma_free_coherent(nvdec->dev, nvdec->falcon.firmware.size, in nvdec_exit()
180 nvdec->falcon.firmware.virt, in nvdec_exit()
[all …]
/Linux-v6.1/drivers/gpu/drm/nouveau/nvkm/engine/
Dfalcon.c32 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, chan); in nvkm_falcon_intr()
98 struct nvkm_falcon *falcon = nvkm_falcon(engine); in nvkm_falcon_fini() local
99 struct nvkm_device *device = falcon->engine.subdev.device; in nvkm_falcon_fini()
[all …]
/Linux-v6.1/drivers/gpu/drm/nouveau/nvkm/engine/sec2/
Dgp102.c59 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 = &sec2->falcon; in gp102_sec2_intr() local
168 u32 disp = nvkm_falcon_rd32(falcon, 0x01c); in gp102_sec2_intr()
169 u32 intr = nvkm_falcon_rd32(falcon, 0x008) & disp & ~(disp >> 16); in gp102_sec2_intr()
[all …]
Dbase.c75 nvkm_falcon_dtor(&sec2->falcon); in nvkm_sec2_dtor()
107 sec2->engine.subdev.name, addr, &sec2->falcon); in nvkm_sec2_new_()
111 if ((ret = nvkm_falcon_qmgr_new(&sec2->falcon, &sec2->qmgr)) || in nvkm_sec2_new_()
/Linux-v6.1/drivers/gpu/drm/nouveau/nvkm/subdev/fb/
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, 0x0); in gp102_fb_vpr_scrub()
80 nvkm_falcon_start(falcon); in gp102_fb_vpr_scrub()
[all …]
/Linux-v6.1/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/
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 = &pmu->falcon; in gk20a_pmu_init() local
175 ret = nvkm_falcon_get(falcon, subdev); in gk20a_pmu_init()
177 nvkm_error(subdev, "cannot acquire %s falcon!\n", falcon->name); in gk20a_pmu_init()
[all …]
Dgm200.c27 gm200_pmu_flcn_reset(struct nvkm_falcon *falcon) in gm200_pmu_flcn_reset() argument
29 struct nvkm_pmu *pmu = container_of(falcon, typeof(*pmu), falcon); in gm200_pmu_flcn_reset()
31 nvkm_falcon_wr32(falcon, 0x014, 0x0000ffff); in gm200_pmu_flcn_reset()
33 return nvkm_falcon_enable(falcon); in gm200_pmu_flcn_reset()
Dgm20b.c39 gm20b_pmu_acr_bootstrap_falcon(struct nvkm_falcon *falcon, in gm20b_pmu_acr_bootstrap_falcon() argument
42 struct nvkm_pmu *pmu = container_of(falcon, typeof(*pmu), falcon); in gm20b_pmu_acr_bootstrap_falcon()
66 gm20b_pmu_acr_boot(struct nvkm_falcon *falcon) in gm20b_pmu_acr_boot() argument
69 const u32 addr_args = falcon->data.limit - sizeof(struct nv_pmu_args); in gm20b_pmu_acr_boot()
70 nvkm_falcon_load_dmem(falcon, &args, addr_args, sizeof(args), 0); in gm20b_pmu_acr_boot()
71 nvkm_falcon_start(falcon); in gm20b_pmu_acr_boot()
113 .argv = lsfw->falcon->data.limit - sizeof(struct nv_pmu_args), in gm20b_pmu_acr_bld_write()
231 return nvkm_acr_lsfw_load_sig_image_desc(&pmu->subdev, &pmu->falcon, in gm20b_pmu_load()
Dgp10b.c38 gp10b_pmu_acr_bootstrap_multiple_falcons(struct nvkm_falcon *falcon, u32 mask) in gp10b_pmu_acr_bootstrap_multiple_falcons() argument
40 struct nvkm_pmu *pmu = container_of(falcon, typeof(*pmu), falcon); in gp10b_pmu_acr_bootstrap_multiple_falcons()
/Linux-v6.1/drivers/gpu/drm/nouveau/include/nvkm/engine/
Dfalcon.h83 int (*enable)(struct nvkm_falcon *falcon);
84 void (*disable)(struct nvkm_falcon *falcon);
97 nvkm_falcon_rd32(struct nvkm_falcon *falcon, u32 addr) in nvkm_falcon_rd32() argument
99 return nvkm_rd32(falcon->owner->device, falcon->addr + addr); in nvkm_falcon_rd32()
103 nvkm_falcon_wr32(struct nvkm_falcon *falcon, u32 addr, u32 data) in nvkm_falcon_wr32() argument
105 nvkm_wr32(falcon->owner->device, falcon->addr + addr, data); in nvkm_falcon_wr32()
109 nvkm_falcon_mask(struct nvkm_falcon *falcon, u32 addr, u32 mask, u32 val) in nvkm_falcon_mask() argument
111 struct nvkm_device *device = falcon->owner->device; in nvkm_falcon_mask()
113 return nvkm_mask(device, falcon->addr + addr, mask, val); in nvkm_falcon_mask()
/Linux-v6.1/drivers/gpu/drm/nouveau/nvkm/subdev/acr/
Dgm200.c239 nvkm_falcon_load_dmem(hsf->falcon, &hsdesc, 0, sizeof(hsdesc), 0); in gm200_acr_hsfw_bld()
248 struct nvkm_falcon *falcon = hsf->falcon; in gm200_acr_hsfw_boot() local
253 nvkm_falcon_reset(falcon); in gm200_acr_hsfw_boot()
254 nvkm_falcon_bind_context(falcon, acr->inst); in gm200_acr_hsfw_boot()
257 nvkm_falcon_load_imem(falcon, hsf->imem, in gm200_acr_hsfw_boot()
258 falcon->code.limit - hsf->imem_size, in gm200_acr_hsfw_boot()
267 nvkm_mc_intr_mask(device, falcon->owner->type, falcon->owner->inst, false); in gm200_acr_hsfw_boot()
269 nvkm_falcon_wr32(falcon, 0x040, 0xdeada5a5); in gm200_acr_hsfw_boot()
270 nvkm_falcon_set_start_addr(falcon, hsf->imem_tag << 8); in gm200_acr_hsfw_boot()
271 nvkm_falcon_start(falcon); in gm200_acr_hsfw_boot()
[all …]
Dlsfw.c59 struct nvkm_falcon *falcon, enum nvkm_acr_lsf_id id) in nvkm_acr_lsfw_add() argument
81 lsfw->falcon = falcon; in nvkm_acr_lsfw_add()
87 struct nvkm_falcon *falcon, in nvkm_acr_lsfw_load_sig_image_desc_() argument
97 if (IS_ERR((lsfw = nvkm_acr_lsfw_add(func, acr, falcon, id)))) in nvkm_acr_lsfw_load_sig_image_desc_()
141 struct nvkm_falcon *falcon, in nvkm_acr_lsfw_load_sig_image_desc() argument
149 lsfw = nvkm_acr_lsfw_load_sig_image_desc_(subdev, falcon, id, path, ver, in nvkm_acr_lsfw_load_sig_image_desc()
161 struct nvkm_falcon *falcon, in nvkm_acr_lsfw_load_sig_image_desc_v1() argument
169 lsfw = nvkm_acr_lsfw_load_sig_image_desc_(subdev, falcon, id, path, ver, in nvkm_acr_lsfw_load_sig_image_desc_v1()
181 struct nvkm_falcon *falcon, in nvkm_acr_lsfw_load_bl_inst_data_sig() argument
194 if (IS_ERR((lsfw = nvkm_acr_lsfw_add(func, acr, falcon, id)))) in nvkm_acr_lsfw_load_bl_inst_data_sig()
Dbase.c51 ret = nvkm_falcon_get(hsf->falcon, subdev); in nvkm_acr_hsf_boot()
56 nvkm_falcon_put(hsf->falcon, subdev); in nvkm_acr_hsf_boot()
105 ret = lsf->func->boot(lsf->falcon); in nvkm_acr_load()
164 bootstrap_multiple_falcons(acrflcn->falcon, mask); in nvkm_acr_bootstrap_falcons()
168 int ret = acrflcn->func->bootstrap_falcon(acrflcn->falcon, id); in nvkm_acr_bootstrap_falcons()
247 ret = nvkm_falcon_get(lsfw->falcon, subdev); in nvkm_acr_oneinit()
251 nvkm_falcon_put(lsfw->falcon, subdev); in nvkm_acr_oneinit()
256 lsf->falcon = lsfw->falcon; in nvkm_acr_oneinit()
/Linux-v6.1/drivers/net/ethernet/sfc/falcon/
DMakefile2 sfc-falcon-y += efx.o nic.o farch.o falcon.o tx.o rx.o selftest.o \
6 sfc-falcon-$(CONFIG_SFC_FALCON_MTD) += mtd.o
7 obj-$(CONFIG_SFC_FALCON) += sfc-falcon.o
/Linux-v6.1/arch/arm64/boot/dts/renesas/
Dr8a779a0-falcon.dts9 #include "r8a779a0-falcon-cpu.dtsi"
10 #include "r8a779a0-falcon-csi-dsi.dtsi"
11 #include "r8a779a0-falcon-ethernet.dtsi"
15 compatible = "renesas,falcon-breakout", "renesas,falcon-cpu", "renesas,r8a779a0";
/Linux-v6.1/drivers/video/fbdev/
Datafb.c127 } falcon; member
139 #define HHT hw.falcon.hht
140 #define HBB hw.falcon.hbb
141 #define HBE hw.falcon.hbe
142 #define HDB hw.falcon.hdb
143 #define HDE hw.falcon.hde
144 #define HSS hw.falcon.hss
145 #define VFT hw.falcon.vft
146 #define VBB hw.falcon.vbb
147 #define VBE hw.falcon.vbe
[all …]

123