From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: [PATCH 09/17] drm/i915: Add config parsing utilities in debugfs for Displayport compliance Date: Wed, 10 Dec 2014 16:53:09 -0700 Message-ID: <1418255597-4716-10-git-send-email-tprevite@gmail.com> References: <1418255597-4716-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-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by gabe.freedesktop.org (Postfix) with ESMTP id AC4B16E709 for ; Wed, 10 Dec 2014 15:54:11 -0800 (PST) Received: by mail-pa0-f45.google.com with SMTP id lf10so3195679pab.4 for ; Wed, 10 Dec 2014 15:54:11 -0800 (PST) In-Reply-To: <1418255597-4716-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 VGhpcyBwYXRjaCB3YXMgcHJldmlvdXNseSBwYXJ0IG9mICJbUEFUQ0ggMDUvMTBdIGRybS9pOTE1 OiBBZGQgZGVidWdmcwppbnRlcmZhY2UgZm9yIERpc3BsYXlwb3J0IGRlYnVnIGFuZCBjb21wbGlh bmNlIHRlc3RpbmciLiBUaGlzIHBhdGNoIGFkZHMgdHdvCmZ1bmN0aW9ucyB0byBoYW5kbGUgcGFy c2luZyBvZiBEaXNwbGF5cG9ydCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGFzIGl0CmZvcm1h dHRlZCBpbiB0aGUgZGVidWdmcyBmaWxlLiBJdCBpcyB1c2VkIHRvIHByb2Nlc3MgaW5jb21pbmcg Y29uZmlndXJhdGlvbgpjaGFuZ2VzIGZyb20gdGhlIHVzZXJzcGFjZSBjb21wbGlhbmNlIGFwcGxp Y2F0aW9uIGR1cmluZyB0ZXN0aW5nLgoKU2lnbmVkLW9mZi1ieTogVG9kZCBQcmV2aXRlIDx0cHJl dml0ZUBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMg fCAxMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMTI4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4 IDE4NDc5N2QuLjU1YjZkYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0z NzkyLDYgKzM3OTIsMTM0IEBAIGludCB2YWx1ZV9mb3JfY29uZmlnX3BhcmFtKGVudW0gZHBfY29u ZmlnX3BhcmFtIHBhcmFtLAogCXJldHVybiBzdGF0dXM7CiB9CiAKK2ludCB0b2tlbml6ZV9kcF9j b25maWcoY2hhciAqaW5wdXRfYnVmZmVyLCBjaGFyICpvdXRwdXRbXSkKK3sKKwljaGFyICpiYXNl ID0gaW5wdXRfYnVmZmVyLCAqaW5kZXgsICplbmQ7CisJaW50IGxpbmVfY291bnQgPSAwOworCWlu dCBpID0gMCwgbGVuID0gMDsKKwlpbnQgZG9uZSA9IDA7CisKKwlpZiAoIWlucHV0X2J1ZmZlcikK KwkJcmV0dXJuIDA7CisKKwl3aGlsZSAoIWRvbmUpIHsKKwkJaW5kZXggPSBzdHJwYnJrKGJhc2Us ICI6Iik7CisJCWlmIChpbmRleCkgeworCQkJbGVuID0gaW5kZXggLSBiYXNlOworCQkJKmluZGV4 ID0gJ1wwJzsKKwkJCWluZGV4Kys7CisJCQkvKiBTYXZlIHRoZSB0eXBlIHN0cmluZyAqLworCQkJ b3V0cHV0W2ldID0gYmFzZTsKKwkJCWkrKzsKKwkJCWxpbmVfY291bnQrKzsKKwkJCWVuZCA9IHN0 cnBicmsoaW5kZXgsICJcblwwIik7CisJCQlpZiAoZW5kKSB7CisJCQkJKmVuZCA9ICdcMCc7CisJ CQkJLyogRWF0IHVwIHdoaXRlc3BhY2UgKi8KKwkJCQl3aGlsZSAoKmluZGV4IDw9IDB4MjApCisJ CQkJCWluZGV4Kys7CisJCQkJb3V0cHV0W2ldID0gaW5kZXg7CisJCQkJaSsrOworCQkJCWxpbmVf Y291bnQrKzsKKwkJCX0gZWxzZQorCQkJCWRvbmUgPSAxOworCQkJLyogTW92ZSB0byB0aGUgbmV4 dCBzZWN0aW9uIG9mIHRoZSBzdHJpbmcgKi8KKwkJCWJhc2UgPSBlbmQgKyAxOworCQl9IGVsc2UK KwkJCWRvbmUgPSAxOworCX0KKwlyZXR1cm4gbGluZV9jb3VudDsKK30KKworc3RhdGljIGludCBk aXNwbGF5cG9ydF9wYXJzZV9jb25maWcoY2hhciAqaW5wdXRfYnVmZmVyLAorCQkJCSAgICBzc2l6 ZV90IGJ1ZmZlcl9zaXplLAorCQkJCSAgICBzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQorewor CWludCBzdGF0dXMgPSAwOworCWNoYXIgKmxpbmVzW01BWF9EUF9DT05GSUdfTElORV9DT1VOVF07 CisJaW50IGkgPSAwOworCXN0cnVjdCBkcF9jb25maWcgcGFybXNbRFBfUEFSQU1FVEVSX0NPVU5U XTsKKwlpbnQgbGluZV9jb3VudCA9IDA7CisJY2hhciAqYnVmZmVyID0gaW5wdXRfYnVmZmVyOwor CWVudW0gZHBfY29uZmlnX3BhcmFtIHBhcm1fdHlwZTsKKwl1bnNpZ25lZCBsb25nIHBhcm1fdmFs dWU7CisKKwlsaW5lX2NvdW50ID0gdG9rZW5pemVfZHBfY29uZmlnKGJ1ZmZlciwgbGluZXMpOwor CisJaWYgKGxpbmVfY291bnQgPT0gMCkgeworCQlEUk1fREVCVUdfRFJJVkVSKCJObyBsaW5lcyB0 byBwcm9jZXNzXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGxpbmVf Y291bnQ7IGkgKz0gMikgeworCQlwYXJtX3R5cGUgPSBkaXNwbGF5cG9ydF9nZXRfY29uZmlnX3Bh cmFtX3R5cGUobGluZXNbaV0pOworCQlpZiAocGFybV90eXBlICE9IERQX0NPTkZJR19QQVJBTV9J TlZBTElEKSB7CisJCQlzdGF0dXMgPSB2YWx1ZV9mb3JfY29uZmlnX3BhcmFtKHBhcm1fdHlwZSwK KwkJCQkJCQlsaW5lc1tpKzFdLAorCQkJCQkJCSZwYXJtX3ZhbHVlKTsKKwkJCWlmIChzdGF0dXMg PT0gMCkgeworCQkJCXBhcm1zW3Bhcm1fdHlwZV0udHlwZSA9IHBhcm1fdHlwZTsKKwkJCQlwYXJt c1twYXJtX3R5cGVdLnZhbHVlID0gcGFybV92YWx1ZTsKKwkJCX0KKwkJfQorCX0KKworCWlmIChw YXJtc1tEUF9DT05GSUdfUEFSQU1fTElOS19SQVRFXS52YWx1ZSA9PSAweDA2IHx8CisJICAgIHBh cm1zW0RQX0NPTkZJR19QQVJBTV9MSU5LX1JBVEVdLnZhbHVlID09IDB4MGEgfHwKKwkgICAgcGFy bXNbRFBfQ09ORklHX1BBUkFNX0xJTktfUkFURV0udmFsdWUgPT0gMHgxNCkgeworCQlpbnRlbF9k cC0+Y29tcGxpYW5jZV9jb25maWcubGlua19yYXRlID0KKwkJCXBhcm1zW0RQX0NPTkZJR19QQVJB TV9MSU5LX1JBVEVdLnZhbHVlOworCX0gZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChw YXJtc1tEUF9DT05GSUdfUEFSQU1fTEFORV9DT1VOVF0udmFsdWUgPT0gMHgwMSB8fAorCSAgICBw YXJtc1tEUF9DT05GSUdfUEFSQU1fTEFORV9DT1VOVF0udmFsdWUgPT0gMHgwMiB8fAorCSAgICBw YXJtc1tEUF9DT05GSUdfUEFSQU1fTEFORV9DT1VOVF0udmFsdWUgPT0gMHgwNCkgeworCQlpbnRl bF9kcC0+Y29tcGxpYW5jZV9jb25maWcubGFuZV9jb3VudCA9CisJCQlwYXJtc1tEUF9DT05GSUdf UEFSQU1fTEFORV9DT1VOVF0udmFsdWU7CisJfSBlbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJ aWYgKHBhcm1zW0RQX0NPTkZJR19QQVJBTV9WT0xUQUdFX1NXSU5HXS52YWx1ZSA8PSAweDAzICYm CisJICAgIHBhcm1zW0RQX0NPTkZJR19QQVJBTV9WT0xUQUdFX1NXSU5HXS52YWx1ZSA+PSAweDAw KSB7CisJCWludGVsX2RwLT5jb21wbGlhbmNlX2NvbmZpZy52c3dpbmdfbGV2ZWwgPQorCQkJcGFy bXNbRFBfQ09ORklHX1BBUkFNX1ZPTFRBR0VfU1dJTkddLnZhbHVlOworCX0gZWxzZQorCQlyZXR1 cm4gLUVJTlZBTDsKKworCWlmIChwYXJtc1tEUF9DT05GSUdfUEFSQU1fUFJFRU1QSEFTSVNdLnZh bHVlIDw9IDB4MDMgJiYKKwkgICAgcGFybXNbRFBfQ09ORklHX1BBUkFNX1BSRUVNUEhBU0lTXS52 YWx1ZSA+PSAweDAwKSB7CisJCWludGVsX2RwLT5jb21wbGlhbmNlX2NvbmZpZy5wcmVlbXBfbGV2 ZWwgPQorCQkJcGFybXNbRFBfQ09ORklHX1BBUkFNX1BSRUVNUEhBU0lTXS52YWx1ZTsKKwl9IGVs c2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAocGFybXNbRFBfQ09ORklHX1BBUkFNX0JQUF0u dmFsdWUgPT0gMTggfHwKKwkgICAgcGFybXNbRFBfQ09ORklHX1BBUkFNX0JQUF0udmFsdWUgPT0g MjQgfHwKKwkgICAgcGFybXNbRFBfQ09ORklHX1BBUkFNX0JQUF0udmFsdWUgPT0gMzAgfHwKKwkg ICAgcGFybXNbRFBfQ09ORklHX1BBUkFNX0JQUF0udmFsdWUgPT0gMzYpIHsKKwkJaW50ZWxfZHAt PmNvbXBsaWFuY2VfY29uZmlnLmJpdHNfcGVyX3BpeGVsID0KKwkJCXBhcm1zW0RQX0NPTkZJR19Q QVJBTV9QUkVFTVBIQVNJU10udmFsdWU7CisJfSBlbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJ aWYgKHBhcm1zW0RQX0NPTkZJR19QQVJBTV9IUkVTXS52YWx1ZSA+IDAgJiYKKwkgICAgcGFybXNb RFBfQ09ORklHX1BBUkFNX0hSRVNdLnZhbHVlIDw9IDgxOTIpIHsKKwkJaW50ZWxfZHAtPmNvbXBs aWFuY2VfY29uZmlnLmhyZXMgPQorCQkJcGFybXNbRFBfQ09ORklHX1BBUkFNX0hSRVNdLnZhbHVl OworCX0gZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChwYXJtc1tEUF9DT05GSUdfUEFS QU1fVlJFU10udmFsdWUgPiAwICYmCisJICAgIHBhcm1zW0RQX0NPTkZJR19QQVJBTV9WUkVTXS52 YWx1ZSA8PSA4MTkyKSB7CisJCWludGVsX2RwLT5jb21wbGlhbmNlX2NvbmZpZy52cmVzID0KKwkJ CXBhcm1zW0RQX0NPTkZJR19QQVJBTV9WUkVTXS52YWx1ZTsKKwl9IGVsc2UKKwkJcmV0dXJuIC1F SU5WQUw7CisKKwlyZXR1cm4gc3RhdHVzOworfQorCiBzdGF0aWMgaW50IGRpc3BsYXlwb3J0X2Nv bmZpZ19jdGxfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IG0tPnByaXZhdGU7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK