Commit 4944245c authored by Lyude Paul's avatar Lyude Paul
Browse files

drm/nouveau/kms/nv50-: Use drm_dp_dpcd_(readb|writeb)() in nv50_sor_disable()



Just use drm_dp_dpcd_(readb|writeb)() so we get automatic DPCD logging

Signed-off-by: default avatarLyude Paul <lyude@redhat.com>
Reviewed-by: default avatarBen Skeggs <bskeggs@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200826182456.322681-8-lyude@redhat.com
parent 09838c4e
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -1630,19 +1630,22 @@ nv50_sor_disable(struct drm_encoder *encoder,
{
	struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder);
	struct nouveau_crtc *nv_crtc = nouveau_crtc(nv_encoder->crtc);
	struct nouveau_connector *nv_connector =
		nv50_outp_get_old_connector(nv_encoder, state);

	nv_encoder->crtc = NULL;

	if (nv_crtc) {
		struct nvkm_i2c_aux *aux = nv_encoder->aux;
		struct drm_dp_aux *aux = &nv_connector->aux;
		u8 pwr;

		if (aux) {
			int ret = nvkm_rdaux(aux, DP_SET_POWER, &pwr, 1);
		if (nv_encoder->dcb->type == DCB_OUTPUT_DP) {
			int ret = drm_dp_dpcd_readb(aux, DP_SET_POWER, &pwr);

			if (ret == 0) {
				pwr &= ~DP_SET_POWER_MASK;
				pwr |=  DP_SET_POWER_D3;
				nvkm_wraux(aux, DP_SET_POWER, &pwr, 1);
				drm_dp_dpcd_writeb(aux, DP_SET_POWER, pwr);
			}
		}