From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 2/3] drm/i915: Wait for pending modesets to complete before trying link training Date: Mon, 9 Jan 2017 18:06:57 +0100 Message-ID: <1483981618-10233-3-git-send-email-maarten.lankhorst@linux.intel.com> References: <1483981618-10233-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483981618-10233-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2UncmUgcHJvdGVjdGVkIGJ5IHRoZSBjb25uZWN0aW9uX211dGV4IGxvY2sgYWdhaW5zdCBibG9j a2luZyBtb2Rlc2V0cywKYnV0IG5vbmJsb2NraW5nIG1vZGVzZXRzIGFyZSBwZXJmb3JtZWQgd2l0 aG91dCBhbnkgbG9ja2luZy4gVGhpcyBpcwpjYXVzaW5nIFdBUk4gaW4gZHJtX3dhaXRfZm9yX3Zi bGFuayBhbmQgaW4gZ2VuZXJhbCBpdCdzIGJldHRlciB0byB3YWl0CmJlZm9yZSBtb2Rlc2V0IGNv bXBsZXRlcyBiZWZvcmUgdHJ5aW5nIGFueXRoaW5nLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBM YW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAxMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCBmYjEyODk2YmFmZWUuLjcxODgy ZDg4NzM5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC00MDgwLDI0ICs0MDgwLDM4IEBA IGludGVsX2RwX2NoZWNrX2xpbmtfc3RhdHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJ c3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSAmZHBfdG9fZGlnX3BvcnQoaW50 ZWxfZHApLT5iYXNlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYo aW50ZWxfZHApOwogCXU4IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RBVFVTX1NJWkVdOworCXN0cnVj dCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAq aW50ZWxfY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3RvcjsKKwlpbnQgcmV0 OworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKIAotCVdBUk5fT04oIWRybV9tb2Rlc2V0X2lzX2xv Y2tlZCgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KSk7CisJZHJtX21vZGVzZXRf YWNxdWlyZV9pbml0KCZjdHgsIDApOworCityZXRyeToKKwlyZXQgPSBkcm1fbW9kZXNldF9sb2Nr KCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsICZjdHgpOworCWlmIChyZXQpCisJ CWdvdG8gb3V0OwogCiAJaWYgKCFpbnRlbF9kcF9nZXRfbGlua19zdGF0dXMoaW50ZWxfZHAsIGxp bmtfc3RhdHVzKSkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBnZXQgbGluayBzdGF0dXNcbiIp OwotCQlyZXR1cm47CisJCWdvdG8gb3V0OwogCX0KIAotCWlmICghaW50ZWxfZW5jb2Rlci0+YmFz ZS5jcnRjKQotCQlyZXR1cm47CisJY3J0YyA9IGludGVsX2Nvbm5lY3Rvci0+YmFzZS5zdGF0ZS0+ Y3J0YzsKKwlpZiAoIWNydGMpCisJCWdvdG8gb3V0OwogCi0JaWYgKCF0b19pbnRlbF9jcnRjKGlu dGVsX2VuY29kZXItPmJhc2UuY3J0YyktPmFjdGl2ZSkKLQkJcmV0dXJuOworCXJldCA9IGRybV9t b2Rlc2V0X2xvY2soJmNydGMtPm11dGV4LCAmY3R4KTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsK KworCWlmICghY3J0Yy0+c3RhdGUtPmFjdGl2ZSkKKwkJZ290byBvdXQ7CiAKIAkvKiBGSVhNRTog d2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGlzIHNvcnQgb2Ygc3R1ZmYgd2l0aCBoYXJkd2FyZQog CSAqIHJlYWRvdXQuIEN1cnJlbnRseSBmYXN0IGxpbmsgdHJhaW5pbmcgZG9lc24ndCB3b3JrIG9u IGJvb3QtdXAuICovCiAJaWYgKCFpbnRlbF9kcC0+bGFuZV9jb3VudCkKLQkJcmV0dXJuOworCQln b3RvIG91dDsKIAogCS8qIGlmIGxpbmsgdHJhaW5pbmcgaXMgcmVxdWVzdGVkIHdlIHNob3VsZCBw ZXJmb3JtIGl0IGFsd2F5cyAqLwogCWlmICgoaW50ZWxfZHAtPmNvbXBsaWFuY2UudGVzdF90eXBl ID09IERQX1RFU1RfTElOS19UUkFJTklORykgfHwKQEAgLTQxMDUsOCArNDExOSwyNiBAQCBpbnRl bF9kcF9jaGVja19saW5rX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQlEUk1f REVCVUdfS01TKCIlczogY2hhbm5lbCBFUSBub3Qgb2ssIHJldHJhaW5pbmdcbiIsCiAJCQkgICAg ICBpbnRlbF9lbmNvZGVyLT5iYXNlLm5hbWUpOwogCisJCWlmIChkcm1fYXRvbWljX2NydGNfbmVl ZHNfbW9kZXNldChjcnRjLT5zdGF0ZSkpIHsKKwkJCS8qIHdhaXQgZm9yIGF0b21pYyBtb2Rlc2V0 IHRvIGNvbXBsZXRlICovCisJCQlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9od19k b25lKGNydGMpOworCQkJaWYgKHJldCA8IDApCisJCQkJRFJNX0VSUk9SKCJXYWl0aW5nIGZvciBo d19kb25lIHRpbWVkIG91dFxuIik7CisJCX0KKwogCQlpbnRlbF9kcF9yZXRyYWluX2xpbmsoaW50 ZWxfZHApOwogCX0KKworb3V0OgorCWlmIChyZXQgPT0gLUVERUFETEspIHsKKwkJZHJtX21vZGVz ZXRfYmFja29mZigmY3R4KTsKKwkJZ290byByZXRyeTsKKwl9CisKKwlkcm1fbW9kZXNldF9kcm9w X2xvY2tzKCZjdHgpOworCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKKwlpZiAocmV0 KQorCQlEUk1fRVJST1IoIkxvY2tpbmcgZmFpbGVkIHdpdGggJWlcbiIsIHJldCk7CiB9CiAKIC8q CkBAIC00MTI1LDcgKzQxNTcsNiBAQCBpbnRlbF9kcF9jaGVja19saW5rX3N0YXR1cyhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQogc3RhdGljIGJvb2wKIGludGVsX2RwX3Nob3J0X3B1bHNlKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGlu dGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CiAJdTggc2lua19pcnFfdmVjdG9yID0gMDsKIAl1OCBv bGRfc2lua19jb3VudCA9IGludGVsX2RwLT5zaW5rX2NvdW50OwogCWJvb2wgcmV0OwpAQCAtNDE2 NCw5ICs0MTk1LDcgQEAgaW50ZWxfZHBfc2hvcnRfcHVsc2Uoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIAkJCURSTV9ERUJVR19EUklWRVIoIkNQIG9yIHNpbmsgc3BlY2lmaWMgaXJxIHVuaGFu ZGxlZFxuIik7CiAJfQogCi0JZHJtX21vZGVzZXRfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5jb25u ZWN0aW9uX211dGV4LCBOVUxMKTsKIAlpbnRlbF9kcF9jaGVja19saW5rX3N0YXR1cyhpbnRlbF9k cCk7Ci0JZHJtX21vZGVzZXRfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0 ZXgpOwogCiAJcmV0dXJuIHRydWU7CiB9CkBAIC00NDk5LDkgKzQ1MjgsNyBAQCBpbnRlbF9kcF9s b25nX3B1bHNlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKIAkJICog Y2hlY2sgbGlua3Mgc3RhdHVzLCB0aGVyZSBoYXMgYmVlbiBrbm93biBpc3N1ZXMgb2YKIAkJICog bGluayBsb3NzIHRyaWdnZXJyaW5nIGxvbmcgcHVsc2UhISEhCiAJCSAqLwotCQlkcm1fbW9kZXNl dF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsIE5VTEwpOwogCQlpbnRl bF9kcF9jaGVja19saW5rX3N0YXR1cyhpbnRlbF9kcCk7Ci0JCWRybV9tb2Rlc2V0X3VubG9jaygm ZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KTsKIAkJZ290byBvdXQ7CiAJfQogCi0t IAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==