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

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

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 46fc98bf
...@@ -30,9 +30,17 @@ gm200_pmu = { ...@@ -30,9 +30,17 @@ gm200_pmu = {
.reset = gf100_pmu_reset, .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 static const struct nvkm_pmu_fwif
gm200_pmu_fwif[] = { gm200_pmu_fwif[] = {
{ -1, gf100_pmu_nofw, &gm200_pmu }, { -1, gm200_pmu_nofw, &gm200_pmu },
{} {}
}; };
......
...@@ -234,7 +234,8 @@ gm20b_pmu_load(struct nvkm_pmu *pmu, int ver, const struct nvkm_pmu_fwif *fwif) ...@@ -234,7 +234,8 @@ gm20b_pmu_load(struct nvkm_pmu *pmu, int ver, const struct nvkm_pmu_fwif *fwif)
static const struct nvkm_pmu_fwif static const struct nvkm_pmu_fwif
gm20b_pmu_fwif[] = { gm20b_pmu_fwif[] = {
{ 0, gm20b_pmu_load, &gm20b_pmu, &gm20b_pmu_acr }, { 0, gm20b_pmu_load, &gm20b_pmu, &gm20b_pmu_acr },
{ -1, gm200_pmu_nofw, &gm20b_pmu },
{} {}
}; };
......
...@@ -46,7 +46,7 @@ gp102_pmu = { ...@@ -46,7 +46,7 @@ gp102_pmu = {
static const struct nvkm_pmu_fwif static const struct nvkm_pmu_fwif
gp102_pmu_fwif[] = { gp102_pmu_fwif[] = {
{ -1, gf100_pmu_nofw, &gp102_pmu }, { -1, gm200_pmu_nofw, &gp102_pmu },
{} {}
}; };
......
...@@ -93,7 +93,8 @@ MODULE_FIRMWARE("nvidia/gp10b/pmu/sig.bin"); ...@@ -93,7 +93,8 @@ MODULE_FIRMWARE("nvidia/gp10b/pmu/sig.bin");
static const struct nvkm_pmu_fwif static const struct nvkm_pmu_fwif
gp10b_pmu_fwif[] = { gp10b_pmu_fwif[] = {
{ 0, gm20b_pmu_load, &gp10b_pmu, &gp10b_pmu_acr }, { 0, gm20b_pmu_load, &gp10b_pmu, &gp10b_pmu_acr },
{ -1, gm200_pmu_nofw, &gp10b_pmu },
{} {}
}; };
......
...@@ -59,6 +59,7 @@ struct nvkm_pmu_fwif { ...@@ -59,6 +59,7 @@ struct nvkm_pmu_fwif {
}; };
int gf100_pmu_nofw(struct nvkm_pmu *, int, const 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 gm20b_pmu_load(struct nvkm_pmu *, int, const struct nvkm_pmu_fwif *);
int nvkm_pmu_ctor(const struct nvkm_pmu_fwif *, struct nvkm_device *, int nvkm_pmu_ctor(const struct nvkm_pmu_fwif *, struct nvkm_device *,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment