From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v2] drm/nouveau: Fix nouveau_connector_ddc_detect() Date: Thu, 30 Aug 2018 13:16:28 -0400 Message-ID: <20180830171628.23999-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: David Airlie , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Ben Skeggs , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: dri-devel@lists.freedesktop.org SXQgbG9va3MgbGlrZSB0aGF0IHdoZW4gd2UgbW92ZWQgb3ZlciB0byB1c2luZwpkcm1fY29ubmVj dG9yX2Zvcl9lYWNoX3Bvc3NpYmxlX2VuY29kZXIoKSBpbiBub3V2ZWF1LCB0aGF0IG9uZSByYXRo ZXIKaW1wb3J0YW50IHBhcnQgb2YgdGhpcyBmdW5jdGlvbiBnb3QgZHJvcHBlZCBieSBhY2NpZGVu dDoKCgkvKiAgICAgICAgICBSaWdodCAgIHYgICBoZXJlICovCglmb3IgKGkgPSAwOyBudl9lbmNv ZGVyID0gTlVMTCwgaSA8IERSTV9DT05ORUNUT1JfTUFYX0VOQ09ERVI7IGkrKykgewoJCWludCBp ZCA9IGNvbm5lY3Rvci0+ZW5jb2Rlcl9pZHNbaV07CgkJaWYgKGlkID09IDApCgkJCWJyZWFrOwoK U2luY2UgaXQncyByYXRoZXIgZGlmZmljdWx0IHRvIG5vdGljZTogdGhlIGNvbmRpdGlvbmFsIGlu IHRoaXMgbG9vcCBpcwphY3R1YWxseToKCgludl9lbmNvZGVyID0gTlVMTCwgaSA8IERSTV9DT05O RUNUT1JfTUFYX0VOQ09ERVIKCk1lYW5pbmcgdGhhdCBhbGwgZWFybHkgYnJlYWtzIHJlc3VsdCBp biBudl9lbmNvZGVyIGtlZXBpbmcgaXQncyB2YWx1ZSwKb3RoZXJ3aXNlIG52X2VuY29kZXIgPSBO VUxMLiBVZ2guCgpTaW5jZSB0aGlzIGdvdCBkcm9wcGVkLCBub3V2ZWF1X2Nvbm5lY3Rvcl9kZGNf ZGV0ZWN0KCkgbm93IHJldHVybnMgYW4KZW5jb2RlciBmb3IgZXZlcnkgc2luZ2xlIGNvbm5lY3Rv ciwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIG9yIG5vdCBpdCdzCmRldGVjdGVkOgoKICAgIFsgMTc4 MC4wNTYxODVdIG5vdXZlYXUgMDAwMDowMTowMC4wOiBEUk06IEREQyByZXNwb25kZWQsIGJ1dCBu byBFRElEIGZvciBEUC0yCgpTbzogZml4IHRoaXMgdG8gZW5zdXJlIHdlIG9ubHkgcmV0dXJuIGFu IGVuY29kZXIgaWYgd2UgYWN0dWFsbHkgZm91bmQKb25lLCBhbmQgY2xlYW4gdXAgdGhlIHJlc3Qg b2YgdGhlIGZ1bmN0aW9uIHdoaWxlIHdlJ3JlIGF0IGl0IHNpbmNlIGl0J3MKbmVhcmx5IGltcG9z c2libGUgdG8gcmVhZCBwcm9wZXJseS4KCkNoYW5nZXMgc2luY2UgdjE6Ci0gRG9uJ3Qgc2tpcCBk ZGMgcHJvYmluZyBmb3IgTFZEUyBpZiB3ZSBjYW4ndCBzd2l0Y2ggRERDIHRocm91Z2gKICB2Z2Et c3dpdGNoZXJvbywganVzdCBkbyB0aGUgRERDIHByb2Jpbmcgd2l0aG91dCBjYWxsaW5nCiAgdmdh X3N3aXRjaGVyb29fbG9ja19kZGMoKSAtIHNrZWdnc2IKClNpZ25lZC1vZmYtYnk6IEx5dWRlIFBh dWwgPGx5dWRlQHJlZGhhdC5jb20+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgpGaXhlczogZGRiYTc2NmRkMDdlICgiZHJtL25vdXZlYXU6IFVzZSBk cm1fY29ubmVjdG9yX2Zvcl9lYWNoX3Bvc3NpYmxlX2VuY29kZXIoKSIpCi0tLQogZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbm91dmVhdV9jb25uZWN0b3IuYyB8IDQ5ICsrKysrKysrKysrKy0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfY29ubmVjdG9yLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Nvbm5lY3Rvci5jCmluZGV4IDcxYzNi ZDhmZjlmOC4uNDYxMTExYWFlZGM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9ub3V2ZWF1X2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfY29ubmVjdG9yLmMKQEAgLTQxNCw5ICs0MTQsMTAgQEAgbm91dmVhdV9jb25uZWN0b3JfZGRj X2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCXN0cnVjdCBub3V2ZWF1 X2Nvbm5lY3RvciAqbnZfY29ubmVjdG9yID0gbm91dmVhdV9jb25uZWN0b3IoY29ubmVjdG9yKTsK IAlzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJtKGRldik7CiAJc3RydWN0IG52 a21fZ3BpbyAqZ3BpbyA9IG52eHhfZ3BpbygmZHJtLT5jbGllbnQuZGV2aWNlKTsKLQlzdHJ1Y3Qg bm91dmVhdV9lbmNvZGVyICpudl9lbmNvZGVyID0gTlVMTDsKKwlzdHJ1Y3Qgbm91dmVhdV9lbmNv ZGVyICpudl9lbmNvZGVyID0gTlVMTCwgKmZvdW5kID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXI7Ci0JaW50IGksIHBhbmVsID0gLUVOT0RFVjsKKwlpbnQgaSwgcmV0LCBwYW5l bCA9IC1FTk9ERVY7CisJYm9vbCBzd2l0Y2hlcm9vX2RkYyA9IGZhbHNlOwogCiAJLyogZURQIHBh bmVscyBuZWVkIHBvd2VyaW5nIG9uIGJ5IHVzIChpZiB0aGUgVkJJT1MgZG9lc24ndCBkZWZhdWx0 IGl0CiAJICogdG8gb24pIGJlZm9yZSBkb2luZyBhbnkgQVVYIGNoYW5uZWwgdHJhbnNhY3Rpb25z LiAgTFZEUyBwYW5lbCBwb3dlcgpAQCAtNDMzLDM3ICs0MzQsNDMgQEAgbm91dmVhdV9jb25uZWN0 b3JfZGRjX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWRybV9jb25u ZWN0b3JfZm9yX2VhY2hfcG9zc2libGVfZW5jb2Rlcihjb25uZWN0b3IsIGVuY29kZXIsIGkpIHsK IAkJbnZfZW5jb2RlciA9IG5vdXZlYXVfZW5jb2RlcihlbmNvZGVyKTsKIAotCQlpZiAobnZfZW5j b2Rlci0+ZGNiLT50eXBlID09IERDQl9PVVRQVVRfRFApIHsKLQkJCWludCByZXQgPSBub3V2ZWF1 X2RwX2RldGVjdChudl9lbmNvZGVyKTsKKwkJc3dpdGNoIChudl9lbmNvZGVyLT5kY2ItPnR5cGUp IHsKKwkJY2FzZSBEQ0JfT1VUUFVUX0RQOgorCQkJcmV0ID0gbm91dmVhdV9kcF9kZXRlY3QobnZf ZW5jb2Rlcik7CiAJCQlpZiAocmV0ID09IE5PVVZFQVVfRFBfTVNUKQogCQkJCXJldHVybiBOVUxM OwotCQkJaWYgKHJldCA9PSBOT1VWRUFVX0RQX1NTVCkKLQkJCQlicmVhazsKLQkJfSBlbHNlCi0J CWlmICgodmdhX3N3aXRjaGVyb29faGFuZGxlcl9mbGFncygpICYKLQkJICAgICBWR0FfU1dJVENI RVJPT19DQU5fU1dJVENIX0REQykgJiYKLQkJICAgIG52X2VuY29kZXItPmRjYi0+dHlwZSA9PSBE Q0JfT1VUUFVUX0xWRFMgJiYKLQkJICAgIG52X2VuY29kZXItPmkyYykgewotCQkJaW50IHJldDsK LQkJCXZnYV9zd2l0Y2hlcm9vX2xvY2tfZGRjKGRldi0+cGRldik7Ci0JCQlyZXQgPSBudmttX3By b2JlX2kyYyhudl9lbmNvZGVyLT5pMmMsIDB4NTApOwotCQkJdmdhX3N3aXRjaGVyb29fdW5sb2Nr X2RkYyhkZXYtPnBkZXYpOwotCQkJaWYgKHJldCkKKwkJCWVsc2UgaWYgKHJldCA9PSBOT1VWRUFV X0RQX1NTVCkKKwkJCQlmb3VuZCA9IG52X2VuY29kZXI7CisKKwkJCWJyZWFrOworCQljYXNlIERD Ql9PVVRQVVRfTFZEUzoKKwkJCXN3aXRjaGVyb29fZGRjID0gISEodmdhX3N3aXRjaGVyb29faGFu ZGxlcl9mbGFncygpICYKKwkJCQkJICAgIFZHQV9TV0lUQ0hFUk9PX0NBTl9TV0lUQ0hfRERDKTsK KwkJLyogZmFsbC10aHJvdWdoICovCisJCWRlZmF1bHQ6CisJCQlpZiAoIW52X2VuY29kZXItPmky YykKIAkJCQlicmVhazsKLQkJfSBlbHNlCi0JCWlmIChudl9lbmNvZGVyLT5pMmMpIHsKKworCQkJ aWYgKHN3aXRjaGVyb29fZGRjKQorCQkJCXZnYV9zd2l0Y2hlcm9vX2xvY2tfZGRjKGRldi0+cGRl dik7CiAJCQlpZiAobnZrbV9wcm9iZV9pMmMobnZfZW5jb2Rlci0+aTJjLCAweDUwKSkKLQkJCQli cmVhazsKKwkJCQlmb3VuZCA9IG52X2VuY29kZXI7CisJCQlpZiAoc3dpdGNoZXJvb19kZGMpCisJ CQkJdmdhX3N3aXRjaGVyb29fdW5sb2NrX2RkYyhkZXYtPnBkZXYpOworCisJCQlicmVhazsKIAkJ fQorCQlpZiAoZm91bmQpCisJCQlicmVhazsKIAl9CiAKIAkvKiBlRFAgcGFuZWwgbm90IGRldGVj dGVkLCByZXN0b3JlIHBhbmVsIHBvd2VyIEdQSU8gdG8gcHJldmlvdXMKIAkgKiBzdGF0ZSB0byBh dm9pZCBjb25mdXNpbmcgdGhlIFNPUiBmb3Igb3RoZXIgb3V0cHV0IHR5cGVzLgogCSAqLwotCWlm ICghbnZfZW5jb2RlciAmJiBwYW5lbCA9PSAwKQorCWlmICghZm91bmQgJiYgcGFuZWwgPT0gMCkK IAkJbnZrbV9ncGlvX3NldChncGlvLCAwLCBEQ0JfR1BJT19QQU5FTF9QT1dFUiwgMHhmZiwgcGFu ZWwpOwogCi0JcmV0dXJuIG52X2VuY29kZXI7CisJcmV0dXJuIGZvdW5kOwogfQogCiBzdGF0aWMg c3RydWN0IG5vdXZlYXVfZW5jb2RlciAqCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vbm91dmVhdQo=