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

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

drm/nouveau/disp: clear notify intr status when enabling, to prevent races



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 2832271d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -88,12 +88,14 @@ nv50_disp_chan_uevent_fini(struct nvkm_event *event, int type, int index)
{
	struct nv50_disp_priv *priv = container_of(event, typeof(*priv), uevent);
	nv_mask(priv, 0x610028, 0x00000001 << index, 0x00000000 << index);
	nv_wr32(priv, 0x610020, 0x00000001 << index);
}

static void
nv50_disp_chan_uevent_init(struct nvkm_event *event, int types, int index)
{
	struct nv50_disp_priv *priv = container_of(event, typeof(*priv), uevent);
	nv_wr32(priv, 0x610020, 0x00000001 << index);
	nv_mask(priv, 0x610028, 0x00000001 << index, 0x00000001 << index);
}

+2 −0
Original line number Diff line number Diff line
@@ -51,12 +51,14 @@ nvd0_disp_chan_uevent_fini(struct nvkm_event *event, int type, int index)
{
	struct nv50_disp_priv *priv = container_of(event, typeof(*priv), uevent);
	nv_mask(priv, 0x610090, 0x00000001 << index, 0x00000000 << index);
	nv_wr32(priv, 0x61008c, 0x00000001 << index);
}

static void
nvd0_disp_chan_uevent_init(struct nvkm_event *event, int types, int index)
{
	struct nv50_disp_priv *priv = container_of(event, typeof(*priv), uevent);
	nv_wr32(priv, 0x61008c, 0x00000001 << index);
	nv_mask(priv, 0x610090, 0x00000001 << index, 0x00000001 << index);
}