From mboxrd@z Thu Jan 1 00:00:00 1970 From: Todd Previte Subject: [PATCH 07/17] drm/i915: Add and implement the debugfs 'show' functions for Displayport compliance Date: Wed, 10 Dec 2014 16:53:07 -0700 Message-ID: <1418255597-4716-8-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-pd0-f179.google.com (mail-pd0-f179.google.com [209.85.192.179]) by gabe.freedesktop.org (Postfix) with ESMTP id B4EB16E706 for ; Wed, 10 Dec 2014 15:54:07 -0800 (PST) Received: by mail-pd0-f179.google.com with SMTP id fp1so3730816pdb.24 for ; Wed, 10 Dec 2014 15:54:07 -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 bmNlIHRlc3RpbmciLiBUaGlzIHBhdGNoIGltcGxlbWVudHMKdGhlICdzaG93JyBmdW5jdGlvbnMg Zm9yIHRoZSBkZWJ1Z2ZzIGludGVyZmFjZSBmb3IgRGlzcGxheXBvcnQgY29tcGxpYW5jZQp0ZXN0 aW5nLgoKU2lnbmVkLW9mZi1ieTogVG9kZCBQcmV2aXRlIDx0cHJldml0ZUBnbWFpbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCA4NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggY2UwOTFjMS4uMTg0Nzk3ZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTM2OTQsNiArMzY5NCw1NiBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBpOTE1X2Rpc3BsYXlfY3JjX2N0bF9m b3BzID0gewogCS53cml0ZSA9IGRpc3BsYXlfY3JjX2N0bF93cml0ZQogfTsKIAorc3RhdGljIHZv aWQgZGlzcGxheXBvcnRfc2hvd19jb25maWdfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCisJCQkg IHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IGludGVsX2Nvbm5lY3Rvci0+ZW5jb2RlcjsKKwlz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwOworCXN0cnVjdCBpbnRlbF9jcnRjICppY3J0YzsKKwlz dHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcgKmNydGNfY29uZmlnOworCWNoYXIgKmNvbm5fbmFtZSA9 IGludGVsX2Nvbm5lY3Rvci0+YmFzZS5uYW1lOworCWludCBwaXBlX2JwcCwgaHJlcywgdnJlczsK Kwl1aW50OF90IHZzWzRdLCBwZVs0XTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsK KwlpbnQgaSA9IDA7CisKKwlpZiAoaW50ZWxfZW5jb2RlcikgeworCQlpbnRlbF9kcCA9IGVuY190 b19pbnRlbF9kcCgmaW50ZWxfZW5jb2Rlci0+YmFzZSk7CisJCWZvciAoaSA9IDA7IGkgPCBpbnRl bF9kcC0+bGFuZV9jb3VudDsgaSsrKSB7CisJCQl2c1tpXSA9IGludGVsX2RwLT50cmFpbl9zZXRb aV0KKwkJCQkmIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTUFTSzsKKwkJCXBlW2ldID0gKGludGVs X2RwLT50cmFpbl9zZXRbaV0KKwkJCSAgICAgICYgRFBfVFJBSU5fUFJFX0VNUEhBU0lTX01BU0sp ID4+IDM7CisJCX0KKwkJaWYgKGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RJ U1BMQVlQT1JUKSB7CisJCQlpZiAoaW50ZWxfZW5jb2Rlci0+bmV3X2NydGMpIHsKKwkJCQljcnRj X2NvbmZpZyA9ICZpbnRlbF9lbmNvZGVyLT5uZXdfY3J0Yy0+Y29uZmlnOworCQkJCXBpcGVfYnBw ID0gY3J0Y19jb25maWctPnBpcGVfYnBwOworCQkJCW1vZGUgPSAmY3J0Y19jb25maWctPmFkanVz dGVkX21vZGU7CisJCQkJaHJlcyA9IG1vZGUtPmhkaXNwbGF5OworCQkJCXZyZXMgPSBtb2RlLT52 ZGlzcGxheTsKKwkJCX0gZWxzZSBpZiAoaW50ZWxfZW5jb2Rlci0+YmFzZS5jcnRjKSB7CisJCQkJ aWNydGMgPSB0b19pbnRlbF9jcnRjKGludGVsX2VuY29kZXItPmJhc2UuY3J0Yyk7CisJCQkJcGlw ZV9icHAgPSBpY3J0Yy0+Y29uZmlnLnBpcGVfYnBwOworCQkJCW1vZGUgPSAmaWNydGMtPmNvbmZp Zy5hZGp1c3RlZF9tb2RlOworCQkJCWhyZXMgPSBtb2RlLT5oZGlzcGxheTsKKwkJCQl2cmVzID0g bW9kZS0+dmRpc3BsYXk7CisJCQl9IGVsc2UgeworCQkJCXBpcGVfYnBwID0gMDsKKwkJCQlocmVz ID0gdnJlcyA9IDA7CisJCQl9CisJCQlzZXFfcHJpbnRmKG0sIERQX0NPTkZfU1RSX0NPTk5FQ1RP UiwgY29ubl9uYW1lKTsKKwkJCXNlcV9wcmludGYobSwgRFBfQ09ORl9TVFJfTElOS1JBVEUsIGlu dGVsX2RwLT5saW5rX2J3KTsKKwkJCXNlcV9wcmludGYobSwgRFBfQ09ORl9TVFJfTEFORVMsIGlu dGVsX2RwLT5sYW5lX2NvdW50KTsKKwkJCXNlcV9wcmludGYobSwgRFBfQ09ORl9TVFJfVlNXSU5H LCB2c1swXSk7CisJCQlzZXFfcHJpbnRmKG0sIERQX0NPTkZfU1RSX1BSRUVNUCwgcGVbMF0pOwor CQkJc2VxX3ByaW50ZihtLCBEUF9DT05GX1NUUl9IUkVTLCBocmVzKTsKKwkJCXNlcV9wcmludGYo bSwgRFBfQ09ORl9TVFJfVlJFUywgdnJlcyk7CisJCQlzZXFfcHJpbnRmKG0sIERQX0NPTkZfU1RS X0JQUCwgcGlwZV9icHApOworCQl9CisJfQorfQorCiBlbnVtIGRwX2NvbmZpZ19wYXJhbSBkaXNw bGF5cG9ydF9nZXRfY29uZmlnX3BhcmFtX3R5cGUoY2hhciAqaW5wdXRfc3RyaW5nKQogewogCWVu dW0gZHBfY29uZmlnX3BhcmFtIHBhcmFtX3R5cGUgPSBEUF9DT05GSUdfUEFSQU1fSU5WQUxJRDsK QEAgLTM3NDIsNiArMzc5Miw0MSBAQCBpbnQgdmFsdWVfZm9yX2NvbmZpZ19wYXJhbShlbnVtIGRw X2NvbmZpZ19wYXJhbSBwYXJhbSwKIAlyZXR1cm4gc3RhdHVzOwogfQogCitzdGF0aWMgaW50IGRp c3BsYXlwb3J0X2NvbmZpZ19jdGxfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEp Cit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG0tPnByaXZhdGU7CisJc3RydWN0IGRybV9j b25uZWN0b3IgKmRybV9jb25uZWN0b3I7CisJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7 CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCisJaWYgKCFkZXYpCisJCXJl dHVybiAtRU5PREVWOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShkcm1fY29ubmVjdG9yLAorCQkJ ICAgICZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0LAorCQkJICAgIGhlYWQpIHsKKwkJ Y29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGRybV9jb25uZWN0b3IpOworCQllbmNvZGVy ID0gY29ubmVjdG9yLT5lbmNvZGVyOworCQlpZiAoZHJtX2Nvbm5lY3Rvci0+Y29ubmVjdG9yX3R5 cGUgPT0KKwkJICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCkgeworCQkJaWYgKGVu Y29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUIHx8CisJCQkgICAgZW5jb2Rl ci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfVU5LTk9XTikgeworCQkJCWlmIChkcm1fY29ubmVjdG9y LT5zdGF0dXMgPT0KKwkJCQkgICAgY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQpIHsKKwkJCQkJ ZGlzcGxheXBvcnRfc2hvd19jb25maWdfaW5mbyhtLAorCQkJCQkJCQkgICAgIGNvbm5lY3Rvcik7 CisJCQkJfSBlbHNlIHsKKwkJCQkJc2VxX3ByaW50ZihtLCBEUF9DT05GX1NUUl9DT05ORUNUT1Is CisJCQkJCQkgICBlbmNvZGVyLT5iYXNlLm5hbWUpOworCQkJCQlzZXFfcHV0cyhtLCAiZGlzY29u bmVjdGVkXG4iKTsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3Rh dGljIGludCBkaXNwbGF5cG9ydF9jb25maWdfY3RsX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwK IAkJCQkgICAgICAgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0tIAoxLjkuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK