From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 29/49] drm/amd/display: Enable type C hotplug Date: Fri, 9 Aug 2019 17:37:22 -0400 Message-ID: <20190809213742.30301-30-sunpeng.li@amd.com> References: <20190809213742.30301-1-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809213742.30301-1-sunpeng.li-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Leo Li , Eric Yang RnJvbTogRXJpYyBZYW5nIDxFcmljLllhbmcyQGFtZC5jb20+CgpbV2h5IGFuZCBIb3ddCldlIHdh bnQgdG8gY2hhbmdlIHdoZXJlIHRpbWluZyBpcyBkb25lIGZvciBhbHQgbW9kZS4KU29tZSBvZiB0 aGUgY29tbWVudGVkIG91dCAjaWZzIGFyZSBuZWVkZWQgZm9yIERDTjIwCnNvIHdlIGVuYWJsZSB0 aGVtIGZvciB0aGF0IGNhc2UuCgpTaWduZWQtb2ZmLWJ5OiBFcmljIFlhbmcgPEVyaWMuWWFuZzJA YW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEVyaWMgWWFuZyA8ZXJpYy55YW5nMkBhbWQuY29tPgpBY2tl ZC1ieTogTGVvIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jIHwgNTkgKysrKysrKysrKysrKysrKysrKwogLi4u L2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2xpbmtfZW5jb2Rlci5oIHwgIDEgKwogLi4uL2Ry bS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvbGlua19lbmNvZGVyLmggIHwgIDEgKwogMyBmaWxlcyBj aGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2NvcmUvZGNfbGluay5jCmluZGV4IGNhMTJjNjZhNGUwNi4uMWEzMDA2NmFjNjA1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jCkBAIC02ODIs NiArNjgyLDU2IEBAIHN0YXRpYyBib29sIGlzX3NhbWVfZWRpZChzdHJ1Y3QgZGNfZWRpZCAqb2xk X2VkaWQsIHN0cnVjdCBkY19lZGlkICpuZXdfZWRpZCkKIAlyZXR1cm4gKG1lbWNtcChvbGRfZWRp ZC0+cmF3X2VkaWQsIG5ld19lZGlkLT5yYXdfZWRpZCwgbmV3X2VkaWQtPmxlbmd0aCkgPT0gMCk7 CiB9CiAKK2Jvb2wgd2FpdF9mb3JfYWx0X21vZGUoc3RydWN0IGRjX2xpbmsgKmxpbmspCit7CisK KwkvKioKKwkgKiBzb21ldGhpbmcgaXMgdGVycmlibHkgd3JvbmcgaWYgdGltZSBvdXQgaXMgPiAy MDBtcy4gKDVIeikKKwkgKiA1MDAgbWljcm9zZWNvbmRzICogNDAwIHRyaWVzIHVzIDIwMCBtcwor CSAqKi8KKwl1bnNpZ25lZCBpbnQgc2xlZXBfdGltZV9pbl9taWNyb3NlY29uZHMgPSA1MDA7CisJ dW5zaWduZWQgaW50IHRyaWVzX2FsbG93ZWQgPSA0MDA7CisJYm9vbCBpc19pbl9hbHRfbW9kZTsK Kwl1bnNpZ25lZCBsb25nIGxvbmcgZW50ZXJfdGltZXN0YW1wOworCXVuc2lnbmVkIGxvbmcgbG9u ZyBmaW5pc2hfdGltZXN0YW1wOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lX3Rha2VuX2luX25z OworCWludCB0cmllc190YWtlbjsKKworCURDX0xPR0dFUl9JTklUKGxpbmstPmN0eC0+bG9nZ2Vy KTsKKworCWlmIChsaW5rLT5saW5rX2VuYy0+ZnVuY3MtPmlzX2luX2FsdF9tb2RlID09IE5VTEwp CisJCXJldHVybiB0cnVlOworCisJaXNfaW5fYWx0X21vZGUgPSBsaW5rLT5saW5rX2VuYy0+ZnVu Y3MtPmlzX2luX2FsdF9tb2RlKGxpbmstPmxpbmtfZW5jKTsKKwlEQ19MT0dfV0FSTklORygiRFAg QWx0IG1vZGUgc3RhdGUgb24gSFBEOiAlZFxuIiwgaXNfaW5fYWx0X21vZGUpOworCisJaWYgKGlz X2luX2FsdF9tb2RlKQorCQlyZXR1cm4gdHJ1ZTsKKworCWVudGVyX3RpbWVzdGFtcCA9IGRtX2dl dF90aW1lc3RhbXAobGluay0+Y3R4KTsKKworCWZvciAodHJpZXNfdGFrZW4gPSAwOyB0cmllc190 YWtlbiA8IHRyaWVzX2FsbG93ZWQ7IHRyaWVzX3Rha2VuKyspIHsKKwkJdWRlbGF5KHNsZWVwX3Rp bWVfaW5fbWljcm9zZWNvbmRzKTsKKwkJLyogYXNrIHRoZSBsaW5rIGlmIGFsdCBtb2RlIGlzIGVu YWJsZWQsIGlmIHNvIHJldHVybiBvayAqLworCQlpZiAobGluay0+bGlua19lbmMtPmZ1bmNzLT5p c19pbl9hbHRfbW9kZShsaW5rLT5saW5rX2VuYykpIHsKKworCQkJZmluaXNoX3RpbWVzdGFtcCA9 IGRtX2dldF90aW1lc3RhbXAobGluay0+Y3R4KTsKKwkJCXRpbWVfdGFrZW5faW5fbnMgPSBkbV9n ZXRfZWxhcHNlX3RpbWVfaW5fbnMoCisJCQkJbGluay0+Y3R4LCBmaW5pc2hfdGltZXN0YW1wLCBl bnRlcl90aW1lc3RhbXApOworCQkJRENfTE9HX1dBUk5JTkcoIkFsdCBtb2RlIGVudGVyZWQgZmlu aXNoZWQgYWZ0ZXIgJWxsdSBtc1xuIiwKKwkJCQkgICAgICAgdGltZV90YWtlbl9pbl9ucyAvIDEw MDAwMDApOworCQkJcmV0dXJuIHRydWU7CisJCX0KKworCX0KKwlmaW5pc2hfdGltZXN0YW1wID0g ZG1fZ2V0X3RpbWVzdGFtcChsaW5rLT5jdHgpOworCXRpbWVfdGFrZW5faW5fbnMgPSBkbV9nZXRf ZWxhcHNlX3RpbWVfaW5fbnMobGluay0+Y3R4LCBmaW5pc2hfdGltZXN0YW1wLAorCQkJCQkJICAg IGVudGVyX3RpbWVzdGFtcCk7CisJRENfTE9HX1dBUk5JTkcoIkFsdCBtb2RlIGhhcyB0aW1lZCBv dXQgYWZ0ZXIgJWxsdSBtc1xuIiwKKwkJCXRpbWVfdGFrZW5faW5fbnMgLyAxMDAwMDAwKTsKKwly ZXR1cm4gZmFsc2U7Cit9CisKIC8qKgogICogZGNfbGlua19kZXRlY3QoKSAtIERldGVjdCBpZiBh IHNpbmsgaXMgYXR0YWNoZWQgdG8gYSBnaXZlbiBsaW5rCiAgKgpAQCAtNzcwLDYgKzgyMCwxNSBA QCBib29sIGRjX2xpbmtfZGV0ZWN0KHN0cnVjdCBkY19saW5rICpsaW5rLCBlbnVtIGRjX2RldGVj dF9yZWFzb24gcmVhc29uKQogCQl9CiAKIAkJY2FzZSBTSUdOQUxfVFlQRV9ESVNQTEFZX1BPUlQ6 IHsKKwkJCS8qIHdhIEhQRCBoaWdoIGNvbWluZyB0b28gZWFybHkqLworCQkJaWYgKGxpbmstPmxp bmtfZW5jLT5mZWF0dXJlcy5mbGFncy5iaXRzLkRQX0lTX1VTQl9DID09IDEpIHsKKworCQkJCS8q IGlmIGFsdCBtb2RlIHRpbWVzIG91dCwgcmV0dXJuIGZhbHNlICovCisJCQkJaWYgKHdhaXRfZm9y X2FsdF9tb2RlKGxpbmspID09IGZhbHNlKSB7CisJCQkJCXJldHVybiBmYWxzZTsKKwkJCQl9CisJ CQl9CisKIAkJCWlmICghZGV0ZWN0X2RwKAogCQkJCWxpbmssCiAJCQkJJnNpbmtfY2FwcywKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9saW5r X2VuY29kZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9s aW5rX2VuY29kZXIuaAppbmRleCAzM2IyYWYxYTE4MWMuLmYzZTU3MzQzNDE3YyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2xpbmtfZW5jb2Rl ci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9saW5r X2VuY29kZXIuaApAQCAtMzM3LDYgKzMzNyw3IEBAIHN0cnVjdCBkY24xMF9saW5rX2VuY19yZWdp c3RlcnMgewogCQl0eXBlIFJEUENTX1RYX0ZJRk9fRVJST1JfTUFTSztcCiAJCXR5cGUgUkRQQ1Nf RFBBTFRfRElTQUJMRV9UT0dHTEVfTUFTSztcCiAJCXR5cGUgUkRQQ1NfRFBBTFRfNExBTkVfVE9H R0xFX01BU0s7XAorCQl0eXBlIFJEUENTX1BIWV9EUEFMVF9ESVNBQkxFO1wKIAkJdHlwZSBSRFBD U19QSFlfRFBBTFRfRElTQUJMRV9BQ0s7XAogCQl0eXBlIFJEUENTX1BIWV9EUF9NUExMQl9WMkk7 XAogCQl0eXBlIFJEUENTX1BIWV9EUF9NUExMQl9GUkVRX1ZDTztcCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2xpbmtfZW5jb2Rlci5oIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9saW5rX2VuY29kZXIuaAppbmRleCBlNWU4 NjQwYTllZjMuLjcwMDFiZmJkNjY4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2luYy9ody9saW5rX2VuY29kZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvaW5jL2h3L2xpbmtfZW5jb2Rlci5oCkBAIC0xODMsNiArMTgzLDcgQEAgc3Ry dWN0IGxpbmtfZW5jb2Rlcl9mdW5jcyB7CiAKIAlib29sICgqZmVjX2lzX2FjdGl2ZSkoc3RydWN0 IGxpbmtfZW5jb2RlciAqZW5jKTsKICNlbmRpZgorCWJvb2wgKCppc19pbl9hbHRfbW9kZSkgKHN0 cnVjdCBsaW5rX2VuY29kZXIgKmVuYyk7CiB9OwogCiAjZW5kaWYgLyogTElOS19FTkNPREVSX0hf ICovCi0tIAoyLjIyLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==