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

Commit c49c0b44 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/devinit: bump priv ring timeouts before executing scripts



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 15606cb4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ enum nv_subdev_type {
	 * to during POST.
	 */
	NVDEV_SUBDEV_DEVINIT,
	NVDEV_SUBDEV_IBUS,
	NVDEV_SUBDEV_GPIO,
	NVDEV_SUBDEV_I2C,
	NVDEV_SUBDEV_DEVINIT_LAST = NVDEV_SUBDEV_I2C,
@@ -31,7 +32,6 @@ enum nv_subdev_type {
	NVDEV_SUBDEV_TIMER,
	NVDEV_SUBDEV_FB,
	NVDEV_SUBDEV_LTC,
	NVDEV_SUBDEV_IBUS,
	NVDEV_SUBDEV_INSTMEM,
	NVDEV_SUBDEV_VM,
	NVDEV_SUBDEV_BAR,
+9 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <subdev/bios/dcb.h>
#include <subdev/bios/disp.h>
#include <subdev/bios/init.h>
#include <subdev/ibus.h>
#include <subdev/vga.h>

#include "nv50.h"
@@ -91,6 +92,7 @@ int
nv50_devinit_init(struct nouveau_object *object)
{
	struct nouveau_bios *bios = nouveau_bios(object);
	struct nouveau_ibus *ibus = nouveau_ibus(object);
	struct nv50_devinit_priv *priv = (void *)object;
	struct nvbios_outp info;
	struct dcb_output outp;
@@ -105,6 +107,13 @@ nv50_devinit_init(struct nouveau_object *object)
		}
	}

	/* some boards appear to require certain priv register timeouts
	 * to be bumped before runing devinit scripts.  not a clue why
	 * the vbios engineers didn't make the scripts just work...
	 */
	if (priv->base.post && ibus)
		nv_ofuncs(ibus)->init(nv_object(ibus));

	ret = nouveau_devinit_init(&priv->base);
	if (ret)
		return ret;