#
176fdcbd |
|
18-Sep-2023 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/gsp/r535: add support for booting GSP-RM This commit adds the initial code needed to boot the GSP-RM firmware provided by NVIDIA, bringing with it the beginnings of Ada support. Until it's had more testing and time to bake, support is disabled by default (except on Ada). GSP-RM usage can be enabled by passing the "config=NvGspRm=1" module option. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230918202149.4343-33-skeggsb@gmail.com
|
#
58c3d3c8 |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/vfn: move NV_USERMODE class from host - uses proper class IDs for Turing/Ampere Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
4ddf8d7d |
|
01-Jun-2022 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/nvkm: zero out engine pointer for subdev-provided classes Doesn't fix any known issue, but noticed fifo being initialised in logs in response to mmu allocation. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
|
#
22da19f9 |
|
08-Mar-2021 |
Luo Jiaxing <luojiaxing@huawei.com> |
drm/nouveau/device: use snprintf() to replace strncpy() to avoid NUL-terminated string loss Following warning is found when using W=1 to build kernel: In function ‘nvkm_udevice_info’, inlined from ‘nvkm_udevice_mthd’ at drivers/gpu/drm/nouveau/nvkm/engine/device/user.c:195:10: drivers/gpu/drm/nouveau/nvkm/engine/device/user.c:164:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] 164 | strncpy(args->v0.chip, device->chip->name, sizeof(args->v0.chip)); drivers/gpu/drm/nouveau/nvkm/engine/device/user.c:165:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation] 165 | strncpy(args->v0.name, device->name, sizeof(args->v0.name)); The reason of this warning is strncpy() does not guarantee that the destination buffer will be NUL terminated. If the length of source string is bigger than number we set by third input parameter, only a part of characters is copied to the destination, and no NUL-terminated string is automatically added. There are some potential risks. So use snprintf() to replace strncpy(). Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Karol Herbst <kherbst@redhat.com> Signed-off-by: Karol Herbst <kherbst@redhat.com> Link: https://gitlab.freedesktop.org/drm/nouveau/-/merge_requests/10
|
#
148a8653 |
|
04-Mar-2021 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: block a bunch of classes from userspace Long ago, there had been plans for making use of a bunch of these APIs from userspace and there's various checks in place to stop misbehaving. Countless other projects have occurred in the meantime, and the pieces didn't finish falling into place for that to happen. They will (hopefully) in the not-too-distant future, but it won't look quite as insane. The super checks are causing problems right now, and are going to be removed. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
f8fabd31 |
|
07-Feb-2021 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fifo/gk104-: remove use of subdev index in runlist topology info Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
efe2a9ec |
|
03-Feb-2021 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: pass instance id when looking up a subdev/engine This switches to using the subdev list for lookup, and otherwise should be a no-op aside from switching the function signatures. Callers will be transitioned to split type+inst individually. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
|
#
3b050680 |
|
13-Jan-2021 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/core: recognise GA10[024] GA100 hidden behind a module option, as it's not been as well verified since initial bring-up and may need additional changes. There's no display anyway, so this can wait for a bit. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
13e95729 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fault/gp100: expose MaxwellFaultBufferA This nvclass exposes the replayable fault buffer, which will be used by SVM to manage GPU page faults. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
344d9c8f |
|
10-Dec-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/core: recognise TU104 Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
936a1678 |
|
10-Dec-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/core: support multiple nvdec instances Turing GPUs can have more than one. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
c1f856bb |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/core: recognise gv100 Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
eb47db4f |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fifo: support channel count query Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
6eb01aa8 |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: support querying available engines of a specific type Will be used for fifo runlist selection. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
c5c9127b |
|
08-May-2018 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: implement a generic method to query device-specific properties We have a need to fetch data from GPU-specific sub-devices that is not tied to any particular engine object. This commit provides the framework to support such queries. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
eea5cf0f |
|
31-Oct-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/mmu: define user interfaces to mmu Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
01326050 |
|
31-Oct-2017 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/core/object: allow arguments to be passed to map function MMU will be needing this to specify kind info on BAR mappings. We have no userspace currently using these interfaces, so break the ABI instead of supporting both. NVIF version bump so any future use can be guarded. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
e08a1d97 |
|
23-Oct-2016 |
Baoyou Xie <baoyou.xie@linaro.org> |
drm/nouveau: mark symbols static where possible We get a few warnings when building kernel with W=1: drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.c:29:1: warning: no previous prototype for 'nvbios_fan_table' [-Wmissing-prototypes] drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.c:56:1: warning: no previous prototype for 'nvbios_fan_entry' [-Wmissing-prototypes] drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c:184:1: warning: no previous prototype for 'gt215_clk_info' [-Wmissing-prototypes] drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgt215.c:99:1: warning: no previous prototype for 'gt215_link_train_calc' [-Wmissing-prototypes] drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgt215.c:153:1: warning: no previous prototype for 'gt215_link_train' [-Wmissing-prototypes] drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgt215.c:271:1: warning: no previous prototype for 'gt215_link_train_init' [-Wmissing-prototypes] .... In fact, both functions are only used in the file in which they are declared and don't need a declaration, but can be made static. So this patch marks these functions with 'static'. Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
7f53abdb |
|
08-Jul-2016 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/core: recognise GP100 chipset Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
f01c4e68 |
|
08-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/nvif: modify nvif_unvers/nvif_unpack macros to be more obvious Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
923bc416 |
|
07-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/nvif: split out device interface definitions Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
26c9e8ef |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: remove pci/platform_device from common struct Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
7e8820fe |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: cleaner abstraction for device resource functions Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
68f3f702 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/core: remove the remainder of the previous style Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
31649ecf |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/tmr: convert to new-style nvkm_subdev Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
ef8bc576 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/core: kill some (now) dead code Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
0710cc31 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/dma: convert user classes to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
19fef52d |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/dma: split user classes out from engine implementations Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
0e29998a |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: convert ctrl class to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
2a9f847f |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: convert user class to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
24bd0930 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/client: convert to new-style nvkm_object Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
6cf813fb |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: prepare for new-style subdevs Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
d61f4c17 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/nvif: device time mthd Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
22827fa4 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/nvif: return chipset/board names from device info method Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
4e7e62d6 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/client: store default device by handle, not reference Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
a1e88736 |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: decouple from engine machinery Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
#
a1bfb29a |
|
19-Aug-2015 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/device: split user device implementation out on its own Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|