#
1cd97b54 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/tu102-: use sw_veid_bundle_init from firmware NVIDIA provided this on Turing, but we kept using the hardcoded version from Volta (where they didn't). Switch to the firmware version prior to Ampere. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
de8be616 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gk20a,gm20b,gp10b: split out netlist parsing from fw loading We'll want to reuse the former for loading from proper netlist images. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
be99d041 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: move reset during golden ctx init to fecs_reset() Ampere. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
864d37c3 |
|
03-Dec-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: switch to instanced constructor Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
f612b0f6 |
|
29-May-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: make some functions static Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
21454fe6 |
|
03-Jun-2020 |
Thierry Reding <treding@nvidia.com> |
drm/nouveau: gr/gk20a: Use firmware version 0 Tegra firmware doesn't actually use any version numbers and passing -1 causes the existing firmware binaries not to be found. Use version 0 to find the correct files. Fixes: ef16dc278ec2 ("drm/nouveau/gr/gf100-: select implementation based on available FW") Signed-off-by: Thierry Reding <treding@nvidia.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
fb172f5f |
|
06-Feb-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gk20a: move MODULE_FIRMWARE firmware definitions Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
ef16dc27 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: select implementation based on available FW This will allow for further customisation of the subdev depending on what firmware is available. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
00e1b5dc |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: move fecs/gpccs ucode into their substructures Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
0033f15b |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: drop fuc_ prefix on sw init Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
a2bfb50e |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gk20a,gm200-: use nvkm_firmware_load_blob for sw init Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
6f0add0a |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: use nvkm_blob structure for fecs/gpccs fw It serves the exact same purpose. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
7adc77aa |
|
08-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw Method init is typically ordered by class in the FW image as ThreeD, TwoD, Compute. Due to a bug in parsing the FW into our internal format, we've been accidentally sending Twod + Compute methods to the ThreeD class, as well as Compute methods to the TwoD class - oops. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
e9d03335 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gp100-: use correct registers for zbc colour/depth setup These were missed the first time around due to the driver version I traced using the older registers still. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
068cae74 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: calculate and use sm mapping table There's a number of places that require this data, so let's separate out the calculations to ensure they remain consistent. This is incorrect for GM200 and newer, but will produce the same results as we did before. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
5f6474a4 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: port tile mapping calculations from NVGPU There's also a couple of hardcoded tables for a couple of very specific configurations that NVGPU's algorithm didn't work for. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
5c05a589 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: virtualise trap_mp Required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
02917aa3 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: virtualise init_zcull Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
b1687b3e |
|
19-Jun-2016 |
Julia Lawall <Julia.Lawall@lip6.fr> |
drm/nouveau/gr/gk20a: delete unneeded second newline Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
87ac331e |
|
18-Apr-2016 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gk104-: move rop_active_fbps init to nonctx Matches newer RM. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
834b21f5 |
|
13-Apr-2016 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init() Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
99c59172 |
|
13-Apr-2016 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fb/gf100-: allocate mmu debug buffers Later chipsets require setting this up both in FB and GR, so let's just move the allocation to FB. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
64cb5a31 |
|
13-Apr-2016 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: abstract fetching rop count Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
5ec3def7 |
|
13-Apr-2016 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: rename magic_not_rop_nr to screen_tile_row_offset Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
f008d8c7 |
|
23-Feb-2016 |
Alexandre Courbot <acourbot@nvidia.com> |
drm/nouveau/gr/gm200: load external firmware and bundles Load firmware and bundles in GM200's constructor. The previously called GF100 function did not care about the bundles. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
2e404b0d |
|
23-Feb-2016 |
Alexandre Courbot <acourbot@nvidia.com> |
drm/nouveau/gr/gk20a: share external bundles loading functions There functions are going to be used by other chips that rely on NVIDIA-provided firmware. Export them. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
5986d3e1 |
|
23-Feb-2016 |
Alexandre Courbot <acourbot@nvidia.com> |
drm/nouveau/gr/gk20a: simplify external bundle loading functions Make these functions easier to use by handling memory management from within. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
18cd5bc8 |
|
23-Feb-2016 |
Alexandre Courbot <acourbot@nvidia.com> |
drm/nouveau/gr/gf100: load firmware in outer function The firmwares required by GR may vary from chip to chip, especially with the introduction of secure boot and NVIDIA-provided firmwares. Move the firmware loading outside of gf100_gr_ctor so other chips may still call it while managing their firmwares themselves. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
336c4652 |
|
23-Feb-2016 |
Alexandre Courbot <acourbot@nvidia.com> |
drm/nouveau/gr/gk20a: move firmware bundle release to gf100 Some members of gf100_gr were freed by the gk20a driver. That's not where it should be done - free them in gf100 so other chips that use NVIDIA-provided firmware free these structures properly. This also removes the need for a GK20A-specific destructor. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
c85ee6ca |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: convert to new-style nvkm_engine Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
27f3d6cf |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
a65955e1 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: remove dependence on namedb/engctx lookup Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
227c95d9 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: directly use instmem where currently possible Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
109c2f2f |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: switch to subdev printk macros Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
c4584adc |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: switch to new-style timer macros Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
276836d4 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: switch to device pri macros Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
bfee3f3d |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: cosmetic changes This is purely preparation for upcoming commits, there should be no code changes here. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
a032fb9d |
|
23-Jun-2015 |
Alexandre Courbot <acourbot@nvidia.com> |
drm/nouveau/gr: add GM20B support Add support for GM20B's graphics engine, based on GK20A. Note that this code alone will not allow the engine to initialize on released devices which require PMU-assisted secure boot. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
c4d0f8f6 |
|
23-Jun-2015 |
Alexandre Courbot <acourbot@nvidia.com> |
drm/nouveau/gr/gk20a: use same initialization sequence as nvgpu GK20A's initialization was based on GK104, but differences exist in the way the initial context is built and the initialization process itself. This patch follows the same initialization sequence as nvgpu performs to avoid bad surprises. Since the register bundles initialization also differ considerably from GK104, the register packs are now loaded from firmware files, again similarly to what is done with nvgpu. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
3740c825 |
|
25-Mar-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr/gf100-: add symbolic names for classes Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
e3c71eb2 |
|
13-Jan-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: namespace + nvidia gpu names (no binary change) The namespace of NVKM is being changed to nvkm_ instead of nouveau_, which will be used for the DRM part of the driver. This is being done in order to make it very clear as to what part of the driver a given symbol belongs to, and as a minor step towards splitting the DRM driver out to be able to stand on its own (for virt). Because there's already a large amount of churn here anyway, this is as good a time as any to also switch to NVIDIA's device and chipset naming to ease collaboration with them. A comparison of objdump disassemblies proves no code changes. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
b8bf04e1 |
|
13-Jan-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gr: rename from graph (no binary change) Shorter device name, match Tegra and our existing enums. The namespace of NVKM is being changed to nvkm_ instead of nouveau_, which will be used for the DRM part of the driver. This is being done in order to make it very clear as to what part of the driver a given symbol belongs to, and as a minor step towards splitting the DRM driver out to be able to stand on its own (for virt). Because there's already a large amount of churn here anyway, this is as good a time as any to also switch to NVIDIA's device and chipset naming to ease collaboration with them. A comparison of objdump disassemblies proves no code changes. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|