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

Commit 276e526c authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nv50-/kms: pass a non-zero value for head to sor dpms methods



There's Apple machines out there which (probably completely arbitrarily)
restrict each output path to a particular head.  This causes us to not
be able to locate the output data needed to power on/off the DP output
correctly.

We fix this by passing in a head index we know is valid (as opposed to
"head 0").

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 3c4be80b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1741,7 +1741,8 @@ nv50_sor_dpms(struct drm_encoder *encoder, int mode)
		}
	}

	mthd  = (ffs(nv_encoder->dcb->sorconf.link) - 1) << 2;
	mthd  = (ffs(nv_encoder->dcb->heads) - 1) << 3;
	mthd |= (ffs(nv_encoder->dcb->sorconf.link) - 1) << 2;
	mthd |= nv_encoder->or;

	if (nv_encoder->dcb->type == DCB_OUTPUT_DP) {