From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 19/32] drm/tegra: sor: Stabilize eDP Date: Thu, 24 Oct 2019 18:45:21 +0200 Message-ID: <20191024164534.132764-20-thierry.reding@gmail.com> References: <20191024164534.132764-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191024164534.132764-1-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClJld29yayBlRFAgY29k ZSB0byBjb3JyZXNwb25kIG1vcmUgY2xvc2VseSB0byB3aGF0J3MgZG9jdW1lbnRlZC4gVGhpcwph bHNvIGltcHJvdmVzIHRoZSByZWxpYWJpbGl0eSBvZiBtb2Rlc2V0cy4KClNpZ25lZC1vZmYtYnk6 IFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L3RlZ3JhL3Nvci5jIHwgMTM4ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDg5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdy YS9zb3IuYwppbmRleCA2Zjk3OWM1ZmZmN2IuLjIwMjMyNDRhZDMyOCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3Iu YwpAQCAtMTg3OCwxMTkgKzE4NzgsODAgQEAgc3RhdGljIHZvaWQgdGVncmFfc29yX2VkcF9lbmFi bGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCiAJcG1fcnVudGltZV9nZXRfc3luYyhz b3ItPmRldik7CiAKLQlpZiAob3V0cHV0LT5wYW5lbCkKLQkJZHJtX3BhbmVsX3ByZXBhcmUob3V0 cHV0LT5wYW5lbCk7CisJLyogc3dpdGNoIHRvIHNhZmUgcGFyZW50IGNsb2NrICovCisJZXJyID0g dGVncmFfc29yX3NldF9wYXJlbnRfY2xvY2soc29yLCBzb3ItPmNsa19zYWZlKTsKKwlpZiAoZXJy IDwgMCkKKwkJZGV2X2Vycihzb3ItPmRldiwgImZhaWxlZCB0byBzZXQgc2FmZSBwYXJlbnQgY2xv Y2s6ICVkXG4iLCBlcnIpOworCisJZXJyID0gdGVncmFfaW9fcmFpbF9wb3dlcl9vbihURUdSQV9J T19SQUlMX0xWRFMpOworCWlmIChlcnIgPCAwKQorCQlkZXZfZXJyKHNvci0+ZGV2LCAiZmFpbGVk IHRvIHBvd2VyIG9uIExWRFMgcmFpbDogJWRcbiIsIGVycik7CisKKwl1c2xlZXBfcmFuZ2UoMjAs IDEwMCk7CiAKIAllcnIgPSBkcm1fZHBfYXV4X2VuYWJsZShzb3ItPmF1eCk7CiAJaWYgKGVyciA8 IDApCi0JCWRldl9lcnIoc29yLT5kZXYsICJmYWlsZWQgdG8gZW5hYmxlIERQOiAlZFxuIiwgZXJy KTsKKwkJZGV2X2Vycihzb3ItPmRldiwgImZhaWxlZCB0byBlbmFibGUgRFBBVVg6ICVkXG4iLCBl cnIpOwogCiAJZXJyID0gZHJtX2RwX2xpbmtfcHJvYmUoc29yLT5hdXgsICZzb3ItPmxpbmspOwot CWlmIChlcnIgPCAwKSB7CisJaWYgKGVyciA8IDApCiAJCWRldl9lcnIoc29yLT5kZXYsICJmYWls ZWQgdG8gcHJvYmUgZURQIGxpbms6ICVkXG4iLCBlcnIpOwotCQlyZXR1cm47Ci0JfQogCi0JLyog c3dpdGNoIHRvIHNhZmUgcGFyZW50IGNsb2NrICovCi0JZXJyID0gdGVncmFfc29yX3NldF9wYXJl bnRfY2xvY2soc29yLCBzb3ItPmNsa19zYWZlKTsKKwllcnIgPSBkcm1fZHBfbGlua19jaG9vc2Uo JnNvci0+bGluaywgbW9kZSwgaW5mbyk7CiAJaWYgKGVyciA8IDApCi0JCWRldl9lcnIoc29yLT5k ZXYsICJmYWlsZWQgdG8gc2V0IHNhZmUgcGFyZW50IGNsb2NrOiAlZFxuIiwgZXJyKTsKKwkJZGV2 X2Vycihzb3ItPmRldiwgImZhaWxlZCB0byBjaG9vc2UgbGluazogJWRcbiIsIGVycik7CiAKLQl2 YWx1ZSA9IHRlZ3JhX3Nvcl9yZWFkbChzb3IsIFNPUl9DTEtfQ05UUkwpOwotCXZhbHVlICY9IH5T T1JfQ0xLX0NOVFJMX0RQX0NMS19TRUxfTUFTSzsKLQl2YWx1ZSB8PSBTT1JfQ0xLX0NOVFJMX0RQ X0NMS19TRUxfU0lOR0xFX0RQQ0xLOwotCXRlZ3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1ZSwgU09S X0NMS19DTlRSTCk7CisJaWYgKG91dHB1dC0+cGFuZWwpCisJCWRybV9wYW5lbF9wcmVwYXJlKG91 dHB1dC0+cGFuZWwpOwogCiAJdmFsdWUgPSB0ZWdyYV9zb3JfcmVhZGwoc29yLCBzb3ItPnNvYy0+ cmVncy0+cGxsMik7CiAJdmFsdWUgJj0gflNPUl9QTEwyX0JBTkRHQVBfUE9XRVJET1dOOwogCXRl Z3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1ZSwgc29yLT5zb2MtPnJlZ3MtPnBsbDIpOwotCXVzbGVl cF9yYW5nZSgyMCwgMTAwKTsKKworCXVzbGVlcF9yYW5nZSgyMCwgNDApOwogCiAJdmFsdWUgPSB0 ZWdyYV9zb3JfcmVhZGwoc29yLCBzb3ItPnNvYy0+cmVncy0+cGxsMyk7CiAJdmFsdWUgfD0gU09S X1BMTDNfUExMX1ZERF9NT0RFXzNWMzsKIAl0ZWdyYV9zb3Jfd3JpdGVsKHNvciwgdmFsdWUsIHNv ci0+c29jLT5yZWdzLT5wbGwzKTsKIAotCXZhbHVlID0gU09SX1BMTDBfSUNIUE1QKDB4ZikgfCBT T1JfUExMMF9WQ09DQVBfUlNUIHwKLQkJU09SX1BMTDBfUExMUkVHX0xFVkVMX1Y0NSB8IFNPUl9Q TEwwX1JFU0lTVE9SX0VYVDsKKwl2YWx1ZSA9IHRlZ3JhX3Nvcl9yZWFkbChzb3IsIHNvci0+c29j LT5yZWdzLT5wbGwwKTsKKwl2YWx1ZSAmPSB+KFNPUl9QTEwwX1ZDT1BEIHwgU09SX1BMTDBfUFdS KTsKIAl0ZWdyYV9zb3Jfd3JpdGVsKHNvciwgdmFsdWUsIHNvci0+c29jLT5yZWdzLT5wbGwwKTsK IAogCXZhbHVlID0gdGVncmFfc29yX3JlYWRsKHNvciwgc29yLT5zb2MtPnJlZ3MtPnBsbDIpOwot CXZhbHVlIHw9IFNPUl9QTEwyX1NFUV9QTExDQVBQRDsKIAl2YWx1ZSAmPSB+U09SX1BMTDJfU0VR X1BMTENBUFBEX0VORk9SQ0U7Ci0JdmFsdWUgfD0gU09SX1BMTDJfTFZEU19FTkFCTEU7CisJdmFs dWUgfD0gU09SX1BMTDJfU0VRX1BMTENBUFBEOwogCXRlZ3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1 ZSwgc29yLT5zb2MtPnJlZ3MtPnBsbDIpOwogCi0JdmFsdWUgPSBTT1JfUExMMV9URVJNX0NPTVBP VVQgfCBTT1JfUExMMV9UTURTX1RFUk07Ci0JdGVncmFfc29yX3dyaXRlbChzb3IsIHZhbHVlLCBz b3ItPnNvYy0+cmVncy0+cGxsMSk7Ci0KLQl3aGlsZSAodHJ1ZSkgewotCQl2YWx1ZSA9IHRlZ3Jh X3Nvcl9yZWFkbChzb3IsIHNvci0+c29jLT5yZWdzLT5wbGwyKTsKLQkJaWYgKCh2YWx1ZSAmIFNP Ul9QTEwyX1NFUV9QTExDQVBQRF9FTkZPUkNFKSA9PSAwKQotCQkJYnJlYWs7Ci0KLQkJdXNsZWVw X3JhbmdlKDI1MCwgMTAwMCk7Ci0JfQorCXVzbGVlcF9yYW5nZSgyMDAsIDQwMCk7CiAKIAl2YWx1 ZSA9IHRlZ3JhX3Nvcl9yZWFkbChzb3IsIHNvci0+c29jLT5yZWdzLT5wbGwyKTsKIAl2YWx1ZSAm PSB+U09SX1BMTDJfUE9XRVJET1dOX09WRVJSSURFOwogCXZhbHVlICY9IH5TT1JfUExMMl9QT1JU X1BPV0VSRE9XTjsKIAl0ZWdyYV9zb3Jfd3JpdGVsKHNvciwgdmFsdWUsIHNvci0+c29jLT5yZWdz LT5wbGwyKTsKIAotCS8qCi0JICogcG93ZXIgdXAKLQkgKi8KLQotCS8qIHNldCBzYWZlIGxpbmsg YmFuZHdpZHRoICgxLjYyIEdicHMpICovCiAJdmFsdWUgPSB0ZWdyYV9zb3JfcmVhZGwoc29yLCBT T1JfQ0xLX0NOVFJMKTsKLQl2YWx1ZSAmPSB+U09SX0NMS19DTlRSTF9EUF9MSU5LX1NQRUVEX01B U0s7Ci0JdmFsdWUgfD0gU09SX0NMS19DTlRSTF9EUF9MSU5LX1NQRUVEX0cxXzYyOworCXZhbHVl ICY9IH5TT1JfQ0xLX0NOVFJMX0RQX0NMS19TRUxfTUFTSzsKKwl2YWx1ZSB8PSBTT1JfQ0xLX0NO VFJMX0RQX0NMS19TRUxfU0lOR0xFX0RQQ0xLOwogCXRlZ3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1 ZSwgU09SX0NMS19DTlRSTCk7CiAKLQkvKiBzdGVwIDEgKi8KLQl2YWx1ZSA9IHRlZ3JhX3Nvcl9y ZWFkbChzb3IsIHNvci0+c29jLT5yZWdzLT5wbGwyKTsKLQl2YWx1ZSB8PSBTT1JfUExMMl9TRVFf UExMQ0FQUERfRU5GT1JDRSB8IFNPUl9QTEwyX1BPUlRfUE9XRVJET1dOIHwKLQkJIFNPUl9QTEwy X0JBTkRHQVBfUE9XRVJET1dOOwotCXRlZ3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1ZSwgc29yLT5z b2MtPnJlZ3MtPnBsbDIpOwotCi0JdmFsdWUgPSB0ZWdyYV9zb3JfcmVhZGwoc29yLCBzb3ItPnNv Yy0+cmVncy0+cGxsMCk7Ci0JdmFsdWUgfD0gU09SX1BMTDBfVkNPUEQgfCBTT1JfUExMMF9QV1I7 Ci0JdGVncmFfc29yX3dyaXRlbChzb3IsIHZhbHVlLCBzb3ItPnNvYy0+cmVncy0+cGxsMCk7Ci0K LQl2YWx1ZSA9IHRlZ3JhX3Nvcl9yZWFkbChzb3IsIHNvci0+c29jLT5yZWdzLT5kcF9wYWRjdGww KTsKLQl2YWx1ZSAmPSB+U09SX0RQX1BBRENUTF9QQURfQ0FMX1BEOwotCXRlZ3JhX3Nvcl93cml0 ZWwoc29yLCB2YWx1ZSwgc29yLT5zb2MtPnJlZ3MtPmRwX3BhZGN0bDApOwotCi0JLyogc3RlcCAy ICovCi0JZXJyID0gdGVncmFfaW9fcGFkX3Bvd2VyX2VuYWJsZShzb3ItPnBhZCk7Ci0JaWYgKGVy ciA8IDApCi0JCWRldl9lcnIoc29yLT5kZXYsICJmYWlsZWQgdG8gcG93ZXIgb24gSS9PIHBhZDog JWRcbiIsIGVycik7Ci0KLQl1c2xlZXBfcmFuZ2UoNSwgMTAwKTsKLQotCS8qIHN0ZXAgMyAqLwot CXZhbHVlID0gdGVncmFfc29yX3JlYWRsKHNvciwgc29yLT5zb2MtPnJlZ3MtPnBsbDIpOwotCXZh bHVlICY9IH5TT1JfUExMMl9CQU5ER0FQX1BPV0VSRE9XTjsKLQl0ZWdyYV9zb3Jfd3JpdGVsKHNv ciwgdmFsdWUsIHNvci0+c29jLT5yZWdzLT5wbGwyKTsKKwl2YWx1ZSA9IHRlZ3JhX3Nvcl9yZWFk bChzb3IsIFNPUl9EUF9TUEFSRTApOworCS8qIFhYWCBub3QgaW4gVFJNICovCisJdmFsdWUgfD0g U09SX0RQX1NQQVJFX1BBTkVMX0lOVEVSTkFMOworCXZhbHVlIHw9IFNPUl9EUF9TUEFSRV9TRVFf RU5BQkxFOworCXRlZ3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1ZSwgU09SX0RQX1NQQVJFMCk7CiAK LQl1c2xlZXBfcmFuZ2UoMjAsIDEwMCk7CisJLyogWFhYIG5vdCBpbiBUUk0gKi8KKwl0ZWdyYV9z b3Jfd3JpdGVsKHNvciwgMCwgU09SX0xWRFMpOwogCi0JLyogc3RlcCA0ICovCiAJdmFsdWUgPSB0 ZWdyYV9zb3JfcmVhZGwoc29yLCBzb3ItPnNvYy0+cmVncy0+cGxsMCk7Ci0JdmFsdWUgJj0gflNP Ul9QTEwwX1ZDT1BEOwotCXZhbHVlICY9IH5TT1JfUExMMF9QV1I7CisJdmFsdWUgJj0gflNPUl9Q TEwwX0lDSFBNUF9NQVNLOworCXZhbHVlICY9IH5TT1JfUExMMF9WQ09DQVBfTUFTSzsKKwl2YWx1 ZSB8PSBTT1JfUExMMF9JQ0hQTVAoMHgxKTsKKwl2YWx1ZSB8PSBTT1JfUExMMF9WQ09DQVAoMHgz KTsKKwl2YWx1ZSB8PSBTT1JfUExMMF9SRVNJU1RPUl9FWFQ7CiAJdGVncmFfc29yX3dyaXRlbChz b3IsIHZhbHVlLCBzb3ItPnNvYy0+cmVncy0+cGxsMCk7CiAKLQl2YWx1ZSA9IHRlZ3JhX3Nvcl9y ZWFkbChzb3IsIHNvci0+c29jLT5yZWdzLT5wbGwyKTsKLQl2YWx1ZSAmPSB+U09SX1BMTDJfU0VR X1BMTENBUFBEX0VORk9SQ0U7Ci0JdGVncmFfc29yX3dyaXRlbChzb3IsIHZhbHVlLCBzb3ItPnNv Yy0+cmVncy0+cGxsMik7Ci0KLQl1c2xlZXBfcmFuZ2UoMjAwLCAxMDAwKTsKLQotCS8qIHN0ZXAg NSAqLwotCXZhbHVlID0gdGVncmFfc29yX3JlYWRsKHNvciwgc29yLT5zb2MtPnJlZ3MtPnBsbDIp OwotCXZhbHVlICY9IH5TT1JfUExMMl9QT1JUX1BPV0VSRE9XTjsKLQl0ZWdyYV9zb3Jfd3JpdGVs KHNvciwgdmFsdWUsIHNvci0+c29jLT5yZWdzLT5wbGwyKTsKLQogCS8qIFhYWCBub3QgaW4gVFJN ICovCiAJZm9yICh2YWx1ZSA9IDAsIGkgPSAwOyBpIDwgNTsgaSsrKQogCQl2YWx1ZSB8PSBTT1Jf WEJBUl9DVFJMX0xJTkswX1hTRUwoaSwgc29yLT54YmFyX2NmZ1tpXSkgfApAQCAtMjAxNSw3ICsx OTc2LDYgQEAgc3RhdGljIHZvaWQgdGVncmFfc29yX2VkcF9lbmFibGUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKQogCXZhbHVlIHw9IFNPUl9EUF9MSU5LQ1RMX0VOQUJMRTsKIAl0ZWdyYV9z b3Jfd3JpdGVsKHNvciwgdmFsdWUsIFNPUl9EUF9MSU5LQ1RMMCk7CiAKLQkvKiBjYWxpYnJhdGUg dGVybWluYXRpb24gcmVzaXN0YW5jZSAoWFhYIGRvIHRoaXMgb25seSBvbiBIUEQpICovCiAJdGVn cmFfc29yX2RwX3Rlcm1fY2FsaWJyYXRlKHNvcik7CiAKIAllcnIgPSBkcm1fZHBfbGlua190cmFp bigmc29yLT5saW5rKTsKQEAgLTIwMjUsMjEgKzE5ODUsMTYgQEAgc3RhdGljIHZvaWQgdGVncmFf c29yX2VkcF9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCQlkZXZfZGJnKHNv ci0+ZGV2LCAibGluayB0cmFpbmluZyBzdWNjZWVkZWRcbiIpOwogCiAJZXJyID0gZHJtX2RwX2xp bmtfcG93ZXJfdXAoc29yLT5hdXgsICZzb3ItPmxpbmspOwotCWlmIChlcnIgPCAwKSB7Ci0JCWRl dl9lcnIoc29yLT5kZXYsICJmYWlsZWQgdG8gcG93ZXIgdXAgZURQIGxpbms6ICVkXG4iLAotCQkJ ZXJyKTsKLQkJcmV0dXJuOwotCX0KKwlpZiAoZXJyIDwgMCkKKwkJZGV2X2Vycihzb3ItPmRldiwg ImZhaWxlZCB0byBwb3dlciB1cCBlRFAgbGluazogJWRcbiIsIGVycik7CiAKIAkvKiBjb21wdXRl IGNvbmZpZ3VyYXRpb24gKi8KIAltZW1zZXQoJmNvbmZpZywgMCwgc2l6ZW9mKGNvbmZpZykpOwog CWNvbmZpZy5iaXRzX3Blcl9waXhlbCA9IHN0YXRlLT5icGMgKiAzOwogCiAJZXJyID0gdGVncmFf c29yX2NvbXB1dGVfY29uZmlnKHNvciwgbW9kZSwgJmNvbmZpZywgJnNvci0+bGluayk7Ci0JaWYg KGVyciA8IDApIHsKKwlpZiAoZXJyIDwgMCkKIAkJZGV2X2Vycihzb3ItPmRldiwgImZhaWxlZCB0 byBjb21wdXRlIGNvbmZpZ3VyYXRpb246ICVkXG4iLCBlcnIpOwotCQlyZXR1cm47Ci0JfQogCiAJ dGVncmFfc29yX2FwcGx5X2NvbmZpZyhzb3IsICZjb25maWcpOwogCkBAIC0yMDY3LDE5ICsyMDIy LDI0IEBAIHN0YXRpYyB2b2lkIHRlZ3JhX3Nvcl9lZHBfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlcikKIAogCXRlZ3JhX3Nvcl91cGRhdGUoc29yKTsKIAorCWVyciA9IHRlZ3JhX3Nv cl9wb3dlcl91cChzb3IsIDI1MCk7CisJaWYgKGVyciA8IDApCisJCWRldl9lcnIoc29yLT5kZXYs ICJmYWlsZWQgdG8gcG93ZXIgdXAgU09SOiAlZFxuIiwgZXJyKTsKKworCS8qIGF0dGFjaCBhbmQg d2FrZSB1cCAqLworCWVyciA9IHRlZ3JhX3Nvcl9hdHRhY2goc29yKTsKKwlpZiAoZXJyIDwgMCkK KwkJZGV2X2Vycihzb3ItPmRldiwgImZhaWxlZCB0byBhdHRhY2ggU09SOiAlZFxuIiwgZXJyKTsK KwogCXZhbHVlID0gdGVncmFfZGNfcmVhZGwoZGMsIERDX0RJU1BfRElTUF9XSU5fT1BUSU9OUyk7 CiAJdmFsdWUgfD0gU09SX0VOQUJMRSgwKTsKIAl0ZWdyYV9kY193cml0ZWwoZGMsIHZhbHVlLCBE Q19ESVNQX0RJU1BfV0lOX09QVElPTlMpOwogCiAJdGVncmFfZGNfY29tbWl0KGRjKTsKIAotCWVy ciA9IHRlZ3JhX3Nvcl9hdHRhY2goc29yKTsKLQlpZiAoZXJyIDwgMCkKLQkJZGV2X2Vycihzb3It PmRldiwgImZhaWxlZCB0byBhdHRhY2ggU09SOiAlZFxuIiwgZXJyKTsKLQogCWVyciA9IHRlZ3Jh X3Nvcl93YWtldXAoc29yKTsKIAlpZiAoZXJyIDwgMCkKLQkJZGV2X2Vycihzb3ItPmRldiwgImZh aWxlZCB0byBlbmFibGUgREM6ICVkXG4iLCBlcnIpOworCQlkZXZfZXJyKHNvci0+ZGV2LCAiZmFp bGVkIHRvIHdha2V1cCBTT1I6ICVkXG4iLCBlcnIpOwogCiAJaWYgKG91dHB1dC0+cGFuZWwpCiAJ CWRybV9wYW5lbF9lbmFibGUob3V0cHV0LT5wYW5lbCk7Ci0tIAoyLjIzLjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==