From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: [PATCH 08/11] drm/i915: Add debugfs test control files for Displayport compliance testing Date: Wed, 1 Apr 2015 11:12:56 -0700 Message-ID: <1427911976-20833-1-git-send-email-tprevite@gmail.com> References: <1427822106-29617-9-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-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by gabe.freedesktop.org (Postfix) with ESMTP id 231AC6E8F2 for ; Wed, 1 Apr 2015 11:13:06 -0700 (PDT) Received: by padcy3 with SMTP id cy3so59116624pad.3 for ; Wed, 01 Apr 2015 11:13:06 -0700 (PDT) In-Reply-To: <1427822106-29617-9-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 b3NlIHBhdGNoZXMgd2VyZToKCi0gW1BBVENIIDA0LzE3XSBkcm0vaTkxNTogQWRkIGRlYnVnZnMg ZnVuY3Rpb25zIGZvciBEaXNwbGF5cG9ydAoJCQkgIGNvbXBsaWFuY2UgdGVzdGluZwotIFtQQVRD SCAwOC8xN10gZHJtL2k5MTU6IEFkZCBuZXcgZGVidWdmcyBmaWxlIGZvciBEaXNwbGF5cG9ydAoJ CQkgIGNvbXBsaWFuY2UgdGVzdCBjb250cm9sCi0gW1BBVENIIDA5LzE3XSBkcm0vaTkxNTogQWRk IGRlYnVnZnMgd3JpdGUgYW5kIHRlc3QgcGFyYW0gcGFyc2luZwoJCQkgIGZ1bmN0aW9ucyBmb3Ig RFAgdGVzdCBjb250cm9sCgpUaGlzIG5ldyBwYXRjaCBzaW1wbGlmaWVzIHRoZSBkZWJ1Z2ZzIGlt cGxlbWVudGF0aW9uIGJ5IHBsYWNlcyBhIHNpbmdsZQp0ZXN0IGNvbnRyb2wgdmFsdWUgaW50byBh biBpbmRpdmlkdWFsIGZpbGUuIEVhY2ggZmlsZSBpcyByZWFkYWJsZSBieQp0aGUgdXNlcnNhcGNl IGFwcGxpY2F0aW9uIGFuZCB0aGUgdGVzdF9hY3RpdmUgZmlsZSBpcyB3cml0YWJsZSB0bwppbmRp Y2F0ZSB0byB0aGUga2VybmVsIHdoZW4gdXNlcnNwYWNlIGhhcyBjb21wbGV0ZWQgaXRzIHBvcnRp b24gb2YgdGhlCnRlc3Qgc2VxdWVuY2UuCgpSZXBsYWNpbmcgdGhlIHByZXZpb3VzIGZpbGVzIHNp bXBsaWZpZXMgb3BlcmF0aW9uIGFuZCBzcGVlZHMgcmVzcG9uc2UKdGltZSBmb3IgdGhlIHVzZXIg YXBwLCBhcyBpdCBpcyByZXF1aXJlZCB0byBwb2xsIG9uIHRoZSB0ZXN0X2FjdGl2ZSBmaWxlCmlu IG9yZGVyIHRvIGRldGVybWluZSB3aGVuIGl0IG5lZWRzIHRvIGJlZ2luIGl0cyBvcGVyYXRpb25z LgoKU2lnbmVkLW9mZi1ieTogVG9kZCBQcmV2aXRlIDx0cHJldml0ZUBnbWFpbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCAyMDggKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjA4IGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IGIzMTVmMDEuLjE4Nzc1ZWYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0zNzAxLDYgKzM3MDEsMjExIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGk5MTVfZGlzcGxheV9jcmNfY3RsX2Zv cHMgPSB7CiAJLndyaXRlID0gZGlzcGxheV9jcmNfY3RsX3dyaXRlCiB9OwogCitzdGF0aWMgc3Np emVfdCBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfYWN0aXZlX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxl LAorCQkJCQkgICAgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCQkJCSAgICBzaXplX3QgbGVu LCBsb2ZmX3QgKm9mZnApCit7CisJY2hhciAqaW5wdXRfYnVmZmVyOworCWludCBzdGF0dXMgPSAw OworCXN0cnVjdCBzZXFfZmlsZSAqbTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2OworCXN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CisJc3RydWN0IGxpc3RfaGVhZCAqY29ubmVjdG9y X2xpc3Q7CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcDsKKwlpbnQgdmFsID0gMDsKKworCW0g PSBmaWxlLT5wcml2YXRlX2RhdGE7CisJaWYgKCFtKSB7CisJCXN0YXR1cyA9IC1FTk9ERVY7CisJ CXJldHVybiBzdGF0dXM7CisJfQorCWRldiA9IG0tPnByaXZhdGU7CisKKwlpZiAoIWRldikgewor CQlzdGF0dXMgPSAtRU5PREVWOworCQlyZXR1cm4gc3RhdHVzOworCX0KKwljb25uZWN0b3JfbGlz dCA9ICZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0OworCisJaWYgKGxlbiA9PSAwKQor CQlyZXR1cm4gMDsKKworCWlucHV0X2J1ZmZlciA9IGttYWxsb2MobGVuICsgMSwgR0ZQX0tFUk5F TCk7CisJaWYgKCFpbnB1dF9idWZmZXIpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKGNvcHlf ZnJvbV91c2VyKGlucHV0X2J1ZmZlciwgdWJ1ZiwgbGVuKSkgeworCQlzdGF0dXMgPSAtRUZBVUxU OworCQlnb3RvIG91dDsKKwl9CisKKwlpbnB1dF9idWZmZXJbbGVuXSA9ICdcMCc7CisJRFJNX0RF QlVHX0RSSVZFUigiQ29waWVkICVkIGJ5dGVzIGZyb20gdXNlclxuIiwgKHVuc2lnbmVkIGludCls ZW4pOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShjb25uZWN0b3IsIGNvbm5lY3Rvcl9saXN0LCBo ZWFkKSB7CisKKwkJaWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgIT0KKwkJICAgIERSTV9N T0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChjb25uZWN0 b3ItPmNvbm5lY3Rvcl90eXBlID09CisJCSAgICBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBv cnQgJiYKKwkJICAgIGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVj dGVkKSB7CisJCQlpbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChjb25uZWN0b3ItPmVuY29kZXIp OworCQkJc3RhdHVzID0ga3N0cnRvaW50KGlucHV0X2J1ZmZlciwgMTAsICZ2YWwpOworCQkJaWYg KHN0YXR1cyA8IDApCisJCQkJZ290byBvdXQ7CisJCQlEUk1fREVCVUdfRFJJVkVSKCJHb3QgJWQg Zm9yIHRlc3QgYWN0aXZlXG4iLCB2YWwpOworCQkJLyogVG8gcHJldmVudCBlcnJvbmVvdXMgYWN0 aXZhdGlvbiBvZiB0aGUgY29tcGxpYW5jZQorCQkJICogdGVzdGluZyBjb2RlLCBvbmx5IGFjY2Vw dCBhbiBhY3R1YWwgdmFsdWUgb2YgMSBoZXJlCisJCQkgKi8KKwkJCWlmICh2YWwgPT0gMSkKKwkJ CQlpbnRlbF9kcC0+Y29tcGxpYW5jZV90ZXN0aW5nX2FjdGl2ZSA9IDE7CisJCQllbHNlCisJCQkJ aW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdGluZ19hY3RpdmUgPSAwOworCQl9CisJfQorb3V0Ogor CWtmcmVlKGlucHV0X2J1ZmZlcik7CisJaWYgKHN0YXR1cyA8IDApCisJCXJldHVybiBzdGF0dXM7 CisKKwkqb2ZmcCArPSBsZW47CisJcmV0dXJuIGxlbjsKK30KKworc3RhdGljIGludCBpOTE1X2Rp c3BsYXlwb3J0X3Rlc3RfYWN0aXZlX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRh KQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBtLT5wcml2YXRlOworCXN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3I7CisJc3RydWN0IGxpc3RfaGVhZCAqY29ubmVjdG9yX2xpc3Qg PSAmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdDsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwOworCisJaWYgKCFkZXYpCisJCXJldHVybiAtRU5PREVWOworCisJbGlzdF9mb3JfZWFj aF9lbnRyeShjb25uZWN0b3IsIGNvbm5lY3Rvcl9saXN0LCBoZWFkKSB7CisKKwkJaWYgKGNvbm5l Y3Rvci0+Y29ubmVjdG9yX3R5cGUgIT0KKwkJICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5 UG9ydCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChjb25uZWN0b3ItPnN0YXR1cyA9PSBjb25uZWN0 b3Jfc3RhdHVzX2Nvbm5lY3RlZCAmJgorCQkgICAgY29ubmVjdG9yLT5lbmNvZGVyICE9IE5VTEwp IHsKKwkJCWludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7CisJ CQlpZiAoaW50ZWxfZHAtPmNvbXBsaWFuY2VfdGVzdGluZ19hY3RpdmUpCisJCQkJc2VxX3B1dHMo bSwgIjEiKTsKKwkJCWVsc2UKKwkJCQlzZXFfcHV0cyhtLCAiMCIpOworCQl9IGVsc2UKKwkJCXNl cV9wdXRzKG0sICIwIik7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaTkxNV9k aXNwbGF5cG9ydF90ZXN0X2FjdGl2ZV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJICAg ICAgIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbm9k ZS0+aV9wcml2YXRlOworCisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGk5MTVfZGlzcGxheXBv cnRfdGVzdF9hY3RpdmVfc2hvdywgZGV2KTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxl X29wZXJhdGlvbnMgaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2FjdGl2ZV9mb3BzID0geworCS5vd25l ciA9IFRISVNfTU9EVUxFLAorCS5vcGVuID0gaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2FjdGl2ZV9v cGVuLAorCS5yZWFkID0gc2VxX3JlYWQsCisJLmxsc2VlayA9IHNlcV9sc2VlaywKKwkucmVsZWFz ZSA9IHNpbmdsZV9yZWxlYXNlLAorCS53cml0ZSA9IGk5MTVfZGlzcGxheXBvcnRfdGVzdF9hY3Rp dmVfd3JpdGUKK307CisKK3N0YXRpYyBpbnQgaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2RhdGFfc2hv dyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IG0tPnByaXZhdGU7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlz dHJ1Y3QgbGlzdF9oZWFkICpjb25uZWN0b3JfbGlzdCA9ICZkZXYtPm1vZGVfY29uZmlnLmNvbm5l Y3Rvcl9saXN0OworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHA7CisKKwlpZiAoIWRldikKKwkJ cmV0dXJuIC1FTk9ERVY7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNvbm5lY3RvciwgY29ubmVj dG9yX2xpc3QsIGhlYWQpIHsKKworCQlpZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSAhPQor CQkgICAgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0KQorCQkJY29udGludWU7CisKKwkJ aWYgKGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkICYmCisJ CSAgICBjb25uZWN0b3ItPmVuY29kZXIgIT0gTlVMTCkgeworCQkJaW50ZWxfZHAgPSBlbmNfdG9f aW50ZWxfZHAoY29ubmVjdG9yLT5lbmNvZGVyKTsKKwkJCXNlcV9wcmludGYobSwgIiVseCIsIGlu dGVsX2RwLT5jb21wbGlhbmNlX3Rlc3RfZGF0YSk7CisJCX0gZWxzZQorCQkJc2VxX3B1dHMobSwg IjAiKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KK3N0YXRpYyBpbnQgaTkxNV9kaXNwbGF5cG9ydF90 ZXN0X2RhdGFfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCSAgICAgICBzdHJ1Y3QgZmls ZSAqZmlsZSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW5vZGUtPmlfcHJpdmF0ZTsK KworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfZGF0YV9z aG93LCBkZXYpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBpOTE1 X2Rpc3BsYXlwb3J0X3Rlc3RfZGF0YV9mb3BzID0geworCS5vd25lciA9IFRISVNfTU9EVUxFLAor CS5vcGVuID0gaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2RhdGFfb3BlbiwKKwkucmVhZCA9IHNlcV9y ZWFkLAorCS5sbHNlZWsgPSBzZXFfbHNlZWssCisJLnJlbGVhc2UgPSBzaW5nbGVfcmVsZWFzZQor fTsKKworc3RhdGljIGludCBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfdHlwZV9zaG93KHN0cnVjdCBz ZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbS0+ cHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBsaXN0 X2hlYWQgKmNvbm5lY3Rvcl9saXN0ID0gJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3Q7 CisJc3RydWN0IGludGVsX2RwICppbnRlbF9kcDsKKworCWlmICghZGV2KQorCQlyZXR1cm4gLUVO T0RFVjsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCBjb25uZWN0b3JfbGlzdCwg aGVhZCkgeworCisJCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlICE9CisJCSAgICBEUk1f TU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQpCisJCQljb250aW51ZTsKKworCQlpZiAoY29ubmVj dG9yLT5zdGF0dXMgPT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQgJiYKKwkJICAgIGNvbm5l Y3Rvci0+ZW5jb2RlciAhPSBOVUxMKSB7CisJCQlpbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChj b25uZWN0b3ItPmVuY29kZXIpOworCQkJc2VxX3ByaW50ZihtLCAiJTAyeCIsIGludGVsX2RwLT5j b21wbGlhbmNlX3Rlc3RfdHlwZSk7CisJCX0gZWxzZQorCQkJc2VxX3B1dHMobSwgIjAiKTsKKwl9 CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfdHlw ZV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJICAgICAgIHN0cnVjdCBmaWxlICpmaWxl KQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbm9kZS0+aV9wcml2YXRlOworCisJcmV0 dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGk5MTVfZGlzcGxheXBvcnRfdGVzdF90eXBlX3Nob3csIGRl dik7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGk5MTVfZGlzcGxh eXBvcnRfdGVzdF90eXBlX2ZvcHMgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLm9wZW4g PSBpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfdHlwZV9vcGVuLAorCS5yZWFkID0gc2VxX3JlYWQsCisJ Lmxsc2VlayA9IHNlcV9sc2VlaywKKwkucmVsZWFzZSA9IHNpbmdsZV9yZWxlYXNlCit9OworCiBz dGF0aWMgdm9pZCB3bV9sYXRlbmN5X3Nob3coc3RydWN0IHNlcV9maWxlICptLCBjb25zdCB1aW50 MTZfdCB3bVs4XSkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbS0+cHJpdmF0ZTsKQEAg LTQ0NTAsNiArNDY1NSw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9kZWJ1Z2ZzX2ZpbGVz IHsKIAl7Imk5MTVfc3ByX3dtX2xhdGVuY3kiLCAmaTkxNV9zcHJfd21fbGF0ZW5jeV9mb3BzfSwK IAl7Imk5MTVfY3VyX3dtX2xhdGVuY3kiLCAmaTkxNV9jdXJfd21fbGF0ZW5jeV9mb3BzfSwKIAl7 Imk5MTVfZmJjX2ZhbHNlX2NvbG9yIiwgJmk5MTVfZmJjX2ZjX2ZvcHN9LAorCXsiaTkxNV9kcF90 ZXN0X2RhdGEiLCAmaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2RhdGFfZm9wc30sCisJeyJpOTE1X2Rw X3Rlc3RfdHlwZSIsICZpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfdHlwZV9mb3BzfSwKKwl7Imk5MTVf ZHBfdGVzdF9hY3RpdmUiLCAmaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2FjdGl2ZV9mb3BzfQogfTsK IAogdm9pZCBpbnRlbF9kaXNwbGF5X2NyY19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCi0t IAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK