From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 4/5] drm/radeon: separate vblank and pflip crtc handling Date: Tue, 27 May 2014 16:49:21 +0200 Message-ID: <1401202162-1925-4-git-send-email-deathsimple@vodafone.de> References: <1401202162-1925-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 pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 203EA6E6FD for ; Tue, 27 May 2014 07:49:38 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by pegasos-out.vodafone.de (Rohrpostix1 Daemon) with ESMTP id 8ABC026138E for ; Tue, 27 May 2014 16:49:37 +0200 (CEST) Received: from pegasos-out.vodafone.de ([127.0.0.1]) by localhost (rohrpostix1.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ehOMUX5LAJJT for ; Tue, 27 May 2014 16:49:32 +0200 (CEST) Received: from smtp-03.vodafone.de (smtp-03.vodafone.de [10.215.254.38]) by pegasos-out.vodafone.de (Rohrpostix1 Daemon) with ESMTP id 031672613ED for ; Tue, 27 May 2014 16:49:32 +0200 (CEST) Received: from smtp-03.vodafone.de ([127.0.0.1]) by localhost (xsmail-dmz7.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vq6-q1RZ2QsC for ; Tue, 27 May 2014 16:49:25 +0200 (CEST) In-Reply-To: <1401202162-1925-1-git-send-email-deathsimple@vodafone.de> 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 RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKU2lnbmVk LW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0t LQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYyAgICAgIHwgMTIgKysrKysrLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYyAgICAgICAgICAgfCAgNCArKy0tCiBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMgfCAzMyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUuaCAgICB8 ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM2MDAuYyAgICAgICAgICB8ICA0ICsrLS0K IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYyAgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0t LQogOCBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9jaWsuYwppbmRleCA4ZDBmMTc3Li5hNTE4MTQwIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL2Npay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vY2lrLmMK QEAgLTczMTQsNyArNzMxNCw3IEBAIHJlc3RhcnRfaWg6CiAJCQkJCQl3YWtlX3VwKCZyZGV2LT5p cnEudmJsYW5rX3F1ZXVlKTsKIAkJCQkJfQogCQkJCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmly cS5wZmxpcFswXSkpCi0JCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCAwKTsKKwkJ CQkJCXJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgMCk7CiAJCQkJCXJkZXYtPmlycS5z dGF0X3JlZ3MuY2lrLmRpc3BfaW50ICY9IH5MQl9EMV9WQkxBTktfSU5URVJSVVBUOwogCQkJCQlE Uk1fREVCVUcoIklIOiBEMSB2YmxhbmtcbiIpOwogCQkJCX0KQEAgLTczNDAsNyArNzM0MCw3IEBA IHJlc3RhcnRfaWg6CiAJCQkJCQl3YWtlX3VwKCZyZGV2LT5pcnEudmJsYW5rX3F1ZXVlKTsKIAkJ CQkJfQogCQkJCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFsxXSkpCi0JCQkJCQly YWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCAxKTsKKwkJCQkJCXJhZGVvbl9jcnRjX2hhbmRs ZV92YmxhbmsocmRldiwgMSk7CiAJCQkJCXJkZXYtPmlycS5zdGF0X3JlZ3MuY2lrLmRpc3BfaW50 X2NvbnQgJj0gfkxCX0QyX1ZCTEFOS19JTlRFUlJVUFQ7CiAJCQkJCURSTV9ERUJVRygiSUg6IEQy IHZibGFua1xuIik7CiAJCQkJfQpAQCAtNzM2Niw3ICs3MzY2LDcgQEAgcmVzdGFydF9paDoKIAkJ CQkJCXdha2VfdXAoJnJkZXYtPmlycS52YmxhbmtfcXVldWUpOwogCQkJCQl9CiAJCQkJCWlmIChh dG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzJdKSkKLQkJCQkJCXJhZGVvbl9jcnRjX2hhbmRs ZV9mbGlwKHJkZXYsIDIpOworCQkJCQkJcmFkZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCAy KTsKIAkJCQkJcmRldi0+aXJxLnN0YXRfcmVncy5jaWsuZGlzcF9pbnRfY29udDIgJj0gfkxCX0Qz X1ZCTEFOS19JTlRFUlJVUFQ7CiAJCQkJCURSTV9ERUJVRygiSUg6IEQzIHZibGFua1xuIik7CiAJ CQkJfQpAQCAtNzM5Miw3ICs3MzkyLDcgQEAgcmVzdGFydF9paDoKIAkJCQkJCXdha2VfdXAoJnJk ZXYtPmlycS52YmxhbmtfcXVldWUpOwogCQkJCQl9CiAJCQkJCWlmIChhdG9taWNfcmVhZCgmcmRl di0+aXJxLnBmbGlwWzNdKSkKLQkJCQkJCXJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDMp OworCQkJCQkJcmFkZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCAzKTsKIAkJCQkJcmRldi0+ aXJxLnN0YXRfcmVncy5jaWsuZGlzcF9pbnRfY29udDMgJj0gfkxCX0Q0X1ZCTEFOS19JTlRFUlJV UFQ7CiAJCQkJCURSTV9ERUJVRygiSUg6IEQ0IHZibGFua1xuIik7CiAJCQkJfQpAQCAtNzQxOCw3 ICs3NDE4LDcgQEAgcmVzdGFydF9paDoKIAkJCQkJCXdha2VfdXAoJnJkZXYtPmlycS52Ymxhbmtf cXVldWUpOwogCQkJCQl9CiAJCQkJCWlmIChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzRd KSkKLQkJCQkJCXJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDQpOworCQkJCQkJcmFkZW9u X2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCA0KTsKIAkJCQkJcmRldi0+aXJxLnN0YXRfcmVncy5j aWsuZGlzcF9pbnRfY29udDQgJj0gfkxCX0Q1X1ZCTEFOS19JTlRFUlJVUFQ7CiAJCQkJCURSTV9E RUJVRygiSUg6IEQ1IHZibGFua1xuIik7CiAJCQkJfQpAQCAtNzQ0NCw3ICs3NDQ0LDcgQEAgcmVz dGFydF9paDoKIAkJCQkJCXdha2VfdXAoJnJkZXYtPmlycS52YmxhbmtfcXVldWUpOwogCQkJCQl9 CiAJCQkJCWlmIChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzVdKSkKLQkJCQkJCXJhZGVv bl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDUpOworCQkJCQkJcmFkZW9uX2NydGNfaGFuZGxlX3Zi bGFuayhyZGV2LCA1KTsKIAkJCQkJcmRldi0+aXJxLnN0YXRfcmVncy5jaWsuZGlzcF9pbnRfY29u dDUgJj0gfkxCX0Q2X1ZCTEFOS19JTlRFUlJVUFQ7CiAJCQkJCURSTV9ERUJVRygiSUg6IEQ2IHZi bGFua1xuIik7CiAJCQkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVy Z3JlZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKaW5kZXggMzM2ZjBh NS4uMDMxODIzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCkBAIC00Nzg5LDcgKzQ3 ODksNyBAQCByZXN0YXJ0X2loOgogCQkJCQkJd2FrZV91cCgmcmRldi0+aXJxLnZibGFua19xdWV1 ZSk7CiAJCQkJCX0KIAkJCQkJaWYgKGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMF0pKQot CQkJCQkJcmFkZW9uX2NydGNfaGFuZGxlX2ZsaXAocmRldiwgMCk7CisJCQkJCQlyYWRlb25fY3J0 Y19oYW5kbGVfdmJsYW5rKHJkZXYsIDApOwogCQkJCQlyZGV2LT5pcnEuc3RhdF9yZWdzLmV2ZXJn cmVlbi5kaXNwX2ludCAmPSB+TEJfRDFfVkJMQU5LX0lOVEVSUlVQVDsKIAkJCQkJRFJNX0RFQlVH KCJJSDogRDEgdmJsYW5rXG4iKTsKIAkJCQl9CkBAIC00ODE1LDcgKzQ4MTUsNyBAQCByZXN0YXJ0 X2loOgogCQkJCQkJd2FrZV91cCgmcmRldi0+aXJxLnZibGFua19xdWV1ZSk7CiAJCQkJCX0KIAkJ CQkJaWYgKGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMV0pKQotCQkJCQkJcmFkZW9uX2Ny dGNfaGFuZGxlX2ZsaXAocmRldiwgMSk7CisJCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVfdmJsYW5r KHJkZXYsIDEpOwogCQkJCQlyZGV2LT5pcnEuc3RhdF9yZWdzLmV2ZXJncmVlbi5kaXNwX2ludF9j b250ICY9IH5MQl9EMl9WQkxBTktfSU5URVJSVVBUOwogCQkJCQlEUk1fREVCVUcoIklIOiBEMiB2 YmxhbmtcbiIpOwogCQkJCX0KQEAgLTQ4NDEsNyArNDg0MSw3IEBAIHJlc3RhcnRfaWg6CiAJCQkJ CQl3YWtlX3VwKCZyZGV2LT5pcnEudmJsYW5rX3F1ZXVlKTsKIAkJCQkJfQogCQkJCQlpZiAoYXRv bWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFsyXSkpCi0JCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVf ZmxpcChyZGV2LCAyKTsKKwkJCQkJCXJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgMik7 CiAJCQkJCXJkZXYtPmlycS5zdGF0X3JlZ3MuZXZlcmdyZWVuLmRpc3BfaW50X2NvbnQyICY9IH5M Ql9EM19WQkxBTktfSU5URVJSVVBUOwogCQkJCQlEUk1fREVCVUcoIklIOiBEMyB2YmxhbmtcbiIp OwogCQkJCX0KQEAgLTQ4NjcsNyArNDg2Nyw3IEBAIHJlc3RhcnRfaWg6CiAJCQkJCQl3YWtlX3Vw KCZyZGV2LT5pcnEudmJsYW5rX3F1ZXVlKTsKIAkJCQkJfQogCQkJCQlpZiAoYXRvbWljX3JlYWQo JnJkZXYtPmlycS5wZmxpcFszXSkpCi0JCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2 LCAzKTsKKwkJCQkJCXJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgMyk7CiAJCQkJCXJk ZXYtPmlycS5zdGF0X3JlZ3MuZXZlcmdyZWVuLmRpc3BfaW50X2NvbnQzICY9IH5MQl9ENF9WQkxB TktfSU5URVJSVVBUOwogCQkJCQlEUk1fREVCVUcoIklIOiBENCB2YmxhbmtcbiIpOwogCQkJCX0K QEAgLTQ4OTMsNyArNDg5Myw3IEBAIHJlc3RhcnRfaWg6CiAJCQkJCQl3YWtlX3VwKCZyZGV2LT5p cnEudmJsYW5rX3F1ZXVlKTsKIAkJCQkJfQogCQkJCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmly cS5wZmxpcFs0XSkpCi0JCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCA0KTsKKwkJ CQkJCXJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgNCk7CiAJCQkJCXJkZXYtPmlycS5z dGF0X3JlZ3MuZXZlcmdyZWVuLmRpc3BfaW50X2NvbnQ0ICY9IH5MQl9ENV9WQkxBTktfSU5URVJS VVBUOwogCQkJCQlEUk1fREVCVUcoIklIOiBENSB2YmxhbmtcbiIpOwogCQkJCX0KQEAgLTQ5MTks NyArNDkxOSw3IEBAIHJlc3RhcnRfaWg6CiAJCQkJCQl3YWtlX3VwKCZyZGV2LT5pcnEudmJsYW5r X3F1ZXVlKTsKIAkJCQkJfQogCQkJCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFs1 XSkpCi0JCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCA1KTsKKwkJCQkJCXJhZGVv bl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgNSk7CiAJCQkJCXJkZXYtPmlycS5zdGF0X3JlZ3Mu ZXZlcmdyZWVuLmRpc3BfaW50X2NvbnQ1ICY9IH5MQl9ENl9WQkxBTktfSU5URVJSVVBUOwogCQkJ CQlEUk1fREVCVUcoIklIOiBENiB2YmxhbmtcbiIpOwogCQkJCX0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMK aW5kZXggNTI1NDhmNy4uYWQ5OTgxMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yMTAwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMKQEAgLTc3OSw3ICs3 NzksNyBAQCBpbnQgcjEwMF9pcnFfcHJvY2VzcyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikK IAkJCQl3YWtlX3VwKCZyZGV2LT5pcnEudmJsYW5rX3F1ZXVlKTsKIAkJCX0KIAkJCWlmIChhdG9t aWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzBdKSkKLQkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxp cChyZGV2LCAwKTsKKwkJCQlyYWRlb25fY3J0Y19oYW5kbGVfdmJsYW5rKHJkZXYsIDApOwogCQl9 CiAJCWlmIChzdGF0dXMgJiBSQURFT05fQ1JUQzJfVkJMQU5LX1NUQVQpIHsKIAkJCWlmIChyZGV2 LT5pcnEuY3J0Y192YmxhbmtfaW50WzFdKSB7CkBAIC03ODgsNyArNzg4LDcgQEAgaW50IHIxMDBf aXJxX3Byb2Nlc3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJCQkJd2FrZV91cCgmcmRl di0+aXJxLnZibGFua19xdWV1ZSk7CiAJCQl9CiAJCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmly cS5wZmxpcFsxXSkpCi0JCQkJcmFkZW9uX2NydGNfaGFuZGxlX2ZsaXAocmRldiwgMSk7CisJCQkJ cmFkZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCAxKTsKIAkJfQogCQlpZiAoc3RhdHVzICYg UkFERU9OX0ZQX0RFVEVDVF9TVEFUKSB7CiAJCQlxdWV1ZV9ob3RwbHVnID0gdHJ1ZTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yNjAwLmMKaW5kZXggNmU4ODdkMC4uNDM2ZTU1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yNjAwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMK QEAgLTM4NzYsNyArMzg3Niw3IEBAIHJlc3RhcnRfaWg6CiAJCQkJCQl3YWtlX3VwKCZyZGV2LT5p cnEudmJsYW5rX3F1ZXVlKTsKIAkJCQkJfQogCQkJCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmly cS5wZmxpcFswXSkpCi0JCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCAwKTsKKwkJ CQkJCXJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgMCk7CiAJCQkJCXJkZXYtPmlycS5z dGF0X3JlZ3MucjYwMC5kaXNwX2ludCAmPSB+TEJfRDFfVkJMQU5LX0lOVEVSUlVQVDsKIAkJCQkJ RFJNX0RFQlVHKCJJSDogRDEgdmJsYW5rXG4iKTsKIAkJCQl9CkBAIC0zOTAyLDcgKzM5MDIsNyBA QCByZXN0YXJ0X2loOgogCQkJCQkJd2FrZV91cCgmcmRldi0+aXJxLnZibGFua19xdWV1ZSk7CiAJ CQkJCX0KIAkJCQkJaWYgKGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMV0pKQotCQkJCQkJ cmFkZW9uX2NydGNfaGFuZGxlX2ZsaXAocmRldiwgMSk7CisJCQkJCQlyYWRlb25fY3J0Y19oYW5k bGVfdmJsYW5rKHJkZXYsIDEpOwogCQkJCQlyZGV2LT5pcnEuc3RhdF9yZWdzLnI2MDAuZGlzcF9p bnQgJj0gfkxCX0QyX1ZCTEFOS19JTlRFUlJVUFQ7CiAJCQkJCURSTV9ERUJVRygiSUg6IEQyIHZi bGFua1xuIik7CiAJCQkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCmlu ZGV4IGM1MmMxODIuLjg4ZTNjYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNw bGF5LmMKQEAgLTI3Niw3ICsyNzYsNyBAQCBzdGF0aWMgdm9pZCByYWRlb25fdW5waW5fd29ya19m dW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqX193b3JrKQogCWtmcmVlKHdvcmspOwogfQogCi12b2lk IHJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQg Y3J0Y19pZCkKK3ZvaWQgcmFkZW9uX2NydGNfaGFuZGxlX3ZibGFuayhzdHJ1Y3QgcmFkZW9uX2Rl dmljZSAqcmRldiwgaW50IGNydGNfaWQpCiB7CiAJc3RydWN0IHJhZGVvbl9jcnRjICpyYWRlb25f Y3J0YyA9IHJkZXYtPm1vZGVfaW5mby5jcnRjc1tjcnRjX2lkXTsKIAlzdHJ1Y3QgcmFkZW9uX3Vu cGluX3dvcmsgKndvcms7CkBAIC0zMDIsNyArMzAyLDYgQEAgdm9pZCByYWRlb25fY3J0Y19oYW5k bGVfZmxpcChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNfaWQpCiAJCSAqIGNv bXBsZXRpb24gcm91dGluZS4KIAkJICovCiAJCXVwZGF0ZV9wZW5kaW5nID0gMDsKLQkJcmFkZW9u X2NydGMtPmRlZmVycmVkX2ZsaXBfY29tcGxldGlvbiA9IDA7CiAJfQogCiAJLyogSGFzIHRoZSBw YWdlZmxpcCBhbHJlYWR5IGNvbXBsZXRlZCBpbiBjcnRjLCBvciBpcyBpdCBjZXJ0YWluCkBAIC0z MzAsMTAgKzMyOSw0MCBAQCB2b2lkIHJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHN0cnVjdCByYWRl b25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCkKIAkJcmFkZW9uX2NydGMtPmRlZmVycmVkX2Zs aXBfY29tcGxldGlvbiA9IDE7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkZXYtPmRkZXYt PmV2ZW50X2xvY2ssIGZsYWdzKTsKIAkJcmV0dXJuOworCX0gZWxzZSB7CisJCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJnJkZXYtPmRkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKKwkJcmFkZW9uX2Ny dGNfaGFuZGxlX2ZsaXAocmRldiwgY3J0Y19pZCk7CisJfQorfQorCisvKioKKyAqIHJhZGVvbl9j cnRjX2hhbmRsZV9mbGlwIC0gcGFnZSBmbGlwIGNvbXBsZXRlZAorICoKKyAqIEByZGV2OiByYWRl b24gZGV2aWNlIHBvaW50ZXIKKyAqIEBjcnRjX2lkOiBjcnRjIG51bWJlciB0aGlzIGV2ZW50IGlz IGZvcgorICoKKyAqIENhbGxlZCB3aGVuIHdlIGFyZSBzdXJlIHRoYXQgYSBwYWdlIGZsaXAgZm9y IHRoaXMgY3J0YyBpcyBjb21wbGV0ZWQuCisgKi8KK3ZvaWQgcmFkZW9uX2NydGNfaGFuZGxlX2Zs aXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkKQoreworCXN0cnVjdCBy YWRlb25fY3J0YyAqcmFkZW9uX2NydGMgPSByZGV2LT5tb2RlX2luZm8uY3J0Y3NbY3J0Y19pZF07 CisJc3RydWN0IHJhZGVvbl91bnBpbl93b3JrICp3b3JrOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7 CisKKwkvKiB0aGlzIGNhbiBoYXBwZW4gYXQgaW5pdCAqLworCWlmIChyYWRlb25fY3J0YyA9PSBO VUxMKQorCQlyZXR1cm47CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcmRldi0+ZGRldi0+ZXZlbnRf bG9jaywgZmxhZ3MpOworCXdvcmsgPSByYWRlb25fY3J0Yy0+dW5waW5fd29yazsKKwlpZiAod29y ayA9PSBOVUxMKSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkZXYtPmRkZXYtPmV2ZW50 X2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuOwogCX0KIAogCS8qIFBhZ2VmbGlwICh3aWxsIGJlKSBj ZXJ0YWlubHkgY29tcGxldGVkIGluIHRoaXMgdmJsYW5rLiBDbGVhbiB1cC4gKi8KIAlyYWRlb25f Y3J0Yy0+dW5waW5fd29yayA9IE5VTEw7CisJcmFkZW9uX2NydGMtPmRlZmVycmVkX2ZsaXBfY29t cGxldGlvbiA9IDA7CiAKIAkvKiB3YWtldXAgdXNlcnNwYWNlICovCiAJaWYgKHdvcmstPmV2ZW50 KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW9kZS5oIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW9kZS5oCmluZGV4IGIyNjVhOGIuLjcxOGJlMWEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tb2RlLmgKQEAgLTkwNyw2ICs5MDcsNyBAQCBi b29sIHJhZGVvbl9mYmRldl9yb2JqX2lzX2ZiKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBz dHJ1Y3QgcmFkZW9uX2JvICpyb2JqKQogCiB2b2lkIHJhZGVvbl9mYl9vdXRwdXRfcG9sbF9jaGFu Z2VkKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKIAordm9pZCByYWRlb25fY3J0Y19oYW5k bGVfdmJsYW5rKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCk7CiB2b2lk IHJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQg Y3J0Y19pZCk7CiAKIGludCByYWRlb25fYWxpZ25fcGl0Y2goc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsIGludCB3aWR0aCwgaW50IGJwcCwgYm9vbCB0aWxlZCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JzNjAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JzNjAw LmMKaW5kZXggOTkyMmVlNS4uZGQxMmRjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yczYwMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM2MDAuYwpAQCAtNzgx LDcgKzc4MSw3IEBAIGludCByczYwMF9pcnFfcHJvY2VzcyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldikKIAkJCQl3YWtlX3VwKCZyZGV2LT5pcnEudmJsYW5rX3F1ZXVlKTsKIAkJCX0KIAkJCWlm IChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzBdKSkKLQkJCQlyYWRlb25fY3J0Y19oYW5k bGVfZmxpcChyZGV2LCAwKTsKKwkJCQlyYWRlb25fY3J0Y19oYW5kbGVfdmJsYW5rKHJkZXYsIDAp OwogCQl9CiAJCWlmIChHXzAwN0VEQ19MQl9EMl9WQkxBTktfSU5URVJSVVBUKHJkZXYtPmlycS5z dGF0X3JlZ3MucjUwMC5kaXNwX2ludCkpIHsKIAkJCWlmIChyZGV2LT5pcnEuY3J0Y192Ymxhbmtf aW50WzFdKSB7CkBAIC03OTAsNyArNzkwLDcgQEAgaW50IHJzNjAwX2lycV9wcm9jZXNzKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2KQogCQkJCXdha2VfdXAoJnJkZXYtPmlycS52YmxhbmtfcXVl dWUpOwogCQkJfQogCQkJaWYgKGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMV0pKQotCQkJ CXJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDEpOworCQkJCXJhZGVvbl9jcnRjX2hhbmRs ZV92YmxhbmsocmRldiwgMSk7CiAJCX0KIAkJaWYgKEdfMDA3RURDX0RDX0hPVF9QTFVHX0RFVEVD VDFfSU5URVJSVVBUKHJkZXYtPmlycS5zdGF0X3JlZ3MucjUwMC5kaXNwX2ludCkpIHsKIAkJCXF1 ZXVlX2hvdHBsdWcgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9z aS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jCmluZGV4IDk3MzlkNzEuLjVjMWMwYzcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3NpLmMKQEAgLTYxNTAsNyArNjE1MCw3IEBAIHJlc3RhcnRfaWg6CiAJCQkJ CQl3YWtlX3VwKCZyZGV2LT5pcnEudmJsYW5rX3F1ZXVlKTsKIAkJCQkJfQogCQkJCQlpZiAoYXRv bWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFswXSkpCi0JCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVf ZmxpcChyZGV2LCAwKTsKKwkJCQkJCXJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgMCk7 CiAJCQkJCXJkZXYtPmlycS5zdGF0X3JlZ3MuZXZlcmdyZWVuLmRpc3BfaW50ICY9IH5MQl9EMV9W QkxBTktfSU5URVJSVVBUOwogCQkJCQlEUk1fREVCVUcoIklIOiBEMSB2YmxhbmtcbiIpOwogCQkJ CX0KQEAgLTYxNzYsNyArNjE3Niw3IEBAIHJlc3RhcnRfaWg6CiAJCQkJCQl3YWtlX3VwKCZyZGV2 LT5pcnEudmJsYW5rX3F1ZXVlKTsKIAkJCQkJfQogCQkJCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYt PmlycS5wZmxpcFsxXSkpCi0JCQkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCAxKTsK KwkJCQkJCXJhZGVvbl9jcnRjX2hhbmRsZV92YmxhbmsocmRldiwgMSk7CiAJCQkJCXJkZXYtPmly cS5zdGF0X3JlZ3MuZXZlcmdyZWVuLmRpc3BfaW50X2NvbnQgJj0gfkxCX0QyX1ZCTEFOS19JTlRF UlJVUFQ7CiAJCQkJCURSTV9ERUJVRygiSUg6IEQyIHZibGFua1xuIik7CiAJCQkJfQpAQCAtNjIw Miw3ICs2MjAyLDcgQEAgcmVzdGFydF9paDoKIAkJCQkJCXdha2VfdXAoJnJkZXYtPmlycS52Ymxh bmtfcXVldWUpOwogCQkJCQl9CiAJCQkJCWlmIChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlw WzJdKSkKLQkJCQkJCXJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDIpOworCQkJCQkJcmFk ZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2LCAyKTsKIAkJCQkJcmRldi0+aXJxLnN0YXRfcmVn cy5ldmVyZ3JlZW4uZGlzcF9pbnRfY29udDIgJj0gfkxCX0QzX1ZCTEFOS19JTlRFUlJVUFQ7CiAJ CQkJCURSTV9ERUJVRygiSUg6IEQzIHZibGFua1xuIik7CiAJCQkJfQpAQCAtNjIyOCw3ICs2MjI4 LDcgQEAgcmVzdGFydF9paDoKIAkJCQkJCXdha2VfdXAoJnJkZXYtPmlycS52YmxhbmtfcXVldWUp OwogCQkJCQl9CiAJCQkJCWlmIChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzNdKSkKLQkJ CQkJCXJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDMpOworCQkJCQkJcmFkZW9uX2NydGNf aGFuZGxlX3ZibGFuayhyZGV2LCAzKTsKIAkJCQkJcmRldi0+aXJxLnN0YXRfcmVncy5ldmVyZ3Jl ZW4uZGlzcF9pbnRfY29udDMgJj0gfkxCX0Q0X1ZCTEFOS19JTlRFUlJVUFQ7CiAJCQkJCURSTV9E RUJVRygiSUg6IEQ0IHZibGFua1xuIik7CiAJCQkJfQpAQCAtNjI1NCw3ICs2MjU0LDcgQEAgcmVz dGFydF9paDoKIAkJCQkJCXdha2VfdXAoJnJkZXYtPmlycS52YmxhbmtfcXVldWUpOwogCQkJCQl9 CiAJCQkJCWlmIChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzRdKSkKLQkJCQkJCXJhZGVv bl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDQpOworCQkJCQkJcmFkZW9uX2NydGNfaGFuZGxlX3Zi bGFuayhyZGV2LCA0KTsKIAkJCQkJcmRldi0+aXJxLnN0YXRfcmVncy5ldmVyZ3JlZW4uZGlzcF9p bnRfY29udDQgJj0gfkxCX0Q1X1ZCTEFOS19JTlRFUlJVUFQ7CiAJCQkJCURSTV9ERUJVRygiSUg6 IEQ1IHZibGFua1xuIik7CiAJCQkJfQpAQCAtNjI4MCw3ICs2MjgwLDcgQEAgcmVzdGFydF9paDoK IAkJCQkJCXdha2VfdXAoJnJkZXYtPmlycS52YmxhbmtfcXVldWUpOwogCQkJCQl9CiAJCQkJCWlm IChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzVdKSkKLQkJCQkJCXJhZGVvbl9jcnRjX2hh bmRsZV9mbGlwKHJkZXYsIDUpOworCQkJCQkJcmFkZW9uX2NydGNfaGFuZGxlX3ZibGFuayhyZGV2 LCA1KTsKIAkJCQkJcmRldi0+aXJxLnN0YXRfcmVncy5ldmVyZ3JlZW4uZGlzcF9pbnRfY29udDUg Jj0gfkxCX0Q2X1ZCTEFOS19JTlRFUlJVUFQ7CiAJCQkJCURSTV9ERUJVRygiSUg6IEQ2IHZibGFu a1xuIik7CiAJCQkJfQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==