Browse Source

drm/nouveau/devinit/gm100-: force devinit table execution on boards without PDISP

Should fix fdo#89558

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 10 năm trước cách đây
mục cha
commit
4d4d6f7520

+ 1 - 1
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c

@@ -90,7 +90,7 @@ gf100_devinit_disable(struct nvkm_devinit *devinit)
 	return disable;
 	return disable;
 }
 }
 
 
-static int
+int
 gf100_devinit_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
 gf100_devinit_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
 		   struct nvkm_oclass *oclass, void *data, u32 size,
 		   struct nvkm_oclass *oclass, void *data, u32 size,
 		   struct nvkm_object **pobject)
 		   struct nvkm_object **pobject)

+ 1 - 1
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.c

@@ -48,7 +48,7 @@ struct nvkm_oclass *
 gm107_devinit_oclass = &(struct nvkm_devinit_impl) {
 gm107_devinit_oclass = &(struct nvkm_devinit_impl) {
 	.base.handle = NV_SUBDEV(DEVINIT, 0x07),
 	.base.handle = NV_SUBDEV(DEVINIT, 0x07),
 	.base.ofuncs = &(struct nvkm_ofuncs) {
 	.base.ofuncs = &(struct nvkm_ofuncs) {
-		.ctor = nv50_devinit_ctor,
+		.ctor = gf100_devinit_ctor,
 		.dtor = _nvkm_devinit_dtor,
 		.dtor = _nvkm_devinit_dtor,
 		.init = nv50_devinit_init,
 		.init = nv50_devinit_init,
 		.fini = _nvkm_devinit_fini,
 		.fini = _nvkm_devinit_fini,

+ 1 - 1
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm204.c

@@ -161,7 +161,7 @@ struct nvkm_oclass *
 gm204_devinit_oclass = &(struct nvkm_devinit_impl) {
 gm204_devinit_oclass = &(struct nvkm_devinit_impl) {
 	.base.handle = NV_SUBDEV(DEVINIT, 0x07),
 	.base.handle = NV_SUBDEV(DEVINIT, 0x07),
 	.base.ofuncs = &(struct nvkm_ofuncs) {
 	.base.ofuncs = &(struct nvkm_ofuncs) {
-		.ctor = nv50_devinit_ctor,
+		.ctor = gf100_devinit_ctor,
 		.dtor = _nvkm_devinit_dtor,
 		.dtor = _nvkm_devinit_dtor,
 		.init = nv50_devinit_init,
 		.init = nv50_devinit_init,
 		.fini = _nvkm_devinit_fini,
 		.fini = _nvkm_devinit_fini,

+ 3 - 0
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h

@@ -15,6 +15,9 @@ int  nv50_devinit_pll_set(struct nvkm_devinit *, u32, u32);
 
 
 int  gt215_devinit_pll_set(struct nvkm_devinit *, u32, u32);
 int  gt215_devinit_pll_set(struct nvkm_devinit *, u32, u32);
 
 
+int  gf100_devinit_ctor(struct nvkm_object *, struct nvkm_object *,
+			struct nvkm_oclass *, void *, u32,
+			struct nvkm_object **);
 int  gf100_devinit_pll_set(struct nvkm_devinit *, u32, u32);
 int  gf100_devinit_pll_set(struct nvkm_devinit *, u32, u32);
 
 
 u64  gm107_devinit_disable(struct nvkm_devinit *);
 u64  gm107_devinit_disable(struct nvkm_devinit *);