From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 3/6] drm/mst: cached EDID for logical ports (v2) Date: Mon, 10 Nov 2014 12:16:13 +1000 Message-ID: <1415585776-31415-4-git-send-email-airlied@gmail.com> References: <1415585776-31415-1-git-send-email-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1415585776-31415-1-git-send-email-airlied@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KCkxvZ2ljYWwgcG9ydHMgYXJl IG5ldmVyIGdvaW5nIHRvIGhhdmUgRURJRCBjaGFuZ2VzLAp0aGV5IGFyZSB1c2VkIGZvciB0aGUg aW50ZXJuYWwgcG9ydHMgb24gTVNUIG1vbml0b3JzLgoKV2UgY2FjaGUgdGhlIEVESURzIGZyb20g dGhlc2UgdG8gc2F2ZSB0aW1lIGF0IE1TVCBwcm9iZS4KCnYyOiBkcm9wIG1pc3BsYWNlIHRpbGUg cHJvcGVydHkgbGluZSwgbWVhbnQgZm9yIG90aGVyIHBhdGNoLgoKU2lnbmVkLW9mZi1ieTogRGF2 ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X21zdF90b3BvbG9neS5jIHwgMTkgKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBfbXN0LmMgICB8ICAyICstCiBpbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hl bHBlci5oICAgICAgIHwgIDQgKysrLQogMyBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0 X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCmluZGV4 IDUwOTI2ZGIuLmEzZDFiMzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0 X3RvcG9sb2d5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwpA QCAtODU4LDYgKzg1OCw4IEBAIHN0YXRpYyB2b2lkIGRybV9kcF9kZXN0cm95X3BvcnQoc3RydWN0 IGtyZWYgKmtyZWYpCiAJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IgPSBwb3J0 LT5tZ3I7CiAJaWYgKCFwb3J0LT5pbnB1dCkgewogCQlwb3J0LT52Y3BpLm51bV9zbG90cyA9IDA7 CisKKwkJa2ZyZWUocG9ydC0+Y2FjaGVkX2VkaWQpOwogCQlpZiAocG9ydC0+Y29ubmVjdG9yKQog CQkJKCpwb3J0LT5tZ3ItPmNicy0+ZGVzdHJveV9jb25uZWN0b3IpKG1nciwgcG9ydC0+Y29ubmVj dG9yKTsKIAkJZHJtX2RwX3BvcnRfdGVhcmRvd25fcGR0KHBvcnQsIHBvcnQtPnBkdCk7CkBAIC0x MDk2LDYgKzEwOTgsMTAgQEAgc3RhdGljIHZvaWQgZHJtX2RwX2FkZF9wb3J0KHN0cnVjdCBkcm1f ZHBfbXN0X2JyYW5jaCAqbXN0YiwKIAkJY2hhciBwcm9wcGF0aFsyNTVdOwogCQlidWlsZF9tc3Rf cHJvcF9wYXRoKHBvcnQsIG1zdGIsIHByb3BwYXRoKTsKIAkJcG9ydC0+Y29ubmVjdG9yID0gKCpt c3RiLT5tZ3ItPmNicy0+YWRkX2Nvbm5lY3RvcikobXN0Yi0+bWdyLCBwb3J0LCBwcm9wcGF0aCk7 CisKKwkJaWYgKHBvcnQtPnBvcnRfbnVtID49IDgpIHsKKwkJCXBvcnQtPmNhY2hlZF9lZGlkID0g ZHJtX2dldF9lZGlkKHBvcnQtPmNvbm5lY3RvciwgJnBvcnQtPmF1eC5kZGMpOworCQl9CiAJfQog CiAJLyogcHV0IHJlZmVyZW5jZSB0byB0aGlzIHBvcnQgKi8KQEAgLTIxNDksNyArMjE1NSw4IEBA IEVYUE9SVF9TWU1CT0woZHJtX2RwX21zdF9ocGRfaXJxKTsKICAqIFRoaXMgcmV0dXJucyB0aGUg Y3VycmVudCBjb25uZWN0aW9uIHN0YXRlIGZvciBhIHBvcnQuIEl0IHZhbGlkYXRlcyB0aGUKICAq IHBvcnQgcG9pbnRlciBzdGlsbCBleGlzdHMgc28gdGhlIGNhbGxlciBkb2Vzbid0IHJlcXVpcmUg YSByZWZlcmVuY2UKICAqLwotZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBkcm1fZHBfbXN0X2Rl dGVjdF9wb3J0KHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBzdHJ1Y3QgZHJt X2RwX21zdF9wb3J0ICpwb3J0KQorZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBkcm1fZHBfbXN0 X2RldGVjdF9wb3J0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCisJCQkJCQkgc3Ry dWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsIHN0cnVjdCBkcm1fZHBfbXN0X3BvcnQg KnBvcnQpCiB7CiAJZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBzdGF0dXMgPSBjb25uZWN0b3Jf c3RhdHVzX2Rpc2Nvbm5lY3RlZDsKIApAQCAtMjE2OCw2ICsyMTc1LDEwIEBAIGVudW0gZHJtX2Nv bm5lY3Rvcl9zdGF0dXMgZHJtX2RwX21zdF9kZXRlY3RfcG9ydChzdHJ1Y3QgZHJtX2RwX21zdF90 b3BvbG9neV9tZ3IKIAogCWNhc2UgRFBfUEVFUl9ERVZJQ0VfU1NUX1NJTks6CiAJCXN0YXR1cyA9 IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOworCQkvKiBmb3IgbG9naWNhbCBwb3J0cyAtIGNh Y2hlIHRoZSBFRElEICovCisJCWlmIChwb3J0LT5wb3J0X251bSA+PSA4ICYmICFwb3J0LT5jYWNo ZWRfZWRpZCkgeworCQkJcG9ydC0+Y2FjaGVkX2VkaWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9y LCAmcG9ydC0+YXV4LmRkYyk7CisJCX0KIAkJYnJlYWs7CiAJY2FzZSBEUF9QRUVSX0RFVklDRV9E UF9MRUdBQ1lfQ09OVjoKIAkJaWYgKHBvcnQtPmxkcHMpCkBAIC0yMTk5LDcgKzIyMTAsMTEgQEAg c3RydWN0IGVkaWQgKmRybV9kcF9tc3RfZ2V0X2VkaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3Rvciwgc3RydWN0IGRybV9kcF8KIAlpZiAoIXBvcnQpCiAJCXJldHVybiBOVUxMOwogCi0J ZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsICZwb3J0LT5hdXguZGRjKTsKKwlpZiAocG9y dC0+Y2FjaGVkX2VkaWQpCisJCWVkaWQgPSBkcm1fZWRpZF9kdXBsaWNhdGUocG9ydC0+Y2FjaGVk X2VkaWQpOworCWVsc2UKKwkJZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsICZwb3J0LT5h dXguZGRjKTsKKwogCWRybV9kcF9wdXRfcG9ydChwb3J0KTsKIAlyZXR1cm4gZWRpZDsKIH0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKaW5kZXggZDlhN2E3OC4uYzY2ZTczYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKQEAgLTI4Myw3ICsyODMsNyBAQCBpbnRlbF9tc3Rf cG9ydF9kcF9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29u bmVjdG9yKTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gaW50ZWxfY29ubmVjdG9yLT5t c3RfcG9ydDsKIAotCXJldHVybiBkcm1fZHBfbXN0X2RldGVjdF9wb3J0KCZpbnRlbF9kcC0+bXN0 X21nciwgaW50ZWxfY29ubmVjdG9yLT5wb3J0KTsKKwlyZXR1cm4gZHJtX2RwX21zdF9kZXRlY3Rf cG9ydChjb25uZWN0b3IsICZpbnRlbF9kcC0+bXN0X21nciwgaW50ZWxfY29ubmVjdG9yLT5wb3J0 KTsKIH0KIAogc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hl bHBlci5oCmluZGV4IDMzOGZjMTAuLmVlNmZiYWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9kcF9tc3RfaGVscGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaApA QCAtOTIsNiArOTIsOCBAQCBzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0IHsKIAlzdHJ1Y3QgZHJtX2Rw X3ZjcGkgdmNwaTsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCBk cm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyOworCisJc3RydWN0IGVkaWQgKmNhY2hlZF9lZGlk OyAvKiBmb3IgRFAgbG9naWNhbCBwb3J0cyAtIG1ha2UgdGlsaW5nIHdvcmsgKi8KIH07CiAKIC8q KgpAQCAtNDc0LDcgKzQ3Niw3IEBAIGludCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9zZXRfbXN0 KHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBib29sIG1zCiBpbnQgZHJtX2Rw X21zdF9ocGRfaXJxKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCB1OCAqZXNp LCBib29sICpoYW5kbGVkKTsKIAogCi1lbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIGRybV9kcF9t c3RfZGV0ZWN0X3BvcnQoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsIHN0cnVj dCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQpOworZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBkcm1f ZHBfbXN0X2RldGVjdF9wb3J0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpw b3J0KTsKIAogc3RydWN0IGVkaWQgKmRybV9kcF9tc3RfZ2V0X2VkaWQoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3Rvciwgc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsIHN0 cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQpOwogCi0tIAoyLjEuMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK