From mboxrd@z Thu Jan 1 00:00:00 1970 From: j.glisse@gmail.com Subject: [PATCH 14/24] drm/radeon: rework recursive gpu reset handling Date: Wed, 25 Apr 2012 15:03:19 -0400 Message-ID: <1335380609-5804-15-git-send-email-j.glisse@gmail.com> References: <1335380609-5804-1-git-send-email-j.glisse@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qa0-f49.google.com (mail-qa0-f49.google.com [209.85.216.49]) by gabe.freedesktop.org (Postfix) with ESMTP id A8DEF9F3A7 for ; Wed, 25 Apr 2012 12:04:05 -0700 (PDT) Received: by mail-qa0-f49.google.com with SMTP id j40so467725qab.15 for ; Wed, 25 Apr 2012 12:04:05 -0700 (PDT) In-Reply-To: <1335380609-5804-1-git-send-email-j.glisse@gmail.com> 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 RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8ZGVhdGhzaW1wbGVAdm9kYWZvbmUuZGU+CgpJbnN0ZWFk IG9mIGFsbCB0aGlzIGh1bXB5IHB1bXB5IHdpdGggcmVjdXJzaXZlCm11dGV4ICh3aGljaCBhbHNv IGZpeGVzIG9ubHkgaGFsdmUgb2YgdGhlIHByb2JsZW0pCm1vdmUgdGhlIGFjdHVhbCBncHUgcmVz ZXQgb3V0IG9mIHRoZSBmZW5jZSBjb2RlLApyZXR1cm4gLUVERUFETEsgYW5kIHRoZW4gcmVzZXQg dGhlIGdwdSBpbiB0aGUKY2FsbGluZyBpb2N0bCBmdW5jdGlvbi4KCnYyOiBTcGxpdCByZW1vdmFs IG9mIHJhZGVvbl9tdXRleCBpbnRvIHNlcGFyYXRlIHBhdGNoLgogICAgUmV0dXJuIC1FQUdBSU4g aWYgcmVzZXQgaXMgc3VjY2Vzc2Z1bC4KClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcg PGRlYXRoc2ltcGxlQHZvZGFmb25lLmRlPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2NzLmMgICAgIHwgICAxMyArKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9kZXZpY2UuYyB8ICAgIDUgLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2ZlbmNlLmMgIHwgICAxMCArKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9nZW0uYyAgICB8ICAgMTYgKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAz MiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f Y3MuYwppbmRleCA2NGI4NmU3Li5hMDgyNmJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Nz LmMKQEAgLTQ4OSw2ICs0ODksMTYgQEAgb3V0OgogCXJldHVybiByOwogfQogCitzdGF0aWMgaW50 IHJhZGVvbl9jc19oYW5kbGVfbG9ja3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQg cikKK3sKKwlpZiAociA9PSAtRURFQURMSykgeworCQlyID0gcmFkZW9uX2dwdV9yZXNldChyZGV2 KTsKKwkJaWYgKCFyKQorCQkJciA9IC1FQUdBSU47CisJfQorCXJldHVybiByOworfQorCiBpbnQg cmFkZW9uX2NzX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVj dCBkcm1fZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGRldi0+ ZGV2X3ByaXZhdGU7CkBAIC01MTAsNiArNTIwLDcgQEAgaW50IHJhZGVvbl9jc19pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCiAJ aWYgKHIpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwYXJzZXIgIVxuIik7 CiAJCXJhZGVvbl9jc19wYXJzZXJfZmluaSgmcGFyc2VyLCByKTsKKwkJciA9IHJhZGVvbl9jc19o YW5kbGVfbG9ja3VwKHJkZXYsIHIpOwogCQlyYWRlb25fbXV0ZXhfdW5sb2NrKCZyZGV2LT5jc19t dXRleCk7CiAJCXJldHVybiByOwogCX0KQEAgLTUxOCw2ICs1MjksNyBAQCBpbnQgcmFkZW9uX2Nz X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmls ZSAqZmlscCkKIAkJaWYgKHIgIT0gLUVSRVNUQVJUU1lTKQogCQkJRFJNX0VSUk9SKCJGYWlsZWQg dG8gcGFyc2UgcmVsb2NhdGlvbiAlZCFcbiIsIHIpOwogCQlyYWRlb25fY3NfcGFyc2VyX2Zpbmko JnBhcnNlciwgcik7CisJCXIgPSByYWRlb25fY3NfaGFuZGxlX2xvY2t1cChyZGV2LCByKTsKIAkJ cmFkZW9uX211dGV4X3VubG9jaygmcmRldi0+Y3NfbXV0ZXgpOwogCQlyZXR1cm4gcjsKIAl9CkBA IC01MzEsNiArNTQzLDcgQEAgaW50IHJhZGVvbl9jc19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCiAJfQogb3V0OgogCXJhZGVv bl9jc19wYXJzZXJfZmluaSgmcGFyc2VyLCByKTsKKwlyID0gcmFkZW9uX2NzX2hhbmRsZV9sb2Nr dXAocmRldiwgcik7CiAJcmFkZW9uX211dGV4X3VubG9jaygmcmRldi0+Y3NfbXV0ZXgpOwogCXJl dHVybiByOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2 aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYwppbmRleCAyNmZi OWRhLi4xZGFjMjdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9k ZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYwpAQCAt OTg0LDkgKzk4NCw2IEBAIGludCByYWRlb25fZ3B1X3Jlc2V0KHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2KQogCWludCByOwogCWludCByZXNjaGVkOwogCi0JLyogUHJldmVudCBDUyBpb2N0bCBm cm9tIGludGVyZmVyaW5nICovCi0JcmFkZW9uX211dGV4X2xvY2soJnJkZXYtPmNzX211dGV4KTsK LQogCXJhZGVvbl9zYXZlX2Jpb3Nfc2NyYXRjaF9yZWdzKHJkZXYpOwogCS8qIGJsb2NrIFRUTSAq LwogCXJlc2NoZWQgPSB0dG1fYm9fbG9ja19kZWxheWVkX3dvcmtxdWV1ZSgmcmRldi0+bW1hbi5i ZGV2KTsKQEAgLTEwMDEsOCArOTk4LDYgQEAgaW50IHJhZGVvbl9ncHVfcmVzZXQoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCiAJCXR0bV9ib191bmxvY2tfZGVsYXllZF93b3JrcXVldWUoJnJk ZXYtPm1tYW4uYmRldiwgcmVzY2hlZCk7CiAJfQogCi0JcmFkZW9uX211dGV4X3VubG9jaygmcmRl di0+Y3NfbXV0ZXgpOwotCiAJaWYgKHIpIHsKIAkJLyogYmFkIG5ld3MsIGhvdyB0byB0ZWxsIGl0 IHRvIHVzZXJzcGFjZSA/ICovCiAJCWRldl9pbmZvKHJkZXYtPmRldiwgIkdQVSByZXNldCBmYWls ZWRcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZmVuY2Uu YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ZlbmNlLmMKaW5kZXggYWJkMTBmOS4u Mjg2OGVkYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZmVuY2Uu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9mZW5jZS5jCkBAIC0yNjcsNiAr MjY3LDggQEAgaW50IHJhZGVvbl9mZW5jZV93YWl0KHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNl LCBib29sIGludHIpCiAJCQkvKiBjaGFuZ2Ugc2VxdWVuY2UgdmFsdWUgb24gYWxsIHJpbmdzLCBz byBub2JvZHkgZWxzZSB0aGluZ3MgdGhlcmUgaXMgYSBsb2NrdXAgKi8KIAkJCWZvciAoaSA9IDA7 IGkgPCBSQURFT05fTlVNX1JJTkdTOyArK2kpCiAJCQkJcmRldi0+ZmVuY2VfZHJ2W2ldLmxhc3Rf c2VxIC09IDB4MTAwMDA7CisKKwkJCXJkZXYtPmZlbmNlX2RydltmZW5jZS0+cmluZ10ubGFzdF9h Y3Rpdml0eSA9IGppZmZpZXM7CiAJCQl3cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmcmRldi0+ZmVu Y2VfbG9jaywgaXJxX2ZsYWdzKTsKIAogCQkJaWYgKHJhZGVvbl9yaW5nX2lzX2xvY2t1cChyZGV2 LCBmZW5jZS0+cmluZywgJnJkZXYtPnJpbmdbZmVuY2UtPnJpbmddKSkgewpAQCAtMjc3LDEzICsy NzksNyBAQCBpbnQgcmFkZW9uX2ZlbmNlX3dhaXQoc3RydWN0IHJhZGVvbl9mZW5jZSAqZmVuY2Us IGJvb2wgaW50cikKIAogCQkJCS8qIG1hcmsgdGhlIHJpbmcgYXMgbm90IHJlYWR5IGFueSBtb3Jl ICovCiAJCQkJcmRldi0+cmluZ1tmZW5jZS0+cmluZ10ucmVhZHkgPSBmYWxzZTsKLQkJCQlyID0g cmFkZW9uX2dwdV9yZXNldChyZGV2KTsKLQkJCQlpZiAocikKLQkJCQkJcmV0dXJuIHI7Ci0KLQkJ CQl3cml0ZV9sb2NrX2lycXNhdmUoJnJkZXYtPmZlbmNlX2xvY2ssIGlycV9mbGFncyk7Ci0JCQkJ cmRldi0+ZmVuY2VfZHJ2W2ZlbmNlLT5yaW5nXS5sYXN0X2FjdGl2aXR5ID0gamlmZmllczsKLQkJ CQl3cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmcmRldi0+ZmVuY2VfbG9jaywgaXJxX2ZsYWdzKTsK KwkJCQlyZXR1cm4gLUVERUFETEs7CiAJCQl9CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2dlbS5jCmluZGV4IGM3MDA4YjUuLmUxNWNiMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2dlbS5jCkBAIC0xNTQsNiArMTU0LDE3IEBAIHZvaWQgcmFkZW9uX2dlbV9vYmplY3RfY2xv c2Uoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCiAJcmFkZW9uX2JvX3VucmVzZXJ2ZShyYm8p OwogfQogCitzdGF0aWMgaW50IHJhZGVvbl9nZW1faGFuZGxlX2xvY2t1cChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwgaW50IHIpCit7CisJaWYgKHIgPT0gLUVERUFETEspIHsKKwkJcmFkZW9u X211dGV4X2xvY2soJnJkZXYtPmNzX211dGV4KTsKKwkJciA9IHJhZGVvbl9ncHVfcmVzZXQocmRl dik7CisJCWlmICghcikKKwkJCXIgPSAtRUFHQUlOOworCQlyYWRlb25fbXV0ZXhfdW5sb2NrKCZy ZGV2LT5jc19tdXRleCk7CisJfQorCXJldHVybiByOworfQogCiAvKgogICogR0VNIGlvY3Rscy4K QEAgLTIxMCwxMiArMjIxLDE0IEBAIGludCByYWRlb25fZ2VtX2NyZWF0ZV9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCQlhcmdzLT5pbml0aWFsX2RvbWFpbiwg ZmFsc2UsCiAJCQkJCWZhbHNlLCAmZ29iaik7CiAJaWYgKHIpIHsKKwkJciA9IHJhZGVvbl9nZW1f aGFuZGxlX2xvY2t1cChyZGV2LCByKTsKIAkJcmV0dXJuIHI7CiAJfQogCXIgPSBkcm1fZ2VtX2hh bmRsZV9jcmVhdGUoZmlscCwgZ29iaiwgJmhhbmRsZSk7CiAJLyogZHJvcCByZWZlcmVuY2UgZnJv bSBhbGxvY2F0ZSAtIGhhbmRsZSBob2xkcyBpdCBub3cgKi8KIAlkcm1fZ2VtX29iamVjdF91bnJl ZmVyZW5jZV91bmxvY2tlZChnb2JqKTsKIAlpZiAocikgeworCQlyID0gcmFkZW9uX2dlbV9oYW5k bGVfbG9ja3VwKHJkZXYsIHIpOwogCQlyZXR1cm4gcjsKIAl9CiAJYXJncy0+aGFuZGxlID0gaGFu ZGxlOwpAQCAtMjQ1LDYgKzI1OCw3IEBAIGludCByYWRlb25fZ2VtX3NldF9kb21haW5faW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlyID0gcmFkZW9uX2dlbV9zZXRf ZG9tYWluKGdvYmosIGFyZ3MtPnJlYWRfZG9tYWlucywgYXJncy0+d3JpdGVfZG9tYWluKTsKIAog CWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKGdvYmopOworCXIgPSByYWRlb25f Z2VtX2hhbmRsZV9sb2NrdXAocm9iai0+cmRldiwgcik7CiAJcmV0dXJuIHI7CiB9CiAKQEAgLTMw MSw2ICszMTUsNyBAQCBpbnQgcmFkZW9uX2dlbV9idXN5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCiAJCWJyZWFrOwogCX0KIAlkcm1fZ2VtX29iamVjdF91bnJlZmVy ZW5jZV91bmxvY2tlZChnb2JqKTsKKwlyID0gcmFkZW9uX2dlbV9oYW5kbGVfbG9ja3VwKHJvYmot PnJkZXYsIHIpOwogCXJldHVybiByOwogfQogCkBAIC0zMjIsNiArMzM3LDcgQEAgaW50IHJhZGVv bl9nZW1fd2FpdF9pZGxlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs CiAJaWYgKHJvYmotPnJkZXYtPmFzaWMtPmlvY3RsX3dhaXRfaWRsZSkKIAkJcm9iai0+cmRldi0+ YXNpYy0+aW9jdGxfd2FpdF9pZGxlKHJvYmotPnJkZXYsIHJvYmopOwogCWRybV9nZW1fb2JqZWN0 X3VucmVmZXJlbmNlX3VubG9ja2VkKGdvYmopOworCXIgPSByYWRlb25fZ2VtX2hhbmRsZV9sb2Nr dXAocm9iai0+cmRldiwgcik7CiAJcmV0dXJuIHI7CiB9CiAKLS0gCjEuNy43LjYKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==