From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 27/46] drm/i915: Make all GPU resets atomic Date: Mon, 7 Jan 2019 11:54:50 +0000 Message-ID: <20190107115509.12523-27-chris@chris-wilson.co.uk> References: <20190107115509.12523-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 718D16E744 for ; Mon, 7 Jan 2019 11:55:48 +0000 (UTC) In-Reply-To: <20190107115509.12523-1-chris@chris-wilson.co.uk> 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 SW4gcHJlcGFyYXRpb24gZm9yIHRoZSBuZXh0IGZldyBjb21taXRzLCBtYWtlIHJlc2V0dGluZyB0 aGUgR1BVIGF0b21pYy4KQ3VycmVudGx5LCB3ZSBoYXZlIHByZXBhcmVkIGdlbjYrIGZvciBhdG9t aWMgcmVzZXR0aW5nIG9mIGluZGl2aWR1YWwKZW5naW5lcywgYnV0IG5vdyB0aGVyZSBpcyBhIHJl cXVpcmVtZW50IHRvIHBlcmZvcm0gdGhlIHdob2xlIGRldmljZQpsZXZlbCByZXNldCAoanVzdCB0 aGUgcmVnaXN0ZXIgcG9raW5nKSBmcm9tIGluc2lkZSBhbiBhdG9taWMgY29udGV4dC4KClNpZ25l ZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVzZXQuYyAgICAgICAgICAgICB8IDUwICsrKysrKysr KystLS0tLS0tLS0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5j ICB8ICA0ICstCiAyIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVzZXQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVzZXQuYwppbmRleCBlMmU0MGI0NGE5YTguLmY5NTEy ZTA3NjQ2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXNldC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVzZXQuYwpAQCAtMTQ0LDE0ICsxNDQsMTQg QEAgc3RhdGljIGludCBpOTE1X2RvX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 LAogCiAJLyogQXNzZXJ0IHJlc2V0IGZvciBhdCBsZWFzdCAyMCB1c2VjLCBhbmQgd2FpdCBmb3Ig YWNrbm93bGVkZ2VtZW50LiAqLwogCXBjaV93cml0ZV9jb25maWdfYnl0ZShwZGV2LCBJOTE1X0dE UlNULCBHUkRPTV9SRVNFVF9FTkFCTEUpOwotCXVzbGVlcF9yYW5nZSg1MCwgMjAwKTsKLQllcnIg PSB3YWl0X2ZvcihpOTE1X2luX3Jlc2V0KHBkZXYpLCA1MDApOworCXVkZWxheSg1MCk7CisJZXJy ID0gd2FpdF9mb3JfYXRvbWljKGk5MTVfaW5fcmVzZXQocGRldiksIDUwKTsKIAogCS8qIENsZWFy IHRoZSByZXNldCByZXF1ZXN0LiAqLwogCXBjaV93cml0ZV9jb25maWdfYnl0ZShwZGV2LCBJOTE1 X0dEUlNULCAwKTsKLQl1c2xlZXBfcmFuZ2UoNTAsIDIwMCk7CisJdWRlbGF5KDUwKTsKIAlpZiAo IWVycikKLQkJZXJyID0gd2FpdF9mb3IoIWk5MTVfaW5fcmVzZXQocGRldiksIDUwMCk7CisJCWVy ciA9IHdhaXRfZm9yX2F0b21pYyghaTkxNV9pbl9yZXNldChwZGV2KSwgNTApOwogCiAJcmV0dXJu IGVycjsKIH0KQEAgLTE3MSw3ICsxNzEsNyBAQCBzdGF0aWMgaW50IGczM19kb19yZXNldChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGk5MTUt PmRybS5wZGV2OwogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKHBkZXYsIEk5MTVfR0RSU1QsIEdS RE9NX1JFU0VUX0VOQUJMRSk7Ci0JcmV0dXJuIHdhaXRfZm9yKGc0eF9yZXNldF9jb21wbGV0ZShw ZGV2KSwgNTAwKTsKKwlyZXR1cm4gd2FpdF9mb3JfYXRvbWljKGc0eF9yZXNldF9jb21wbGV0ZShw ZGV2KSwgNTApOwogfQogCiBzdGF0aWMgaW50IGc0eF9kb19yZXNldChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCkBAIC0xODIsMTMgKzE4MiwxMyBAQCBzdGF0aWMgaW50IGc0eF9k b19yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaW50IHJldDsKIAog CS8qIFdhVmNwQ2xrR2F0ZURpc2FibGVGb3JNZWRpYVJlc2V0OmN0ZyxlbGsgKi8KLQlJOTE1X1dS SVRFKFZERUNDTEtfR0FURV9ELAotCQkgICBJOTE1X1JFQUQoVkRFQ0NMS19HQVRFX0QpIHwgVkNQ X1VOSVRfQ0xPQ0tfR0FURV9ESVNBQkxFKTsKLQlQT1NUSU5HX1JFQUQoVkRFQ0NMS19HQVRFX0Qp OworCUk5MTVfV1JJVEVfRlcoVkRFQ0NMS19HQVRFX0QsCisJCSAgICAgIEk5MTVfUkVBRChWREVD Q0xLX0dBVEVfRCkgfCBWQ1BfVU5JVF9DTE9DS19HQVRFX0RJU0FCTEUpOworCVBPU1RJTkdfUkVB RF9GVyhWREVDQ0xLX0dBVEVfRCk7CiAKIAlwY2lfd3JpdGVfY29uZmlnX2J5dGUocGRldiwgSTkx NV9HRFJTVCwKIAkJCSAgICAgIEdSRE9NX01FRElBIHwgR1JET01fUkVTRVRfRU5BQkxFKTsKLQly ZXQgPSAgd2FpdF9mb3IoZzR4X3Jlc2V0X2NvbXBsZXRlKHBkZXYpLCA1MDApOworCXJldCA9ICB3 YWl0X2Zvcl9hdG9taWMoZzR4X3Jlc2V0X2NvbXBsZXRlKHBkZXYpLCA1MCk7CiAJaWYgKHJldCkg ewogCQlEUk1fREVCVUdfRFJJVkVSKCJXYWl0IGZvciBtZWRpYSByZXNldCBmYWlsZWRcbiIpOwog CQlnb3RvIG91dDsKQEAgLTE5Niw3ICsxOTYsNyBAQCBzdGF0aWMgaW50IGc0eF9kb19yZXNldChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlwY2lfd3JpdGVfY29uZmlnX2J5 dGUocGRldiwgSTkxNV9HRFJTVCwKIAkJCSAgICAgIEdSRE9NX1JFTkRFUiB8IEdSRE9NX1JFU0VU X0VOQUJMRSk7Ci0JcmV0ID0gIHdhaXRfZm9yKGc0eF9yZXNldF9jb21wbGV0ZShwZGV2KSwgNTAw KTsKKwlyZXQgPSAgd2FpdF9mb3JfYXRvbWljKGc0eF9yZXNldF9jb21wbGV0ZShwZGV2KSwgNTAp OwogCWlmIChyZXQpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiV2FpdCBmb3IgcmVuZGVyIHJlc2V0 IGZhaWxlZFxuIik7CiAJCWdvdG8gb3V0OwpAQCAtMjA1LDkgKzIwNSw5IEBAIHN0YXRpYyBpbnQg ZzR4X2RvX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIG91dDoKIAlw Y2lfd3JpdGVfY29uZmlnX2J5dGUocGRldiwgSTkxNV9HRFJTVCwgMCk7CiAKLQlJOTE1X1dSSVRF KFZERUNDTEtfR0FURV9ELAotCQkgICBJOTE1X1JFQUQoVkRFQ0NMS19HQVRFX0QpICYgflZDUF9V TklUX0NMT0NLX0dBVEVfRElTQUJMRSk7Ci0JUE9TVElOR19SRUFEKFZERUNDTEtfR0FURV9EKTsK KwlJOTE1X1dSSVRFX0ZXKFZERUNDTEtfR0FURV9ELAorCQkgICAgICBJOTE1X1JFQUQoVkRFQ0NM S19HQVRFX0QpICYgflZDUF9VTklUX0NMT0NLX0dBVEVfRElTQUJMRSk7CisJUE9TVElOR19SRUFE X0ZXKFZERUNDTEtfR0FURV9EKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC0yMTgsMjcgKzIxOCwy OSBAQCBzdGF0aWMgaW50IGlyb25sYWtlX2RvX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIHsKIAlpbnQgcmV0OwogCi0JSTkxNV9XUklURShJTEtfR0RTUiwgSUxLX0dS RE9NX1JFTkRFUiB8IElMS19HUkRPTV9SRVNFVF9FTkFCTEUpOwotCXJldCA9IGludGVsX3dhaXRf Zm9yX3JlZ2lzdGVyKGRldl9wcml2LAotCQkJCSAgICAgIElMS19HRFNSLCBJTEtfR1JET01fUkVT RVRfRU5BQkxFLCAwLAotCQkJCSAgICAgIDUwMCk7CisJSTkxNV9XUklURV9GVyhJTEtfR0RTUiwg SUxLX0dSRE9NX1JFTkRFUiB8IElMS19HUkRPTV9SRVNFVF9FTkFCTEUpOworCXJldCA9IF9faW50 ZWxfd2FpdF9mb3JfcmVnaXN0ZXJfZncoZGV2X3ByaXYsIElMS19HRFNSLAorCQkJCQkgICBJTEtf R1JET01fUkVTRVRfRU5BQkxFLCAwLAorCQkJCQkgICA1MDAwLCAwLAorCQkJCQkgICBOVUxMKTsK IAlpZiAocmV0KSB7CiAJCURSTV9ERUJVR19EUklWRVIoIldhaXQgZm9yIHJlbmRlciByZXNldCBm YWlsZWRcbiIpOwogCQlnb3RvIG91dDsKIAl9CiAKLQlJOTE1X1dSSVRFKElMS19HRFNSLCBJTEtf R1JET01fTUVESUEgfCBJTEtfR1JET01fUkVTRVRfRU5BQkxFKTsKLQlyZXQgPSBpbnRlbF93YWl0 X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKLQkJCQkgICAgICBJTEtfR0RTUiwgSUxLX0dSRE9NX1JF U0VUX0VOQUJMRSwgMCwKLQkJCQkgICAgICA1MDApOworCUk5MTVfV1JJVEVfRlcoSUxLX0dEU1Is IElMS19HUkRPTV9NRURJQSB8IElMS19HUkRPTV9SRVNFVF9FTkFCTEUpOworCXJldCA9IF9faW50 ZWxfd2FpdF9mb3JfcmVnaXN0ZXJfZncoZGV2X3ByaXYsIElMS19HRFNSLAorCQkJCQkgICBJTEtf R1JET01fUkVTRVRfRU5BQkxFLCAwLAorCQkJCQkgICA1MDAwLCAwLAorCQkJCQkgICBOVUxMKTsK IAlpZiAocmV0KSB7CiAJCURSTV9ERUJVR19EUklWRVIoIldhaXQgZm9yIG1lZGlhIHJlc2V0IGZh aWxlZFxuIik7CiAJCWdvdG8gb3V0OwogCX0KIAogb3V0OgotCUk5MTVfV1JJVEUoSUxLX0dEU1Is IDApOwotCVBPU1RJTkdfUkVBRChJTEtfR0RTUik7CisJSTkxNV9XUklURV9GVyhJTEtfR0RTUiwg MCk7CisJUE9TVElOR19SRUFEX0ZXKElMS19HRFNSKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC01 NzIsNyArNTc0LDkgQEAgaW50IGludGVsX2dwdV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwgdW5zaWduZWQgaW50IGVuZ2luZV9tYXNrKQogCQlyZXQgPSAtRU5PREVWOwogCQlp ZiAocmVzZXQpIHsKIAkJCUdFTV9UUkFDRSgiZW5naW5lX21hc2s9JXhcbiIsIGVuZ2luZV9tYXNr KTsKKwkJCXByZWVtcHRfZGlzYWJsZSgpOwogCQkJcmV0ID0gcmVzZXQoaTkxNSwgZW5naW5lX21h c2ssIHJldHJ5KTsKKwkJCXByZWVtcHRfZW5hYmxlKCk7CiAJCX0KIAkJaWYgKHJldCAhPSAtRVRJ TUVET1VUIHx8IGVuZ2luZV9tYXNrICE9IEFMTF9FTkdJTkVTKQogCQkJYnJlYWs7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKaW5kZXggNGEy NWQyYTM0NGYyLi5lNzU2Y2JkMGIxZjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKQEAgLTU4LDggKzU4LDggQEAgc3RhdGljIHZvaWQg bW9ja19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWk5MTVfZ2VtX2Nv bnRleHRzX2xvc3QoaTkxNSk7CiAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4 KTsKIAotCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmaTkxNS0+Z3QucmV0aXJlX3dvcmspOwot CWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmaTkxNS0+Z3QuaWRsZV93b3JrKTsKKwlkcmFpbl9k ZWxheWVkX3dvcmsoJmk5MTUtPmd0LnJldGlyZV93b3JrKTsKKwlkcmFpbl9kZWxheWVkX3dvcmso Jmk5MTUtPmd0LmlkbGVfd29yayk7CiAJaTkxNV9nZW1fZHJhaW5fd29ya3F1ZXVlKGk5MTUpOwog CiAJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Ci0tIAoyLjIwLjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=