From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 15/26] drm/radeon: rework recursive gpu reset handling Date: Wed, 25 Apr 2012 14:46:32 +0200 Message-ID: <1335358003-2987-16-git-send-email-deathsimple@vodafone.de> References: <1335358003-2987-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from outgoing.email.vodafone.de (outgoing.email.vodafone.de [139.7.28.128]) by gabe.freedesktop.org (Postfix) with ESMTP id 20B9CA0D38 for ; Wed, 25 Apr 2012 05:46:53 -0700 (PDT) In-Reply-To: <1335358003-2987-1-git-send-email-deathsimple@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org Cc: =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org SW5zdGVhZCBvZiBhbGwgdGhpcyBodW1weSBwdW1weSB3aXRoIHJlY3Vyc2l2ZQptdXRleCAod2hp Y2ggYWxzbyBmaXhlcyBvbmx5IGhhbHZlIG9mIHRoZSBwcm9ibGVtKQptb3ZlIHRoZSBhY3R1YWwg Z3B1IHJlc2V0IG91dCBvZiB0aGUgZmVuY2UgY29kZSwKcmV0dXJuIC1FREVBRExLIGFuZCB0aGVu IHJlc2V0IHRoZSBncHUgaW4gdGhlCmNhbGxpbmcgaW9jdGwgZnVuY3Rpb24uCgp2MjogU3BsaXQg cmVtb3ZhbCBvZiByYWRlb25fbXV0ZXggaW50byBzZXBhcmF0ZSBwYXRjaC4KICAgIFJldHVybiAt RUFHQUlOIGlmIHJlc2V0IGlzIHN1Y2Nlc3NmdWwuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4g S8O2bmlnIDxkZWF0aHNpbXBsZUB2b2RhZm9uZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9jcy5jICAgICB8ICAgMTMgKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fZGV2aWNlLmMgfCAgICA1IC0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9mZW5jZS5jICB8ICAgMTAgKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZ2VtLmMgICAgfCAgIDE2ICsrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hh bmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2NzLmMKaW5kZXggMjRmYjAwMS4uMDJlZWU0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9jcy5jCkBAIC00OTYsNiArNDk2LDE2IEBAIG91dDoKIAlyZXR1cm4gcjsKIH0KIAorc3Rh dGljIGludCByYWRlb25fY3NfaGFuZGxlX2xvY2t1cChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl diwgaW50IHIpCit7CisJaWYgKHIgPT0gLUVERUFETEspIHsKKwkJciA9IHJhZGVvbl9ncHVfcmVz ZXQocmRldik7CisJCWlmICghcikKKwkJCXIgPSAtRUFHQUlOOworCX0KKwlyZXR1cm4gcjsKK30K KwogaW50IHJhZGVvbl9jc19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCiB7CiAJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYg PSBkZXYtPmRldl9wcml2YXRlOwpAQCAtNTE3LDYgKzUyNyw3IEBAIGludCByYWRlb25fY3NfaW9j dGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpm aWxwKQogCWlmIChyKSB7CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUgcGFyc2Vy ICFcbiIpOwogCQlyYWRlb25fY3NfcGFyc2VyX2ZpbmkoJnBhcnNlciwgcik7CisJCXIgPSByYWRl b25fY3NfaGFuZGxlX2xvY2t1cChyZGV2LCByKTsKIAkJcmFkZW9uX211dGV4X3VubG9jaygmcmRl di0+Y3NfbXV0ZXgpOwogCQlyZXR1cm4gcjsKIAl9CkBAIC01MjUsNiArNTM2LDcgQEAgaW50IHJh ZGVvbl9jc19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbHApCiAJCWlmIChyICE9IC1FUkVTVEFSVFNZUykKIAkJCURSTV9FUlJPUigi RmFpbGVkIHRvIHBhcnNlIHJlbG9jYXRpb24gJWQhXG4iLCByKTsKIAkJcmFkZW9uX2NzX3BhcnNl cl9maW5pKCZwYXJzZXIsIHIpOworCQlyID0gcmFkZW9uX2NzX2hhbmRsZV9sb2NrdXAocmRldiwg cik7CiAJCXJhZGVvbl9tdXRleF91bmxvY2soJnJkZXYtPmNzX211dGV4KTsKIAkJcmV0dXJuIHI7 CiAJfQpAQCAtNTM4LDYgKzU1MCw3IEBAIGludCByYWRlb25fY3NfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxwKQogCX0KIG91dDoK IAlyYWRlb25fY3NfcGFyc2VyX2ZpbmkoJnBhcnNlciwgcik7CisJciA9IHJhZGVvbl9jc19oYW5k bGVfbG9ja3VwKHJkZXYsIHIpOwogCXJhZGVvbl9tdXRleF91bmxvY2soJnJkZXYtPmNzX211dGV4 KTsKIAlyZXR1cm4gcjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMKaW5k ZXggODUzZTFjYi4uOGE0YTIxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fZGV2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNl LmMKQEAgLTk4Myw5ICs5ODMsNiBAQCBpbnQgcmFkZW9uX2dwdV9yZXNldChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldikKIAlpbnQgcjsKIAlpbnQgcmVzY2hlZDsKIAotCS8qIFByZXZlbnQgQ1Mg aW9jdGwgZnJvbSBpbnRlcmZlcmluZyAqLwotCXJhZGVvbl9tdXRleF9sb2NrKCZyZGV2LT5jc19t dXRleCk7Ci0KIAlyYWRlb25fc2F2ZV9iaW9zX3NjcmF0Y2hfcmVncyhyZGV2KTsKIAkvKiBibG9j ayBUVE0gKi8KIAlyZXNjaGVkID0gdHRtX2JvX2xvY2tfZGVsYXllZF93b3JrcXVldWUoJnJkZXYt Pm1tYW4uYmRldik7CkBAIC0xMDAwLDggKzk5Nyw2IEBAIGludCByYWRlb25fZ3B1X3Jlc2V0KHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCQl0dG1fYm9fdW5sb2NrX2RlbGF5ZWRfd29ya3F1 ZXVlKCZyZGV2LT5tbWFuLmJkZXYsIHJlc2NoZWQpOwogCX0KIAotCXJhZGVvbl9tdXRleF91bmxv Y2soJnJkZXYtPmNzX211dGV4KTsKLQogCWlmIChyKSB7CiAJCS8qIGJhZCBuZXdzLCBob3cgdG8g dGVsbCBpdCB0byB1c2Vyc3BhY2UgPyAqLwogCQlkZXZfaW5mbyhyZGV2LT5kZXYsICJHUFUgcmVz ZXQgZmFpbGVkXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2ZlbmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9mZW5jZS5jCmluZGV4IDVi YjFiYzRkLi42NmU2ZWUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9mZW5jZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ZlbmNlLmMKQEAg LTI2Nyw2ICsyNjcsOCBAQCBpbnQgcmFkZW9uX2ZlbmNlX3dhaXQoc3RydWN0IHJhZGVvbl9mZW5j ZSAqZmVuY2UsIGJvb2wgaW50cikKIAkJCS8qIGNoYW5nZSBzZXF1ZW5jZSB2YWx1ZSBvbiBhbGwg cmluZ3MsIHNvIG5vYm9keSBlbHNlIHRoaW5ncyB0aGVyZSBpcyBhIGxvY2t1cCAqLwogCQkJZm9y IChpID0gMDsgaSA8IFJBREVPTl9OVU1fUklOR1M7ICsraSkKIAkJCQlyZGV2LT5mZW5jZV9kcnZb aV0ubGFzdF9zZXEgLT0gMHgxMDAwMDsKKworCQkJcmRldi0+ZmVuY2VfZHJ2W2ZlbmNlLT5yaW5n XS5sYXN0X2FjdGl2aXR5ID0gamlmZmllczsKIAkJCXdyaXRlX3VubG9ja19pcnFyZXN0b3JlKCZy ZGV2LT5mZW5jZV9sb2NrLCBpcnFfZmxhZ3MpOwogCiAJCQlpZiAocmFkZW9uX3JpbmdfaXNfbG9j a3VwKHJkZXYsIGZlbmNlLT5yaW5nLCAmcmRldi0+cmluZ1tmZW5jZS0+cmluZ10pKSB7CkBAIC0y NzcsMTMgKzI3OSw3IEBAIGludCByYWRlb25fZmVuY2Vfd2FpdChzdHJ1Y3QgcmFkZW9uX2ZlbmNl ICpmZW5jZSwgYm9vbCBpbnRyKQogCiAJCQkJLyogbWFyayB0aGUgcmluZyBhcyBub3QgcmVhZHkg YW55IG1vcmUgKi8KIAkJCQlyZGV2LT5yaW5nW2ZlbmNlLT5yaW5nXS5yZWFkeSA9IGZhbHNlOwot CQkJCXIgPSByYWRlb25fZ3B1X3Jlc2V0KHJkZXYpOwotCQkJCWlmIChyKQotCQkJCQlyZXR1cm4g cjsKLQotCQkJCXdyaXRlX2xvY2tfaXJxc2F2ZSgmcmRldi0+ZmVuY2VfbG9jaywgaXJxX2ZsYWdz KTsKLQkJCQlyZGV2LT5mZW5jZV9kcnZbZmVuY2UtPnJpbmddLmxhc3RfYWN0aXZpdHkgPSBqaWZm aWVzOwotCQkJCXdyaXRlX3VubG9ja19pcnFyZXN0b3JlKCZyZGV2LT5mZW5jZV9sb2NrLCBpcnFf ZmxhZ3MpOworCQkJCXJldHVybiAtRURFQURMSzsKIAkJCX0KIAkJfQogCX0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZ2VtLmMKaW5kZXggYzcwMDhiNS4uZTE1Y2IxZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZ2VtLmMKQEAgLTE1NCw2ICsxNTQsMTcgQEAgdm9pZCByYWRlb25fZ2VtX29i amVjdF9jbG9zZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKIAlyYWRlb25fYm9fdW5yZXNl cnZlKHJibyk7CiB9CiAKK3N0YXRpYyBpbnQgcmFkZW9uX2dlbV9oYW5kbGVfbG9ja3VwKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgcikKK3sKKwlpZiAociA9PSAtRURFQURMSykgewor CQlyYWRlb25fbXV0ZXhfbG9jaygmcmRldi0+Y3NfbXV0ZXgpOworCQlyID0gcmFkZW9uX2dwdV9y ZXNldChyZGV2KTsKKwkJaWYgKCFyKQorCQkJciA9IC1FQUdBSU47CisJCXJhZGVvbl9tdXRleF91 bmxvY2soJnJkZXYtPmNzX211dGV4KTsKKwl9CisJcmV0dXJuIHI7Cit9CiAKIC8qCiAgKiBHRU0g aW9jdGxzLgpAQCAtMjEwLDEyICsyMjEsMTQgQEAgaW50IHJhZGVvbl9nZW1fY3JlYXRlX2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJCWFyZ3MtPmluaXRpYWxf ZG9tYWluLCBmYWxzZSwKIAkJCQkJZmFsc2UsICZnb2JqKTsKIAlpZiAocikgeworCQlyID0gcmFk ZW9uX2dlbV9oYW5kbGVfbG9ja3VwKHJkZXYsIHIpOwogCQlyZXR1cm4gcjsKIAl9CiAJciA9IGRy bV9nZW1faGFuZGxlX2NyZWF0ZShmaWxwLCBnb2JqLCAmaGFuZGxlKTsKIAkvKiBkcm9wIHJlZmVy ZW5jZSBmcm9tIGFsbG9jYXRlIC0gaGFuZGxlIGhvbGRzIGl0IG5vdyAqLwogCWRybV9nZW1fb2Jq ZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKGdvYmopOwogCWlmIChyKSB7CisJCXIgPSByYWRlb25f Z2VtX2hhbmRsZV9sb2NrdXAocmRldiwgcik7CiAJCXJldHVybiByOwogCX0KIAlhcmdzLT5oYW5k bGUgPSBoYW5kbGU7CkBAIC0yNDUsNiArMjU4LDcgQEAgaW50IHJhZGVvbl9nZW1fc2V0X2RvbWFp bl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCXIgPSByYWRlb25f Z2VtX3NldF9kb21haW4oZ29iaiwgYXJncy0+cmVhZF9kb21haW5zLCBhcmdzLT53cml0ZV9kb21h aW4pOwogCiAJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoZ29iaik7CisJciA9 IHJhZGVvbl9nZW1faGFuZGxlX2xvY2t1cChyb2JqLT5yZGV2LCByKTsKIAlyZXR1cm4gcjsKIH0K IApAQCAtMzAxLDYgKzMxNSw3IEBAIGludCByYWRlb25fZ2VtX2J1c3lfaW9jdGwoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJYnJlYWs7CiAJfQogCWRybV9nZW1fb2JqZWN0 X3VucmVmZXJlbmNlX3VubG9ja2VkKGdvYmopOworCXIgPSByYWRlb25fZ2VtX2hhbmRsZV9sb2Nr dXAocm9iai0+cmRldiwgcik7CiAJcmV0dXJuIHI7CiB9CiAKQEAgLTMyMiw2ICszMzcsNyBAQCBp bnQgcmFkZW9uX2dlbV93YWl0X2lkbGVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKIAlpZiAocm9iai0+cmRldi0+YXNpYy0+aW9jdGxfd2FpdF9pZGxlKQogCQlyb2Jq LT5yZGV2LT5hc2ljLT5pb2N0bF93YWl0X2lkbGUocm9iai0+cmRldiwgcm9iaik7CiAJZHJtX2dl bV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoZ29iaik7CisJciA9IHJhZGVvbl9nZW1faGFu ZGxlX2xvY2t1cChyb2JqLT5yZGV2LCByKTsKIAlyZXR1cm4gcjsKIH0KIAotLSAKMS43LjUuNAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK