search for: gf100_gr_init

Displaying 17 results from an estimated 17 matches for "gf100_gr_init".

2015 Jun 23
8
[PATCH v2 0/6] Improve GK20A support, introduce GM20B, firmware paths
Second version of this patchset. Not many changes since first version - I hope this means the changes are not too controversial. Changes since v1: - Removed lookup for previous FW files in "nouveau/" - Went back to using request_firmware() since we only try to load one file Original cover letter follows: GM20B is the GPU of the upcoming Tegra X1 SoC. This series adds initial support
2015 Jun 18
8
[PATCH 0/6] Improve GK20A and introduce GM20B support
Hello everyone, GM20B is the GPU of the upcoming Tegra X1 SoC. This series adds initial support for it, based on a rework of the already-supported GK20A. It also introduces support for NVIDIA-provided firmware files, which is why I have added a few NVIDIA people who are relevant to this discussion. The first patch adds support for loading the FECS and GPCCS firmwares from firmware files
2020 Feb 14
0
[PATCH AUTOSEL 5.5 356/542] drm/nouveau/gr/gk20a, gm200-: add terminators to method lists read from fw
...t + 1))); + pack = vzalloc((sizeof(*pack) * (max_classes + 1)) + + (sizeof(*init) * (nent + max_classes + 1))); if (!pack) { ret = -ENOMEM; goto end; } - init = (void *)(pack + max_classes); + init = (void *)(pack + max_classes + 1); - for (i = 0; i < nent; i++) { - struct gf100_gr_init *ent = &init[i]; + for (i = 0; i < nent; i++, init++) { struct gk20a_fw_av *av = &((struct gk20a_fw_av *)fuc.data)[i]; u32 class = av->addr & 0xffff; u32 addr = (av->addr & 0xffff0000) >> 14; if (prevclass != class) { - pack[classidx].init = ent; + i...
2020 Feb 14
0
[PATCH AUTOSEL 5.4 310/459] drm/nouveau/gr/gk20a, gm200-: add terminators to method lists read from fw
...t + 1))); + pack = vzalloc((sizeof(*pack) * (max_classes + 1)) + + (sizeof(*init) * (nent + max_classes + 1))); if (!pack) { ret = -ENOMEM; goto end; } - init = (void *)(pack + max_classes); + init = (void *)(pack + max_classes + 1); - for (i = 0; i < nent; i++) { - struct gf100_gr_init *ent = &init[i]; + for (i = 0; i < nent; i++, init++) { struct gk20a_fw_av *av = &((struct gk20a_fw_av *)fuc.data)[i]; u32 class = av->addr & 0xffff; u32 addr = (av->addr & 0xffff0000) >> 14; if (prevclass != class) { - pack[classidx].init = ent; + i...
2020 Feb 14
0
[PATCH AUTOSEL 4.19 169/252] drm/nouveau/gr/gk20a, gm200-: add terminators to method lists read from fw
...t + 1))); + pack = vzalloc((sizeof(*pack) * (max_classes + 1)) + + (sizeof(*init) * (nent + max_classes + 1))); if (!pack) { ret = -ENOMEM; goto end; } - init = (void *)(pack + max_classes); + init = (void *)(pack + max_classes + 1); - for (i = 0; i < nent; i++) { - struct gf100_gr_init *ent = &init[i]; + for (i = 0; i < nent; i++, init++) { struct gk20a_fw_av *av = &((struct gk20a_fw_av *)fuc.data)[i]; u32 class = av->addr & 0xffff; u32 addr = (av->addr & 0xffff0000) >> 14; if (prevclass != class) { - pack[classidx].init = ent; + i...
2020 Feb 14
0
[PATCH AUTOSEL 4.14 126/186] drm/nouveau/gr/gk20a, gm200-: add terminators to method lists read from fw
...t + 1))); + pack = vzalloc((sizeof(*pack) * (max_classes + 1)) + + (sizeof(*init) * (nent + max_classes + 1))); if (!pack) { ret = -ENOMEM; goto end; } - init = (void *)(pack + max_classes); + init = (void *)(pack + max_classes + 1); - for (i = 0; i < nent; i++) { - struct gf100_gr_init *ent = &init[i]; + for (i = 0; i < nent; i++, init++) { struct gk20a_fw_av *av = &((struct gk20a_fw_av *)fuc.data)[i]; u32 class = av->addr & 0xffff; u32 addr = (av->addr & 0xffff0000) >> 14; if (prevclass != class) { - pack[classidx].init = ent; + i...
2020 Feb 14
0
[PATCH AUTOSEL 4.9 098/141] drm/nouveau/gr/gk20a, gm200-: add terminators to method lists read from fw
...t + 1))); + pack = vzalloc((sizeof(*pack) * (max_classes + 1)) + + (sizeof(*init) * (nent + max_classes + 1))); if (!pack) { ret = -ENOMEM; goto end; } - init = (void *)(pack + max_classes); + init = (void *)(pack + max_classes + 1); - for (i = 0; i < nent; i++) { - struct gf100_gr_init *ent = &init[i]; + for (i = 0; i < nent; i++, init++) { struct gk20a_fw_av *av = &((struct gk20a_fw_av *)fuc.data)[i]; u32 class = av->addr & 0xffff; u32 addr = (av->addr & 0xffff0000) >> 14; if (prevclass != class) { - pack[classidx].init = ent; + i...
2019 Mar 21
2
Nouveau dmem NULL Pointer deref (SVM)
...[ 1102.005012] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1102.005013] CR2: 00007fed2968e020 CR3: 000000028a728004 CR4: 00000000003606e0 [ 1102.005013] Call Trace: [ 1102.005044]  acr_r352_bootstrap+0x16e/0x1d0 [nouveau] [ 1102.005073]  acr_r352_reset+0x21/0x190 [nouveau] [ 1102.005105]  gf100_gr_init_ctxctl_ext+0x59/0x500 [nouveau] [ 1102.005136]  gf100_gr_init_ctxctl+0x19/0x270 [nouveau] [ 1102.005167]  ? gf100_gr_init+0x533/0x570 [nouveau] [ 1102.005181]  nvkm_engine_init+0xa2/0x120 [nouveau] [ 1102.005196]  nvkm_subdev_init+0x8d/0xc0 [nouveau] [ 1102.005226]  nvkm_device_init+0x107/0x190 [no...
2016 Feb 24
11
[PATCH v3 00/11] nouveau: add secure boot support for dGPU and Tegra
New version of the secure boot code that works with the blobs just merged into linux-firmware. Since the required Mesa patches are also merged, this set is the last piece of the puzzle to get out-of-the-box accelerated Maxwell 2. The basic code remains the same, with a few improvements with respect to how secure falcons are started. Hopefully the patchset is better split too. I have a
2017 Mar 29
0
[PATCH 12/15] gr: support for GP10B
...0_gr *); void (*init_ppc_exceptions)(struct gf100_gr *); void (*init_swdx_pes_mask)(struct gf100_gr *); + void (*init_num_active_ltcs)(struct gf100_gr *); void (*set_hww_esr_report_mask)(struct gf100_gr *); const struct gf100_gr_pack *mmio; struct { @@ -301,4 +302,7 @@ extern const struct gf100_gr_init gm107_gr_init_cbm_0[]; void gm107_gr_init_bios(struct gf100_gr *); void gm200_gr_init_gpc_mmu(struct gf100_gr *); + +void gp100_gr_init_num_active_ltcs(struct gf100_gr *gr); + #endif diff --git a/drm/nouveau/nvkm/engine/gr/gp100.c b/drm/nouveau/nvkm/engine/gr/gp100.c index 94ed7debb714..867a5f...
2019 Feb 15
0
[PATCH] pci/quirks: Add quirk to reset nvgpu at boot for the Lenovo ThinkPad P50
...00000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 00005644d0556ca8 CR3: 0000000002214006 CR4: 00000000003606f0 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 > Call Trace: > gf100_gr_init_ctxctl+0x27b/0x2d0 [nouveau] > gf100_gr_init+0x5bd/0x5e0 [nouveau] > gf100_gr_init_+0x61/0x70 [nouveau] > nvkm_gr_init+0x1d/0x20 [nouveau] > nvkm_engine_init+0xcb/0x210 [nouveau] > nvkm_subdev_init+0xd6/0x230 [nouveau] > nvkm_engine_ref.part.0+0x52/0x70 [nouveau] > nvkm_...
2019 Feb 15
3
[PATCH] pci/quirks: Add quirk to reset nvgpu at boot for the Lenovo ThinkPad P50
...S: 0000 ES: 0000 CR0: 0000000080050033 > > CR2: 00005644d0556ca8 CR3: 0000000002214006 CR4: 00000000003606f0 > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 > > Call Trace: > > gf100_gr_init_ctxctl+0x27b/0x2d0 [nouveau] > > gf100_gr_init+0x5bd/0x5e0 [nouveau] > > gf100_gr_init_+0x61/0x70 [nouveau] > > nvkm_gr_init+0x1d/0x20 [nouveau] > > nvkm_engine_init+0xcb/0x210 [nouveau] > > nvkm_subdev_init+0xd6/0x230 [nouveau] > > nvkm_engine_ref.part.0+0...
2019 Feb 12
7
[PATCH] pci/quirks: Add quirk to reset nvgpu at boot for the Lenovo ThinkPad P50
...87f400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005644d0556ca8 CR3: 0000000002214006 CR4: 00000000003606f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: gf100_gr_init_ctxctl+0x27b/0x2d0 [nouveau] gf100_gr_init+0x5bd/0x5e0 [nouveau] gf100_gr_init_+0x61/0x70 [nouveau] nvkm_gr_init+0x1d/0x20 [nouveau] nvkm_engine_init+0xcb/0x210 [nouveau] nvkm_subdev_init+0xd6/0x230 [nouveau] nvkm_engine_ref.part.0+0x52/0x70 [nouveau] nvkm_engine_ref+0x13/0x20 [nouveau] nvk...
2018 Aug 23
3
[PATCH 0/3] drm/nouveau: Fixup module probe to add ->shutdown()
This series is intended to add support for shutting down the GPU on kernel shutdown/reboot using the ->shutdown() hook, similar to what amdgpu does. This is mainly intended to workaround a bios issue on the P50 that was preventing nouveau from initializing the dedicated GM107 GPU on that system properly. You can find more details on this issue in the patch labeled "Shut down GPU on kernel
2019 Mar 13
0
[PATCH] pci/quirks: Add quirk to reset nvgpu at boot for the Lenovo ThinkPad P50
...0000080050033 > > > CR2: 00005644d0556ca8 CR3: 0000000002214006 CR4: 00000000003606f0 > > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > > > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 > > > Call Trace: > > > gf100_gr_init_ctxctl+0x27b/0x2d0 [nouveau] > > > gf100_gr_init+0x5bd/0x5e0 [nouveau] > > > gf100_gr_init_+0x61/0x70 [nouveau] > > > nvkm_gr_init+0x1d/0x20 [nouveau] > > > nvkm_engine_init+0xcb/0x210 [nouveau] > > > nvkm_subdev_init+0xd6/0x230 [nouveau] > >...
2019 Mar 21
3
Nouveau dmem NULL Pointer deref (SVM)
Hi, just for your information and maybe for some help: with 5.1rc1 and SVM enabled i see the following backtrace [1] when the nouveau card (reverse prime) goes to sleep, for now i have papered over with [2] which leaves me with userspace hangs. Any pointers where to look for the actual culprit? PS: Card is: nouveau 0000:01:00.0: NVIDIA GP106 (136000a1) Greetings, Tobias [1]: BUG: unable
2017 Mar 29
15
[PATCH 00/15] Support for GP10B chipset
GP10B is the chip used in Tegra X2 SoCs. This patchset adds support for its base engines after reworking secboot a bit to accomodate its calling convention better. This patchset has been tested rendering simple off-screen buffers using Mesa and yielded the expected result. Alexandre Courbot (15): secboot: allow to boot multiple falcons secboot: pass instance to LS firmware loaders secboot: