Commit 90e9cf74 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/acr: allow module to load when HSFW(s) are missing



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 8fdc45e4
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -32,6 +32,17 @@
#include <nvfw/acr.h>
#include <nvfw/flcn.h>

const struct nvkm_acr_func
gm200_acr = {
};

int
gm200_acr_nofw(struct nvkm_acr *acr, int ver, const struct nvkm_acr_fwif *fwif)
{
	nvkm_warn(&acr->subdev, "firmware unavailable\n");
	return 0;
}

int
gm200_acr_init(struct nvkm_acr *acr)
{
@@ -425,7 +436,7 @@ gm200_acr_load_fwif[] = {
};

static const struct nvkm_acr_func
gm200_acr = {
gm200_acr_0 = {
	.load = gm200_acr_load_fwif,
	.unload = gm200_acr_unload_fwif,
	.wpr_parse = gm200_acr_wpr_parse,
@@ -459,7 +470,8 @@ gm200_acr_load(struct nvkm_acr *acr, int ver, const struct nvkm_acr_fwif *fwif)

static const struct nvkm_acr_fwif
gm200_acr_fwif[] = {
	{ 0, gm200_acr_load, &gm200_acr },
	{  0, gm200_acr_load, &gm200_acr_0 },
	{ -1, gm200_acr_nofw, &gm200_acr },
	{}
};

+2 −1
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@ gm20b_acr_load(struct nvkm_acr *acr, int ver, const struct nvkm_acr_fwif *fwif)
static const struct nvkm_acr_fwif
gm20b_acr_fwif[] = {
	{  0, gm20b_acr_load, &gm20b_acr },
	{ -1, gm200_acr_nofw, &gm200_acr },
	{}
};

+2 −1
Original line number Diff line number Diff line
@@ -271,6 +271,7 @@ gp102_acr_load(struct nvkm_acr *acr, int ver, const struct nvkm_acr_fwif *fwif)
static const struct nvkm_acr_fwif
gp102_acr_fwif[] = {
	{  0, gp102_acr_load, &gp102_acr },
	{ -1, gm200_acr_nofw, &gm200_acr },
	{}
};

+2 −1
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ gp108_acr = {
static const struct nvkm_acr_fwif
gp108_acr_fwif[] = {
	{  0, gp102_acr_load, &gp108_acr },
	{ -1, gm200_acr_nofw, &gm200_acr },
	{}
};

+2 −1
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ gp10b_acr = {
static const struct nvkm_acr_fwif
gp10b_acr_fwif[] = {
	{  0, gm20b_acr_load, &gp10b_acr },
	{ -1, gm200_acr_nofw, &gm200_acr },
	{}
};

Loading