#
4b569ded |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/acr/ga102: initial support v2. fixup for ga103 early merge Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Gourav Samaiya <gsamaiya@nvidia.com>
|
#
d2922879 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2: dump tracepc info on halt - useful to distinguish between different issues. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
2541626c |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/acr: use common falcon HS FW code for ACR FWs Adds context binding and support for FWs with a bootloader to the code that was added to load VPR scrubber HS binaries, and ports ACR over to using all of it. - gv100 split from gp108 to handle FW exit status differences Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
f15cde64 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn: rework falcon reset Mostly preparation to fit in Ampere changes, but should result in reset sequences a lot closer to RM's, and perhaps help out with the issues we sometimes see reported in this area. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
c7c0aac7 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2: switch to newer style interrupt handler Ampere. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
3b330f08 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2: unload RTOS before tearing down WPR Reset regs won't be available on Ampere while SEC2 RTOS is running, and we're apparently supposed to be doing this on earlier GPUs too. v2: - fixed some excessive indentation Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
d1866250 |
|
03-Dec-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2: switch to instanced constructor Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
eddb0473 |
|
15-Jun-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2/gp102: allow module to load when LSFW is missing Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
de088372 |
|
15-Jun-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/acr: store a mask of LS falcons the controlling LSFW can bootstrap This will prevent some pain with broken firmware trees, as under some circumstances the HSFW can fail and leave the GPU in a state we don't know how to recover from. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
b448a266 |
|
09-Jun-2020 |
Timur Tabi <ttabi@nvidia.com> |
drm/nouveau/nvfw: firmware structures should begin with nvfw_ Rename all structures that are used directly by firmware to have a nvfw_ prefix. This makes it easier to identify structures that have a fixed, specific layout. A future patch will define several more such structures, so it's important to be consistent now. Signed-off-by: Timur Tabi <ttabi@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
22dcda45 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/acr: implement new subdev to replace "secure boot" ACR is responsible for managing the firmware for LS (Low Secure) falcons, this was previously handled in the driver by SECBOOT. This rewrite started from some test code that attempted to replicate the procedure RM uses in order to debug early Turing ACR firmwares that were provided by NVIDIA for development. Compared with SECBOOT, the code is structured into more individual steps, with the aim of making the process easier to follow/debug, whilst making it possible to support newer firmware versions that may have a different binary format or API interface. The HS (High Secure) binary(s) are now booted earlier in device init, to match the behaviour of RM, whereas SECBOOT would delay this until we try to boot the first LS falcon. There's also additional debugging features available, with the intention of making it easier to solve issues during FW/HW bring-up in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
7a4dde71 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/secboot: move code to boot LS falcons to subdevs Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
d114a139 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn/msgq: move handling of init message to subdevs When the PMU/SEC2 LS FWs have booted, they'll send a message to the host with various information, including the configuration of message/command queues that are available. Move the handling for this to the relevant subdevs. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
86ce2a71 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn/cmdq: move command generation to subdevs This moves the code to generate commands for the ACR unit of the PMU/SEC2 LS firmwares to those subdevs. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
af696a61 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn: reset sec2/gsp falcons harder Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
b826f48a |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn: specify queue register offsets from subdev Also fixes the values for Turing, even though we don't use it yet. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
e938c4e7 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn: specify debug/production register offset from subdev Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
bc3cfd18 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn: specify EMEM address from subdev Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
ca3190e3 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn: move bind_context WAR out of common code Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
fb0a5bbe |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/flcn: specify FBIF offset from subdev Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
c9af47bc |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2: move interrupt handler to hw-specific module Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
edd757d1 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2: initialise SW state for falcon from constructor This will allow us to register the falcon with ACR, and further customise its behaviour by providing the nvkm_falcon_func structure directly. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
7adc40c5 |
|
14-Jan-2020 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2: select implementation based on available firmware This will allow for further customisation of the subdev depending on what firmware is available. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
fdad5183 |
|
12-Feb-2019 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/sec2: utilise engine PRI address from TOP Turing has its SEC2 instance in an alternate location, and this avoids needing to duplicate the code here for it. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
b62880f7 |
|
23-Feb-2017 |
Alexandre Courbot <acourbot@nvidia.com> |
drm/nouveau/core: add SEC2 engine SEC2 is the name given by NVIDIA to the SEC engine post-Fermi (reasons unknown). Even though it shares the same address range as SEC, its usage is quite different and this justifies a new engine. Add this engine and make TOP use it all post-TOP devices should use this implementation and not the older SEC. Also quickly add the short gp102 implementation which will be used for falcon booting purposes. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|