Commit 38fd546b authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/pmu/gm200-: explicitly handle nofw



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 46fc98bf
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -30,9 +30,17 @@ gm200_pmu = {
	.reset = gf100_pmu_reset,
};


int
gm200_pmu_nofw(struct nvkm_pmu *pmu, int ver, const struct nvkm_pmu_fwif *fwif)
{
	nvkm_warn(&pmu->subdev, "firmware unavailable\n");
	return 0;
}

static const struct nvkm_pmu_fwif
gm200_pmu_fwif[] = {
	{ -1, gf100_pmu_nofw, &gm200_pmu },
	{ -1, gm200_pmu_nofw, &gm200_pmu },
	{}
};

+2 −1
Original line number Diff line number Diff line
@@ -235,6 +235,7 @@ gm20b_pmu_load(struct nvkm_pmu *pmu, int ver, const struct nvkm_pmu_fwif *fwif)
static const struct nvkm_pmu_fwif
gm20b_pmu_fwif[] = {
	{  0, gm20b_pmu_load, &gm20b_pmu, &gm20b_pmu_acr },
	{ -1, gm200_pmu_nofw, &gm20b_pmu },
	{}
};

+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ gp102_pmu = {

static const struct nvkm_pmu_fwif
gp102_pmu_fwif[] = {
	{ -1, gf100_pmu_nofw, &gp102_pmu },
	{ -1, gm200_pmu_nofw, &gp102_pmu },
	{}
};

+2 −1
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ MODULE_FIRMWARE("nvidia/gp10b/pmu/sig.bin");
static const struct nvkm_pmu_fwif
gp10b_pmu_fwif[] = {
	{  0, gm20b_pmu_load, &gp10b_pmu, &gp10b_pmu_acr },
	{ -1, gm200_pmu_nofw, &gp10b_pmu },
	{}
};

+1 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ struct nvkm_pmu_fwif {
};

int gf100_pmu_nofw(struct nvkm_pmu *, int, const struct nvkm_pmu_fwif *);
int gm200_pmu_nofw(struct nvkm_pmu *, int, const struct nvkm_pmu_fwif *);
int gm20b_pmu_load(struct nvkm_pmu *, int, const struct nvkm_pmu_fwif *);

int nvkm_pmu_ctor(const struct nvkm_pmu_fwif *, struct nvkm_device *,