From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grazvydas Ignotas Subject: [PATCH 1/4] drm/radeon: simplify register checker Date: Sun, 23 Aug 2015 03:57:35 +0300 Message-ID: <1440291458-11602-2-git-send-email-notasas@gmail.com> References: <1440291458-11602-1-git-send-email-notasas@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id F108B6E82A for ; Sat, 22 Aug 2015 17:57:43 -0700 (PDT) Received: by wicne3 with SMTP id ne3so42828137wic.0 for ; Sat, 22 Aug 2015 17:57:42 -0700 (PDT) In-Reply-To: <1440291458-11602-1-git-send-email-notasas@gmail.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 List-Id: dri-devel@lists.freedesktop.org VG8gYXZvaWQgaGF2aW5nIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gQ0FZTUFOIG9yIG9sZGVyIG9u IGV2ZXJ5IHJlZ2lzdGVyCmNoZWNrLCBwbGFjZSBhIHBvaW50ZXIgaW4gZXZlcmdyZWVuX2NzX3Ry YWNrIGFuZCB1c2UgaXQgdW5jb25kaXRpb25hbGx5LgpBbHNvIG1ha2UgdXNlIG9mIHRoZSBmYWN0 IHRoYXQgYm90aCByZWdfc2FmZV9ibVtdIGFycmF5cyBhcmUgb2YgdGhlIHNhbWUKbGVuZ3RoIHRv IHJlbW92ZSBhbm90aGVyIENBWU1BTiBjaGVjay4KClNpZ25lZC1vZmYtYnk6IEdyYXp2eWRhcyBJ Z25vdGFzIDxub3Rhc2FzQGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2 ZXJncmVlbl9jcy5jIHwgNDkgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9jcy5jIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9ldmVyZ3JlZW5fY3MuYwppbmRleCBjOWUwZmJiLi41Yzg0MGRhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbl9jcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vZXZlcmdyZWVuX2NzLmMKQEAgLTM0LDYgKzM0LDggQEAKICNkZWZpbmUg TUFYKGEsYikgICAgICAgICAgICAgICAgICAgKCgoYSk+KGIpKT8oYSk6KGIpKQogI2RlZmluZSBN SU4oYSxiKSAgICAgICAgICAgICAgICAgICAoKChhKTwoYikpPyhhKTooYikpCiAKKyNkZWZpbmUg UkVHX1NBRkVfQk1fU0laRSBBUlJBWV9TSVpFKGV2ZXJncmVlbl9yZWdfc2FmZV9ibSkKKwogaW50 IHI2MDBfZG1hX2NzX25leHRfcmVsb2Moc3RydWN0IHJhZGVvbl9jc19wYXJzZXIgKnAsCiAJCQkg ICBzdHJ1Y3QgcmFkZW9uX2JvX2xpc3QgKipjc19yZWxvYyk7CiBzdHJ1Y3QgZXZlcmdyZWVuX2Nz X3RyYWNrIHsKQEAgLTg0LDYgKzg2LDcgQEAgc3RydWN0IGV2ZXJncmVlbl9jc190cmFjayB7CiAJ dTMyCQkJaHRpbGVfc3VyZmFjZTsKIAlzdHJ1Y3QgcmFkZW9uX2JvCSpodGlsZV9ibzsKIAl1bnNp Z25lZCBsb25nCQlpbmRpcmVjdF9kcmF3X2J1ZmZlcl9zaXplOworCWNvbnN0IHVuc2lnbmVkCQkq cmVnX3NhZmVfYm07CiB9OwogCiBzdGF0aWMgdTMyIGV2ZXJncmVlbl9jc19nZXRfYXJheV9tb2Rl KHUzMiB0aWxpbmdfZmxhZ3MpCkBAIC0xMDk2LDI4ICsxMDk5LDE3IEBAIHN0YXRpYyBpbnQgZXZl cmdyZWVuX2NzX2NoZWNrX3JlZyhzdHJ1Y3QgcmFkZW9uX2NzX3BhcnNlciAqcCwgdTMyIHJlZywg dTMyIGlkeCkKIHsKIAlzdHJ1Y3QgZXZlcmdyZWVuX2NzX3RyYWNrICp0cmFjayA9IChzdHJ1Y3Qg ZXZlcmdyZWVuX2NzX3RyYWNrICopcC0+dHJhY2s7CiAJc3RydWN0IHJhZGVvbl9ib19saXN0ICpy ZWxvYzsKLQl1MzIgbGFzdF9yZWc7CiAJdTMyIG0sIGksIHRtcCwgKmliOwogCWludCByOwogCi0J aWYgKHAtPnJkZXYtPmZhbWlseSA+PSBDSElQX0NBWU1BTikKLQkJbGFzdF9yZWcgPSBBUlJBWV9T SVpFKGNheW1hbl9yZWdfc2FmZV9ibSk7Ci0JZWxzZQotCQlsYXN0X3JlZyA9IEFSUkFZX1NJWkUo ZXZlcmdyZWVuX3JlZ19zYWZlX2JtKTsKLQogCWkgPSAocmVnID4+IDcpOwotCWlmIChpID49IGxh c3RfcmVnKSB7CisJaWYgKHVubGlrZWx5KGkgPj0gUkVHX1NBRkVfQk1fU0laRSkpIHsKIAkJZGV2 X3dhcm4ocC0+ZGV2LCAiZm9yYmlkZGVuIHJlZ2lzdGVyIDB4JTA4eCBhdCAlZFxuIiwgcmVnLCBp ZHgpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJbSA9IDEgPDwgKChyZWcgPj4gMikgJiAzMSk7 Ci0JaWYgKHAtPnJkZXYtPmZhbWlseSA+PSBDSElQX0NBWU1BTikgewotCQlpZiAoIShjYXltYW5f cmVnX3NhZmVfYm1baV0gJiBtKSkKLQkJCXJldHVybiAwOwotCX0gZWxzZSB7Ci0JCWlmICghKGV2 ZXJncmVlbl9yZWdfc2FmZV9ibVtpXSAmIG0pKQotCQkJcmV0dXJuIDA7Ci0JfQorCWlmICghKHRy YWNrLT5yZWdfc2FmZV9ibVtpXSAmIG0pKQorCQlyZXR1cm4gMDsKIAlpYiA9IHAtPmliLnB0cjsK IAlzd2l0Y2ggKHJlZykgewogCS8qIGZvcmNlIGZvbGxvd2luZyByZWcgdG8gMCBpbiBhbiBhdHRl bXB0IHRvIGRpc2FibGUgb3V0IGJ1ZmZlcgpAQCAtMTc2NiwyNiArMTc1OCwxNyBAQCBzdGF0aWMg aW50IGV2ZXJncmVlbl9jc19jaGVja19yZWcoc3RydWN0IHJhZGVvbl9jc19wYXJzZXIgKnAsIHUz MiByZWcsIHUzMiBpZHgpCiAKIHN0YXRpYyBib29sIGV2ZXJncmVlbl9pc19zYWZlX3JlZyhzdHJ1 Y3QgcmFkZW9uX2NzX3BhcnNlciAqcCwgdTMyIHJlZywgdTMyIGlkeCkKIHsKLQl1MzIgbGFzdF9y ZWcsIG0sIGk7Ci0KLQlpZiAocC0+cmRldi0+ZmFtaWx5ID49IENISVBfQ0FZTUFOKQotCQlsYXN0 X3JlZyA9IEFSUkFZX1NJWkUoY2F5bWFuX3JlZ19zYWZlX2JtKTsKLQllbHNlCi0JCWxhc3RfcmVn ID0gQVJSQVlfU0laRShldmVyZ3JlZW5fcmVnX3NhZmVfYm0pOworCXN0cnVjdCBldmVyZ3JlZW5f Y3NfdHJhY2sgKnRyYWNrID0gcC0+dHJhY2s7CisJdTMyIG0sIGk7CiAKIAlpID0gKHJlZyA+PiA3 KTsKLQlpZiAoaSA+PSBsYXN0X3JlZykgeworCWlmICh1bmxpa2VseShpID49IFJFR19TQUZFX0JN X1NJWkUpKSB7CiAJCWRldl93YXJuKHAtPmRldiwgImZvcmJpZGRlbiByZWdpc3RlciAweCUwOHgg YXQgJWRcbiIsIHJlZywgaWR4KTsKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAltID0gMSA8PCAoKHJl ZyA+PiAyKSAmIDMxKTsKLQlpZiAocC0+cmRldi0+ZmFtaWx5ID49IENISVBfQ0FZTUFOKSB7Ci0J CWlmICghKGNheW1hbl9yZWdfc2FmZV9ibVtpXSAmIG0pKQotCQkJcmV0dXJuIHRydWU7Ci0JfSBl bHNlIHsKLQkJaWYgKCEoZXZlcmdyZWVuX3JlZ19zYWZlX2JtW2ldICYgbSkpCi0JCQlyZXR1cm4g dHJ1ZTsKLQl9CisJaWYgKCEodHJhY2stPnJlZ19zYWZlX2JtW2ldICYgbSkpCisJCXJldHVybiB0 cnVlOwogCWRldl93YXJuKHAtPmRldiwgImZvcmJpZGRlbiByZWdpc3RlciAweCUwOHggYXQgJWRc biIsIHJlZywgaWR4KTsKIAlyZXR1cm4gZmFsc2U7CiB9CkBAIC0yNjQ0LDExICsyNjI3LDE1IEBA IGludCBldmVyZ3JlZW5fY3NfcGFyc2Uoc3RydWN0IHJhZGVvbl9jc19wYXJzZXIgKnApCiAJCWlm ICh0cmFjayA9PSBOVUxMKQogCQkJcmV0dXJuIC1FTk9NRU07CiAJCWV2ZXJncmVlbl9jc190cmFj a19pbml0KHRyYWNrKTsKLQkJaWYgKHAtPnJkZXYtPmZhbWlseSA+PSBDSElQX0NBWU1BTikKKwkJ aWYgKHAtPnJkZXYtPmZhbWlseSA+PSBDSElQX0NBWU1BTikgewogCQkJdG1wID0gcC0+cmRldi0+ Y29uZmlnLmNheW1hbi50aWxlX2NvbmZpZzsKLQkJZWxzZQorCQkJdHJhY2stPnJlZ19zYWZlX2Jt ID0gY2F5bWFuX3JlZ19zYWZlX2JtOworCQl9IGVsc2UgewogCQkJdG1wID0gcC0+cmRldi0+Y29u ZmlnLmV2ZXJncmVlbi50aWxlX2NvbmZpZzsKLQorCQkJdHJhY2stPnJlZ19zYWZlX2JtID0gZXZl cmdyZWVuX3JlZ19zYWZlX2JtOworCQl9CisJCUJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGNheW1h bl9yZWdfc2FmZV9ibSkgIT0gUkVHX1NBRkVfQk1fU0laRSk7CisJCUJVSUxEX0JVR19PTihBUlJB WV9TSVpFKGV2ZXJncmVlbl9yZWdfc2FmZV9ibSkgIT0gUkVHX1NBRkVfQk1fU0laRSk7CiAJCXN3 aXRjaCAodG1wICYgMHhmKSB7CiAJCWNhc2UgMDoKIAkJCXRyYWNrLT5ucGlwZXMgPSAxOwotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==