From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v3 21/23] drm/i915: Add state verification for the TypeC port mode Date: Fri, 28 Jun 2019 17:36:33 +0300 Message-ID: <20190628143635.22066-22-imre.deak@intel.com> References: <20190628143635.22066-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 08D636E94B for ; Fri, 28 Jun 2019 14:37:23 +0000 (UTC) In-Reply-To: <20190628143635.22066-1-imre.deak@intel.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 QWRkIHN0YXRlIHZlcmlmaWNhdGlvbiBmb3IgdGhlIFR5cGVDIHBvcnQgbW9kZSB3cnQuIHRoZSBw b3J0J3MgQVVYIHBvd2VyCndlbGwgZW5hYmxpbmcvZGlzYWJsaW5nLiBBbHNvIGNoZWNrIHRoZSBj b3JyZWN0bmVzcyBvZiBjaGFuZ2luZyB0aGUgcG9ydAptb2RlOgotIFdoZW4gZW5hYmxpbmcvZGlz YWJsaW5nIHRoZSBBVVggcG93ZXIgd2VsbCBmb3IgYSBUeXBlQyBwb3J0IHdlIG11c3QgaG9sZAog IHRoZSBUeXBlQyBwb3J0IGxvY2sgLSB0aGUgY2FzZSBmb3IgQVVYIHRyYW5zZmVycyAtIG9yIGhv bGQgYSBUeXBlIEMKICBwb3J0IGxpbmsgcmVmZXJlbmNlIC0gdGhlIGNhc2UgZm9yIG1vZGVzZXQg ZW5hYmxpbmcvZGlzYWJsaW5nLgotIFdoZW4gY2hhbmdpbmcgdGhlIFR5cGVDIHBvcnQgbW9kZSB0 aGUgcG9ydCdzIEFVWCBwb3dlciBkb21haW4gbXVzdCBiZQogIGRpc2FibGVkLgoKdjI6IChWaWxs ZSkKLSBTaW1wbGlmeSBwb3dlcl93ZWxsX2FzeW5jX3JlZl9jb3VudCgpLgotIEZpeCB0aGUgY29t bWl0IGxvZywgY2xhcmlmeWluZyB3aGF0IGFyZSB0aGUgdmFsaWQgY29uZGl0aW9ucyB0bwogIGVu YWJsZS9kaXNhYmxlIHRoZSBBVVggcG93ZXIgd2VsbHMuCgpDYzogSm9zw6kgUm9iZXJ0byBkZSBT b3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+CkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2 aUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNv bT4KUmV2aWV3ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Ci0tLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jICAg IHwgOTUgKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF90Yy5jICAgICAgIHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF90Yy5oICAgICAgIHwgMTAgKy0KIDMgZmlsZXMgY2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwg OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXlfcG93ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheV9wb3dlci5jCmluZGV4IGZkMTNjZDY4ZGVhZS4uODZhMzgxMTZkYzNhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIu YwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgImludGVsX2Rydi5oIgogI2luY2x1ZGUgImlu dGVsX2hvdHBsdWcuaCIKICNpbmNsdWRlICJpbnRlbF9zaWRlYmFuZC5oIgorI2luY2x1ZGUgImlu dGVsX3RjLmgiCiAKIGJvb2wgaW50ZWxfZGlzcGxheV9wb3dlcl93ZWxsX2lzX2VuYWJsZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkgZW51bSBpOTE1X3Bvd2VyX3dl bGxfaWQgcG93ZXJfd2VsbF9pZCk7CkBAIC00NDcsMjYgKzQ0OCwxMDYgQEAgaWNsX2NvbWJvX3Bo eV9hdXhfcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKICNkZWZpbmUgSUNMX1RCVF9BVVhfUFdfVE9fQ0gocHdfaWR4KQlcCiAJKChwd19pZHgpIC0g SUNMX1BXX0NUTF9JRFhfQVVYX1RCVDEgKyBBVVhfQ0hfQykKIAorc3RhdGljIGVudW0gYXV4X2No IGljbF90Y19waHlfYXV4X2NoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJ CQkgICAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCit7CisJaW50IHB3X2lk eCA9IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5pZHg7CisKKwlyZXR1cm4gcG93ZXJfd2VsbC0+ZGVz Yy0+aHN3LmlzX3RjX3RidCA/IElDTF9UQlRfQVVYX1BXX1RPX0NIKHB3X2lkeCkgOgorCQkJCQkJ IElDTF9BVVhfUFdfVE9fQ0gocHdfaWR4KTsKK30KKworI2lmIElTX0VOQUJMRUQoQ09ORklHX0RS TV9JOTE1X0RFQlVHX1JVTlRJTUVfUE0pCisKK3N0YXRpYyB1NjQgYXN5bmNfcHV0X2RvbWFpbnNf bWFzayhzdHJ1Y3QgaTkxNV9wb3dlcl9kb21haW5zICpwb3dlcl9kb21haW5zKTsKKworc3RhdGlj IGludCBwb3dlcl93ZWxsX2FzeW5jX3JlZl9jb3VudChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCisJCQkJICAgICAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCkK K3sKKwlpbnQgcmVmcyA9IGh3ZWlnaHQ2NChwb3dlcl93ZWxsLT5kZXNjLT5kb21haW5zICYKKwkJ CSAgICAgYXN5bmNfcHV0X2RvbWFpbnNfbWFzaygmZGV2X3ByaXYtPnBvd2VyX2RvbWFpbnMpKTsK KworCVdBUk5fT04ocmVmcyA+IHBvd2VyX3dlbGwtPmNvdW50KTsKKworCXJldHVybiByZWZzOwor fQorCitzdGF0aWMgdm9pZCBpY2xfdGNfcG9ydF9hc3NlcnRfcmVmX2hlbGQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCQlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dl cl93ZWxsKQoreworCWVudW0gYXV4X2NoIGF1eF9jaCA9IGljbF90Y19waHlfYXV4X2NoKGRldl9w cml2LCBwb3dlcl93ZWxsKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9 IE5VTEw7CisJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7CisKKwkvKiBCeXBhc3MgdGhl IGNoZWNrIGlmIGFsbCByZWZlcmVuY2VzIGFyZSByZWxlYXNlZCBhc3luY2hyb25vdXNseSAqLwor CWlmIChwb3dlcl93ZWxsX2FzeW5jX3JlZl9jb3VudChkZXZfcHJpdiwgcG93ZXJfd2VsbCkgPT0K KwkgICAgcG93ZXJfd2VsbC0+Y291bnQpCisJCXJldHVybjsKKworCWF1eF9jaCA9IGljbF90Y19w aHlfYXV4X2NoKGRldl9wcml2LCBwb3dlcl93ZWxsKTsKKworCWZvcl9lYWNoX2ludGVsX2VuY29k ZXIoJmRldl9wcml2LT5kcm0sIGVuY29kZXIpIHsKKwkJaWYgKCFpbnRlbF9wb3J0X2lzX3RjKGRl dl9wcml2LCBlbmNvZGVyLT5wb3J0KSkKKwkJCWNvbnRpbnVlOworCisJCS8qIFdlJ2xsIGNoZWNr IHRoZSBNU1QgcHJpbWFyeSBwb3J0ICovCisJCWlmIChlbmNvZGVyLT50eXBlID09IElOVEVMX09V VFBVVF9EUF9NU1QpCisJCQljb250aW51ZTsKKworCQlkaWdfcG9ydCA9IGVuY190b19kaWdfcG9y dCgmZW5jb2Rlci0+YmFzZSk7CisJCWlmIChXQVJOX09OKCFkaWdfcG9ydCkpCisJCQljb250aW51 ZTsKKworCQlpZiAoZGlnX3BvcnQtPmF1eF9jaCAhPSBhdXhfY2gpIHsKKwkJCWRpZ19wb3J0ID0g TlVMTDsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJYnJlYWs7CisJfQorCisJaWYgKFdBUk5fT04o IWRpZ19wb3J0KSkKKwkJcmV0dXJuOworCisJV0FSTl9PTighaW50ZWxfdGNfcG9ydF9yZWZfaGVs ZChkaWdfcG9ydCkpOworfQorCisjZWxzZQorCitzdGF0aWMgdm9pZCBpY2xfdGNfcG9ydF9hc3Nl cnRfcmVmX2hlbGQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCQlzdHJ1 Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQoreworfQorCisjZW5kaWYKKwogc3RhdGlj IHZvaWQKIGljbF90Y19waHlfYXV4X3Bvd2VyX3dlbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJCQkgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2Vs bCkKIHsKLQlpbnQgcHdfaWR4ID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LmlkeDsKLQlib29sIGlz X3RidCA9IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5pc190Y190YnQ7Ci0JZW51bSBhdXhfY2ggYXV4 X2NoOworCWVudW0gYXV4X2NoIGF1eF9jaCA9IGljbF90Y19waHlfYXV4X2NoKGRldl9wcml2LCBw b3dlcl93ZWxsKTsKIAl1MzIgdmFsOwogCi0JYXV4X2NoID0gaXNfdGJ0ID8gSUNMX1RCVF9BVVhf UFdfVE9fQ0gocHdfaWR4KSA6Ci0JCQkgIElDTF9BVVhfUFdfVE9fQ0gocHdfaWR4KTsKKwlpY2xf dGNfcG9ydF9hc3NlcnRfcmVmX2hlbGQoZGV2X3ByaXYsIHBvd2VyX3dlbGwpOworCiAJdmFsID0g STkxNV9SRUFEKERQX0FVWF9DSF9DVEwoYXV4X2NoKSk7CiAJdmFsICY9IH5EUF9BVVhfQ0hfQ1RM X1RCVF9JTzsKLQlpZiAoaXNfdGJ0KQorCWlmIChwb3dlcl93ZWxsLT5kZXNjLT5oc3cuaXNfdGNf dGJ0KQogCQl2YWwgfD0gRFBfQVVYX0NIX0NUTF9UQlRfSU87CiAJSTkxNV9XUklURShEUF9BVVhf Q0hfQ1RMKGF1eF9jaCksIHZhbCk7CiAKIAloc3dfcG93ZXJfd2VsbF9lbmFibGUoZGV2X3ByaXYs IHBvd2VyX3dlbGwpOwogfQogCitzdGF0aWMgdm9pZAoraWNsX3RjX3BoeV9hdXhfcG93ZXJfd2Vs bF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgIHN0cnVj dCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCit7CisJaWNsX3RjX3BvcnRfYXNzZXJ0X3Jl Zl9oZWxkKGRldl9wcml2LCBwb3dlcl93ZWxsKTsKKworCWhzd19wb3dlcl93ZWxsX2Rpc2FibGUo ZGV2X3ByaXYsIHBvd2VyX3dlbGwpOworfQorCiAvKgogICogV2Ugc2hvdWxkIG9ubHkgdXNlIHRo ZSBwb3dlciB3ZWxsIGlmIHdlIGV4cGxpY2l0bHkgYXNrZWQgdGhlIGhhcmR3YXJlIHRvCiAgKiBl bmFibGUgaXQsIHNvIGNoZWNrIGlmIGl0J3MgZW5hYmxlZCBhbmQgYWxzbyBjaGVjayBpZiB3ZSd2 ZSByZXF1ZXN0ZWQgaXQgdG8KQEAgLTMxMTksNyArMzIwMCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTkxNV9wb3dlcl93ZWxsX29wcyBpY2xfY29tYm9fcGh5X2F1eF9wb3dlcl93ZWxsX29wcyA9 IHsKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX29wcyBpY2xfdGNfcGh5X2F1 eF9wb3dlcl93ZWxsX29wcyA9IHsKIAkuc3luY19odyA9IGhzd19wb3dlcl93ZWxsX3N5bmNfaHcs CiAJLmVuYWJsZSA9IGljbF90Y19waHlfYXV4X3Bvd2VyX3dlbGxfZW5hYmxlLAotCS5kaXNhYmxl ID0gaHN3X3Bvd2VyX3dlbGxfZGlzYWJsZSwKKwkuZGlzYWJsZSA9IGljbF90Y19waHlfYXV4X3Bv d2VyX3dlbGxfZGlzYWJsZSwKIAkuaXNfZW5hYmxlZCA9IGhzd19wb3dlcl93ZWxsX2VuYWJsZWQs CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Rj LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKaW5kZXggYmE2NDky YmMwZWUwLi40NjdkZDNlYzU0MWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfdGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3RjLmMKQEAgLTMxOSw2ICszMTksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF90Y19wb3J0X3Jlc2V0 X21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsCiAJZW51bSB0Y19wb3J0 X21vZGUgb2xkX3RjX21vZGUgPSBkaWdfcG9ydC0+dGNfbW9kZTsKIAogCWludGVsX2Rpc3BsYXlf cG93ZXJfZmx1c2hfd29yayhkZXZfcHJpdik7CisJV0FSTl9PTihpbnRlbF9kaXNwbGF5X3Bvd2Vy X2lzX2VuYWJsZWQoZGV2X3ByaXYsCisJCQkJCSAgICAgICBpbnRlbF9hdXhfcG93ZXJfZG9tYWlu KGRpZ19wb3J0KSkpOwogCiAJaWNsX3RjX3BoeV9kaXNjb25uZWN0KGRpZ19wb3J0KTsKIAlpY2xf dGNfcGh5X2Nvbm5lY3QoZGlnX3BvcnQsIHJlcXVpcmVkX2xhbmVzKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfdGMuaAppbmRleCAzMWFmN2JlOTYwNzAuLjhhZGMxMDdjZGJjYiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuaApAQCAtNyw4ICs3LDggQEAK ICNkZWZpbmUgX19JTlRFTF9UQ19IX18KIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0KLXN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQ7CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNs dWRlICJpbnRlbF9kcnYuaCIKIAogdm9pZCBpY2xfdGNfcGh5X2Rpc2Nvbm5lY3Qoc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpOwogCkBAIC0yMyw2ICsyMywxMiBAQCB2b2lkIGlu dGVsX3RjX3BvcnRfZ2V0X2xpbmsoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQs CiAJCQkgICAgaW50IHJlcXVpcmVkX2xhbmVzKTsKIHZvaWQgaW50ZWxfdGNfcG9ydF9wdXRfbGlu ayhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCk7CiAKK3N0YXRpYyBpbmxpbmUg aW50IGludGVsX3RjX3BvcnRfcmVmX2hlbGQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGln X3BvcnQpCit7CisJcmV0dXJuIG11dGV4X2lzX2xvY2tlZCgmZGlnX3BvcnQtPnRjX2xvY2spIHx8 CisJICAgICAgIGRpZ19wb3J0LT50Y19saW5rX3JlZmNvdW50OworfQorCiB2b2lkIGludGVsX3Rj X3BvcnRfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwgYm9vbCBpc19s ZWdhY3kpOwogCiAjZW5kaWYgLyogX19JTlRFTF9UQ19IX18gKi8KLS0gCjIuMTcuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4