From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: [PATCH 8/9] drm/i915: Add debugfs test control files for Displayport compliance testing Date: Tue, 31 Mar 2015 10:15:05 -0700 Message-ID: <1427822106-29617-9-git-send-email-tprevite@gmail.com> References: <1427822106-29617-1-git-send-email-tprevite@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pd0-f170.google.com (mail-pd0-f170.google.com [209.85.192.170]) by gabe.freedesktop.org (Postfix) with ESMTP id 7237D6E746 for ; Tue, 31 Mar 2015 10:15:26 -0700 (PDT) Received: by pddn5 with SMTP id n5so26851625pdd.2 for ; Tue, 31 Mar 2015 10:15:26 -0700 (PDT) In-Reply-To: <1427822106-29617-1-git-send-email-tprevite@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIDMgZGVidWdmcyBmaWxlcyBmb3IgaGFuZGxpbmcgRGlzcGxheXBvcnQg Y29tcGxpYW5jZSB0ZXN0aW5nCmFuZCBzdXBlcmNlZGVzIHRoZSBwcmV2aW91cyBwYXRjaGVzIHRo YXQgaW1wbGVtZW50ZWQgZGVidWdmcyBzdXBwb3J0IGZvcgpjb21wbGlhbmNlIHRlc3RpbmcuIFRo b3NlIHR3byBwYXRjaGVzIHdlcmU6CgotIDEgPGVkaXQgLSBnZXQgdGhlIGNvbW1pdC9wYXRjaCB0 aXRsZXM+Ci0gMiA8ZWRpdCAtIGdldCB0aGUgY29tbWl0L3BhdGNoIHRpdGxlcz4KClRoaXMgbmV3 IHBhdGNoIHNpbXBsaWZpZXMgdGhlIGRlYnVnZnMgaW1wbGVtZW50YXRpb24gYnkgcGxhY2VzIGEg c2luZ2xlCnRlc3QgY29udHJvbCB2YWx1ZSBpbnRvIGFuIGluZGl2aWR1YWwgZmlsZS4gRWFjaCBm aWxlIGlzIHJlYWRhYmxlIGJ5CnRoZSB1c2Vyc2FwY2UgYXBwbGljYXRpb24gYW5kIHRoZSB0ZXN0 X2FjdGl2ZSBmaWxlIGlzIHdyaXRhYmxlIHRvCmluZGljYXRlIHRvIHRoZSBrZXJuZWwgd2hlbiB1 c2Vyc3BhY2UgaGFzIGNvbXBsZXRlZCBpdHMgcG9ydGlvbiBvZiB0aGUKdGVzdCBzZXF1ZW5jZS4K ClJlcGxhY2luZyB0aGUgcHJldmlvdXMgZmlsZXMgc2ltcGxpZmllcyBvcGVyYXRpb24gYW5kIHNw ZWVkcyByZXNwb25zZQp0aW1lIGZvciB0aGUgdXNlciBhcHAsIGFzIGl0IGlzIHJlcXVpcmVkIHRv IHBvbGwgb24gdGhlIHRlc3RfYWN0aXZlIGZpbGUKaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHdoZW4g aXQgbmVlZHMgdG8gYmVnaW4gaXRzIG9wZXJhdGlvbnMuCgpTaWduZWQtb2ZmLWJ5OiBUb2RkIFBy ZXZpdGUgPHRwcmV2aXRlQGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYyB8IDIwOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEg ZmlsZSBjaGFuZ2VkLCAyMDggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKaW5kZXggYjMxNWYwMS4uMTg3NzVlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKQEAgLTM3MDEsNiArMzcwMSwyMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29w ZXJhdGlvbnMgaTkxNV9kaXNwbGF5X2NyY19jdGxfZm9wcyA9IHsKIAkud3JpdGUgPSBkaXNwbGF5 X2NyY19jdGxfd3JpdGUKIH07CiAKK3N0YXRpYyBzc2l6ZV90IGk5MTVfZGlzcGxheXBvcnRfdGVz dF9hY3RpdmVfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsCisJCQkJCSAgICBjb25zdCBjaGFyIF9f dXNlciAqdWJ1ZiwKKwkJCQkJICAgIHNpemVfdCBsZW4sIGxvZmZfdCAqb2ZmcCkKK3sKKwljaGFy ICppbnB1dF9idWZmZXI7CisJaW50IHN0YXR1cyA9IDA7CisJc3RydWN0IHNlcV9maWxlICptOwor CXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cjsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpjb25uZWN0b3JfbGlzdDsKKwlzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwOworCWludCB2YWwgPSAwOworCisJbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwlp ZiAoIW0pIHsKKwkJc3RhdHVzID0gLUVOT0RFVjsKKwkJcmV0dXJuIHN0YXR1czsKKwl9CisJZGV2 ID0gbS0+cHJpdmF0ZTsKKworCWlmICghZGV2KSB7CisJCXN0YXR1cyA9IC1FTk9ERVY7CisJCXJl dHVybiBzdGF0dXM7CisJfQorCWNvbm5lY3Rvcl9saXN0ID0gJmRldi0+bW9kZV9jb25maWcuY29u bmVjdG9yX2xpc3Q7CisKKwlpZiAobGVuID09IDApCisJCXJldHVybiAwOworCisJaW5wdXRfYnVm ZmVyID0ga21hbGxvYyhsZW4gKyAxLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWlucHV0X2J1ZmZlcikK KwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoY29weV9mcm9tX3VzZXIoaW5wdXRfYnVmZmVyLCB1 YnVmLCBsZW4pKSB7CisJCXN0YXR1cyA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0OworCX0KKworCWlu cHV0X2J1ZmZlcltsZW5dID0gJ1wwJzsKKwlEUk1fREVCVUdfRFJJVkVSKCJDb3BpZWQgJWQgYnl0 ZXMgZnJvbSB1c2VyXG4iLCAodW5zaWduZWQgaW50KWxlbik7CisKKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KGNvbm5lY3RvciwgY29ubmVjdG9yX2xpc3QsIGhlYWQpIHsKKworCQlpZiAoY29ubmVjdG9y LT5jb25uZWN0b3JfdHlwZSAhPQorCQkgICAgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0 KQorCQkJY29udGludWU7CisKKwkJaWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0KKwkJ ICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCAmJgorCQkgICAgY29ubmVjdG9yLT5z dGF0dXMgPT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQpIHsKKwkJCWludGVsX2RwID0gZW5j X3RvX2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7CisJCQlzdGF0dXMgPSBrc3RydG9pbnQo aW5wdXRfYnVmZmVyLCAxMCwgJnZhbCk7CisJCQlpZiAoc3RhdHVzIDwgMCkKKwkJCQlnb3RvIG91 dDsKKwkJCURSTV9ERUJVR19EUklWRVIoIkdvdCAlZCBmb3IgdGVzdCBhY3RpdmVcbiIsIHZhbCk7 CisJCQkvKiBUbyBwcmV2ZW50IGVycm9uZW91cyBhY3RpdmF0aW9uIG9mIHRoZSBjb21wbGlhbmNl CisJCQkgKiB0ZXN0aW5nIGNvZGUsIG9ubHkgYWNjZXB0IGFuIGFjdHVhbCB2YWx1ZSBvZiAxIGhl cmUKKwkJCSAqLworCQkJaWYgKHZhbCA9PSAxKQorCQkJCWludGVsX2RwLT5jb21wbGlhbmNlX3Rl c3RpbmdfYWN0aXZlID0gMTsKKwkJCWVsc2UKKwkJCQlpbnRlbF9kcC0+Y29tcGxpYW5jZV90ZXN0 aW5nX2FjdGl2ZSA9IDA7CisJCX0KKwl9CitvdXQ6CisJa2ZyZWUoaW5wdXRfYnVmZmVyKTsKKwlp ZiAoc3RhdHVzIDwgMCkKKwkJcmV0dXJuIHN0YXR1czsKKworCSpvZmZwICs9IGxlbjsKKwlyZXR1 cm4gbGVuOworfQorCitzdGF0aWMgaW50IGk5MTVfZGlzcGxheXBvcnRfdGVzdF9hY3RpdmVfc2hv dyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IG0tPnByaXZhdGU7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlz dHJ1Y3QgbGlzdF9oZWFkICpjb25uZWN0b3JfbGlzdCA9ICZkZXYtPm1vZGVfY29uZmlnLmNvbm5l Y3Rvcl9saXN0OworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHA7CisKKwlpZiAoIWRldikKKwkJ cmV0dXJuIC1FTk9ERVY7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNvbm5lY3RvciwgY29ubmVj dG9yX2xpc3QsIGhlYWQpIHsKKworCQlpZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSAhPQor CQkgICAgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0KQorCQkJY29udGludWU7CisKKwkJ aWYgKGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkICYmCisJ CSAgICBjb25uZWN0b3ItPmVuY29kZXIgIT0gTlVMTCkgeworCQkJaW50ZWxfZHAgPSBlbmNfdG9f aW50ZWxfZHAoY29ubmVjdG9yLT5lbmNvZGVyKTsKKwkJCWlmIChpbnRlbF9kcC0+Y29tcGxpYW5j ZV90ZXN0aW5nX2FjdGl2ZSkKKwkJCQlzZXFfcHV0cyhtLCAiMSIpOworCQkJZWxzZQorCQkJCXNl cV9wdXRzKG0sICIwIik7CisJCX0gZWxzZQorCQkJc2VxX3B1dHMobSwgIjAiKTsKKwl9CisKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfYWN0aXZlX29w ZW4oc3RydWN0IGlub2RlICppbm9kZSwKKwkJCQkgICAgICAgc3RydWN0IGZpbGUgKmZpbGUpCit7 CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGlub2RlLT5pX3ByaXZhdGU7CisKKwlyZXR1cm4g c2luZ2xlX29wZW4oZmlsZSwgaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2FjdGl2ZV9zaG93LCBkZXYp OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBpOTE1X2Rpc3BsYXlw b3J0X3Rlc3RfYWN0aXZlX2ZvcHMgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLm9wZW4g PSBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfYWN0aXZlX29wZW4sCisJLnJlYWQgPSBzZXFfcmVhZCwK KwkubGxzZWVrID0gc2VxX2xzZWVrLAorCS5yZWxlYXNlID0gc2luZ2xlX3JlbGVhc2UsCisJLndy aXRlID0gaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2FjdGl2ZV93cml0ZQorfTsKKworc3RhdGljIGlu dCBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfZGF0YV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9p ZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbS0+cHJpdmF0ZTsKKwlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBsaXN0X2hlYWQgKmNvbm5lY3Rv cl9saXN0ID0gJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3Q7CisJc3RydWN0IGludGVs X2RwICppbnRlbF9kcDsKKworCWlmICghZGV2KQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWxpc3Rf Zm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCBjb25uZWN0b3JfbGlzdCwgaGVhZCkgeworCisJCWlm IChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlICE9CisJCSAgICBEUk1fTU9ERV9DT05ORUNUT1Jf RGlzcGxheVBvcnQpCisJCQljb250aW51ZTsKKworCQlpZiAoY29ubmVjdG9yLT5zdGF0dXMgPT0g Y29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQgJiYKKwkJICAgIGNvbm5lY3Rvci0+ZW5jb2RlciAh PSBOVUxMKSB7CisJCQlpbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChjb25uZWN0b3ItPmVuY29k ZXIpOworCQkJc2VxX3ByaW50ZihtLCAiJWx4IiwgaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF9k YXRhKTsKKwkJfSBlbHNlCisJCQlzZXFfcHV0cyhtLCAiMCIpOworCX0KKworCXJldHVybiAwOwor fQorc3RhdGljIGludCBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfZGF0YV9vcGVuKHN0cnVjdCBpbm9k ZSAqaW5vZGUsCisJCQkJICAgICAgIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBpbm9kZS0+aV9wcml2YXRlOworCisJcmV0dXJuIHNpbmdsZV9vcGVuKGZp bGUsIGk5MTVfZGlzcGxheXBvcnRfdGVzdF9kYXRhX3Nob3csIGRldik7Cit9CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGk5MTVfZGlzcGxheXBvcnRfdGVzdF9kYXRhX2Zv cHMgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLm9wZW4gPSBpOTE1X2Rpc3BsYXlwb3J0 X3Rlc3RfZGF0YV9vcGVuLAorCS5yZWFkID0gc2VxX3JlYWQsCisJLmxsc2VlayA9IHNlcV9sc2Vl aywKKwkucmVsZWFzZSA9IHNpbmdsZV9yZWxlYXNlCit9OworCitzdGF0aWMgaW50IGk5MTVfZGlz cGxheXBvcnRfdGVzdF90eXBlX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQor eworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBtLT5wcml2YXRlOworCXN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3I7CisJc3RydWN0IGxpc3RfaGVhZCAqY29ubmVjdG9yX2xpc3QgPSAm ZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdDsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwOworCisJaWYgKCFkZXYpCisJCXJldHVybiAtRU5PREVWOworCisJbGlzdF9mb3JfZWFjaF9l bnRyeShjb25uZWN0b3IsIGNvbm5lY3Rvcl9saXN0LCBoZWFkKSB7CisKKwkJaWYgKGNvbm5lY3Rv ci0+Y29ubmVjdG9yX3R5cGUgIT0KKwkJICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9y dCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChjb25uZWN0b3ItPnN0YXR1cyA9PSBjb25uZWN0b3Jf c3RhdHVzX2Nvbm5lY3RlZCAmJgorCQkgICAgY29ubmVjdG9yLT5lbmNvZGVyICE9IE5VTEwpIHsK KwkJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7CisJCQlz ZXFfcHJpbnRmKG0sICIlMDJ4IiwgaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdF90eXBlKTsKKwkJ fSBlbHNlCisJCQlzZXFfcHV0cyhtLCAiMCIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0 aWMgaW50IGk5MTVfZGlzcGxheXBvcnRfdGVzdF90eXBlX29wZW4oc3RydWN0IGlub2RlICppbm9k ZSwKKwkJCQkgICAgICAgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGlub2RlLT5pX3ByaXZhdGU7CisKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgaTkx NV9kaXNwbGF5cG9ydF90ZXN0X3R5cGVfc2hvdywgZGV2KTsKK30KKworc3RhdGljIGNvbnN0IHN0 cnVjdCBmaWxlX29wZXJhdGlvbnMgaTkxNV9kaXNwbGF5cG9ydF90ZXN0X3R5cGVfZm9wcyA9IHsK Kwkub3duZXIgPSBUSElTX01PRFVMRSwKKwkub3BlbiA9IGk5MTVfZGlzcGxheXBvcnRfdGVzdF90 eXBlX29wZW4sCisJLnJlYWQgPSBzZXFfcmVhZCwKKwkubGxzZWVrID0gc2VxX2xzZWVrLAorCS5y ZWxlYXNlID0gc2luZ2xlX3JlbGVhc2UKK307CisKIHN0YXRpYyB2b2lkIHdtX2xhdGVuY3lfc2hv dyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGNvbnN0IHVpbnQxNl90IHdtWzhdKQogewogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBtLT5wcml2YXRlOwpAQCAtNDQ1MCw2ICs0NjU1LDkgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBpOTE1X2RlYnVnZnNfZmlsZXMgewogCXsiaTkxNV9zcHJfd21fbGF0ZW5j eSIsICZpOTE1X3Nwcl93bV9sYXRlbmN5X2ZvcHN9LAogCXsiaTkxNV9jdXJfd21fbGF0ZW5jeSIs ICZpOTE1X2N1cl93bV9sYXRlbmN5X2ZvcHN9LAogCXsiaTkxNV9mYmNfZmFsc2VfY29sb3IiLCAm aTkxNV9mYmNfZmNfZm9wc30sCisJeyJpOTE1X2RwX3Rlc3RfZGF0YSIsICZpOTE1X2Rpc3BsYXlw b3J0X3Rlc3RfZGF0YV9mb3BzfSwKKwl7Imk5MTVfZHBfdGVzdF90eXBlIiwgJmk5MTVfZGlzcGxh eXBvcnRfdGVzdF90eXBlX2ZvcHN9LAorCXsiaTkxNV9kcF90ZXN0X2FjdGl2ZSIsICZpOTE1X2Rp c3BsYXlwb3J0X3Rlc3RfYWN0aXZlX2ZvcHN9CiB9OwogCiB2b2lkIGludGVsX2Rpc3BsYXlfY3Jj X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=