Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0892a5f2 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/gk104/ibus: increase various random timeouts



Fixes (at least) PTHERM accesses timing out at higher clock speeds.

Values and registers taken from what the binary driver does.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 1968a1e9
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -94,6 +94,23 @@ nve0_ibus_intr(struct nouveau_subdev *subdev)
	}
}

static int
nve0_ibus_init(struct nouveau_object *object)
{
	struct nve0_ibus_priv *priv = (void *)object;
	int ret = nouveau_ibus_init(&priv->base);
	if (ret == 0) {
		nv_mask(priv, 0x122318, 0x0003ffff, 0x00001000);
		nv_mask(priv, 0x12231c, 0x0003ffff, 0x00000200);
		nv_mask(priv, 0x122310, 0x0003ffff, 0x00000800);
		nv_mask(priv, 0x122348, 0x0003ffff, 0x00000100);
		nv_mask(priv, 0x1223b0, 0x0003ffff, 0x00000fff);
		nv_mask(priv, 0x122348, 0x0003ffff, 0x00000200);
		nv_mask(priv, 0x122358, 0x0003ffff, 0x00002880);
	}
	return ret;
}

static int
nve0_ibus_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
	       struct nouveau_oclass *oclass, void *data, u32 size,
@@ -117,7 +134,7 @@ nve0_ibus_oclass = {
	.ofuncs = &(struct nouveau_ofuncs) {
		.ctor = nve0_ibus_ctor,
		.dtor = _nouveau_ibus_dtor,
		.init = _nouveau_ibus_init,
		.init = nve0_ibus_init,
		.fini = _nouveau_ibus_fini,
	},
};