nouveau/gsp: add kconfig option to enable GSP paths by default

Turing and Ampere will continue to use the old paths by default,
but we should allow distros to decide what the policy is.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240214040632.661069-1-airlied@gmail.com
This commit is contained in:
Dave Airlie 2024-02-14 14:06:32 +10:00
parent 7c548869f5
commit 1d492944d3
2 changed files with 13 additions and 1 deletions

View File

@ -100,3 +100,11 @@ config DRM_NOUVEAU_SVM
help
Say Y here if you want to enable experimental support for
Shared Virtual Memory (SVM).
config DRM_NOUVEAU_GSP_DEFAULT
bool "Use GSP firmware for Turing/Ampere (needs firmware installed)"
depends on DRM_NOUVEAU
default n
help
Say Y here if you want to use the GSP codepaths by default on
Turing and Ampere GPUs.

View File

@ -2312,8 +2312,12 @@ r535_gsp_load(struct nvkm_gsp *gsp, int ver, const struct nvkm_gsp_fwif *fwif)
{
struct nvkm_subdev *subdev = &gsp->subdev;
int ret;
bool enable_gsp = fwif->enable;
if (!nvkm_boolopt(subdev->device->cfgopt, "NvGspRm", fwif->enable))
#if IS_ENABLED(CONFIG_DRM_NOUVEAU_GSP_DEFAULT)
enable_gsp = true;
#endif
if (!nvkm_boolopt(subdev->device->cfgopt, "NvGspRm", enable_gsp))
return -EINVAL;
if ((ret = r535_gsp_load_fw(gsp, "gsp", fwif->ver, &gsp->fws.rm)) ||