From mboxrd@z Thu Jan 1 00:00:00 1970 From: j.glisse@gmail.com Subject: [PATCH 10/18] drm/radeon: define new SA interface v2 Date: Fri, 4 May 2012 18:43:51 -0400 Message-ID: <1336171439-7672-11-git-send-email-j.glisse@gmail.com> References: <1336171439-7672-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-qc0-f177.google.com (mail-qc0-f177.google.com [209.85.216.177]) by gabe.freedesktop.org (Postfix) with ESMTP id 0A38BA0D5C for ; Fri, 4 May 2012 15:44:28 -0700 (PDT) Received: by mail-qc0-f177.google.com with SMTP id u28so2491993qcs.36 for ; Fri, 04 May 2012 15:44:28 -0700 (PDT) In-Reply-To: <1336171439-7672-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?= , Jerome Glisse List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8ZGVhdGhzaW1wbGVAdm9kYWZvbmUuZGU+CgpEZWZpbmUg dGhlIGludGVyZmFjZSB3aXRob3V0IG1vZGlmeWluZyB0aGUgYWxsb2NhdGlvbgphbGdvcml0aG0g aW4gYW55IHdheS4KCnYyOiByZWJhc2Ugb24gdG9wIG9mIGZlbmNlIG5ldyB1aW50NjQgcGF0Y2gK ClNpZ25lZC1vZmYtYnk6IEplcm9tZSBHbGlzc2UgPGpnbGlzc2VAcmVkaGF0LmNvbT4KU2lnbmVk LW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8ZGVhdGhzaW1wbGVAdm9kYWZvbmUuZGU+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICAgICAgfCAgICAxICsKIGRyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2dhcnQuYyAgICAgIHwgICAgNiArLQogZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmggICAgfCAgICA1ICstCiBkcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9yaW5nLmMgICAgICB8ICAgIDggKystLQogZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fc2EuYyAgICAgICAgfCAgIDYwICsrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jIHwgICAgMiAr LQogNiBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb24uaAppbmRleCAzNTE5YTUyLi5jNzhmMTViIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uLmgKQEAgLTM5OCw2ICszOTgsNyBAQCBzdHJ1Y3QgcmFkZW9uX3NhX2JvIHsKIAlz dHJ1Y3QgcmFkZW9uX3NhX21hbmFnZXIJKm1hbmFnZXI7CiAJdW5zaWduZWQJCQlzb2Zmc2V0Owog CXVuc2lnbmVkCQkJZW9mZnNldDsKKwlzdHJ1Y3QgcmFkZW9uX2ZlbmNlCQkqZmVuY2U7CiB9Owog CiAvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2FydC5jIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2FydC5jCmluZGV4IGM1Nzg5ZWYuLjUzZGJh OGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2dhcnQuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nYXJ0LmMKQEAgLTMyNiw3ICszMjYsNyBA QCBzdGF0aWMgdm9pZCByYWRlb25fdm1fdW5iaW5kX2xvY2tlZChzdHJ1Y3QgcmFkZW9uX2Rldmlj ZSAqcmRldiwKIAlyZGV2LT52bV9tYW5hZ2VyLnVzZV9iaXRtYXAgJj0gfigxIDw8IHZtLT5pZCk7 CiAJbGlzdF9kZWxfaW5pdCgmdm0tPmxpc3QpOwogCXZtLT5pZCA9IC0xOwotCXJhZGVvbl9zYV9i b19mcmVlKHJkZXYsICZ2bS0+c2FfYm8pOworCXJhZGVvbl9zYV9ib19mcmVlKHJkZXYsICZ2bS0+ c2FfYm8sIE5VTEwpOwogCXZtLT5wdCA9IE5VTEw7CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGJv X3ZhLCAmdm0tPnZhLCB2bV9saXN0KSB7CkBAIC0zOTUsNyArMzk1LDcgQEAgaW50IHJhZGVvbl92 bV9iaW5kKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3ZtICp2bSkK IHJldHJ5OgogCXIgPSByYWRlb25fc2FfYm9fbmV3KHJkZXYsICZyZGV2LT52bV9tYW5hZ2VyLnNh X21hbmFnZXIsICZ2bS0+c2FfYm8sCiAJCQkgICAgIFJBREVPTl9HUFVfUEFHRV9BTElHTih2bS0+ bGFzdF9wZm4gKiA4KSwKLQkJCSAgICAgUkFERU9OX0dQVV9QQUdFX1NJWkUpOworCQkJICAgICBS QURFT05fR1BVX1BBR0VfU0laRSwgZmFsc2UpOwogCWlmIChyKSB7CiAJCWlmIChsaXN0X2VtcHR5 KCZyZGV2LT52bV9tYW5hZ2VyLmxydV92bSkpIHsKIAkJCXJldHVybiByOwpAQCAtNDI2LDcgKzQy Niw3IEBAIHJldHJ5X2lkOgogCS8qIGRvIGh3IGJpbmQgKi8KIAlyID0gcmRldi0+dm1fbWFuYWdl ci5mdW5jcy0+YmluZChyZGV2LCB2bSwgaWQpOwogCWlmIChyKSB7Ci0JCXJhZGVvbl9zYV9ib19m cmVlKHJkZXYsICZ2bS0+c2FfYm8pOworCQlyYWRlb25fc2FfYm9fZnJlZShyZGV2LCAmdm0tPnNh X2JvLCBOVUxMKTsKIAkJcmV0dXJuIHI7CiAJfQogCXJkZXYtPnZtX21hbmFnZXIudXNlX2JpdG1h cCB8PSAxIDw8IGlkOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f b2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaAppbmRleCA0 ZmM3ZjA3Li5iZWZlYzdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9vYmplY3QuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaApA QCAtMTY5LDkgKzE2OSwxMCBAQCBleHRlcm4gaW50IHJhZGVvbl9zYV9ib19tYW5hZ2VyX3N1c3Bl bmQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiBleHRlcm4gaW50IHJhZGVvbl9zYV9ib19u ZXcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJCQkgICAgc3RydWN0IHJhZGVvbl9zYV9t YW5hZ2VyICpzYV9tYW5hZ2VyLAogCQkJICAgIHN0cnVjdCByYWRlb25fc2FfYm8gKipzYV9ibywK LQkJCSAgICB1bnNpZ25lZCBzaXplLCB1bnNpZ25lZCBhbGlnbik7CisJCQkgICAgdW5zaWduZWQg c2l6ZSwgdW5zaWduZWQgYWxpZ24sIGJvb2wgYmxvY2spOwogZXh0ZXJuIHZvaWQgcmFkZW9uX3Nh X2JvX2ZyZWUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCi0JCQkgICAgICBzdHJ1Y3QgcmFk ZW9uX3NhX2JvICoqc2FfYm8pOworCQkJICAgICAgc3RydWN0IHJhZGVvbl9zYV9ibyAqKnNhX2Jv LAorCQkJICAgICAgc3RydWN0IHJhZGVvbl9mZW5jZSAqZmVuY2UpOwogI2lmIGRlZmluZWQoQ09O RklHX0RFQlVHX0ZTKQogZXh0ZXJuIHZvaWQgcmFkZW9uX3NhX2JvX2R1bXBfZGVidWdfaW5mbyhz dHJ1Y3QgcmFkZW9uX3NhX21hbmFnZXIgKnNhX21hbmFnZXIsCiAJCQkJCSBzdHJ1Y3Qgc2VxX2Zp bGUgKm0pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcmluZy5j IGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcmluZy5jCmluZGV4IDczOTU1NGMuLmM4 NGFmOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9yaW5nLmMKQEAgLTg1LDcgKzg1LDcg QEAgYm9vbCByYWRlb25faWJfdHJ5X2ZyZWUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0 cnVjdCByYWRlb25faWIgKmliKQogCWlmIChpYi0+ZmVuY2UgJiYgaWItPmZlbmNlLT5zZXEgPCBS QURFT05fRkVOQ0VfTk9URU1JVEVEX1NFUSkgewogCQlpZiAocmFkZW9uX2ZlbmNlX3NpZ25hbGVk KGliLT5mZW5jZSkpIHsKIAkJCXJhZGVvbl9mZW5jZV91bnJlZigmaWItPmZlbmNlKTsKLQkJCXJh ZGVvbl9zYV9ib19mcmVlKHJkZXYsICZpYi0+c2FfYm8pOworCQkJcmFkZW9uX3NhX2JvX2ZyZWUo cmRldiwgJmliLT5zYV9ibywgTlVMTCk7CiAJCQlkb25lID0gdHJ1ZTsKIAkJfQogCX0KQEAgLTEy NCw3ICsxMjQsNyBAQCByZXRyeToKIAkJaWYgKHJkZXYtPmliX3Bvb2wuaWJzW2lkeF0uZmVuY2Ug PT0gTlVMTCkgewogCQkJciA9IHJhZGVvbl9zYV9ib19uZXcocmRldiwgJnJkZXYtPmliX3Bvb2wu c2FfbWFuYWdlciwKIAkJCQkJICAgICAmcmRldi0+aWJfcG9vbC5pYnNbaWR4XS5zYV9ibywKLQkJ CQkJICAgICBzaXplLCAyNTYpOworCQkJCQkgICAgIHNpemUsIDI1NiwgZmFsc2UpOwogCQkJaWYg KCFyKSB7CiAJCQkJKmliID0gJnJkZXYtPmliX3Bvb2wuaWJzW2lkeF07CiAJCQkJKCppYiktPnB0 ciA9IHJhZGVvbl9zYV9ib19jcHVfYWRkcigoKmliKS0+c2FfYm8pOwpAQCAtMTczLDcgKzE3Myw3 IEBAIHZvaWQgcmFkZW9uX2liX2ZyZWUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVj dCByYWRlb25faWIgKippYikKIAl9CiAJcmFkZW9uX211dGV4X2xvY2soJnJkZXYtPmliX3Bvb2wu bXV0ZXgpOwogCWlmICh0bXAtPmZlbmNlICYmIHRtcC0+ZmVuY2UtPnNlcSA9PSBSQURFT05fRkVO Q0VfTk9URU1JVEVEX1NFUSkgewotCQlyYWRlb25fc2FfYm9fZnJlZShyZGV2LCAmdG1wLT5zYV9i byk7CisJCXJhZGVvbl9zYV9ib19mcmVlKHJkZXYsICZ0bXAtPnNhX2JvLCBOVUxMKTsKIAkJcmFk ZW9uX2ZlbmNlX3VucmVmKCZ0bXAtPmZlbmNlKTsKIAl9CiAJcmFkZW9uX211dGV4X3VubG9jaygm cmRldi0+aWJfcG9vbC5tdXRleCk7CkBAIC0yNDcsNyArMjQ3LDcgQEAgdm9pZCByYWRlb25faWJf cG9vbF9maW5pKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCXJhZGVvbl9tdXRleF9sb2Nr KCZyZGV2LT5pYl9wb29sLm11dGV4KTsKIAlpZiAocmRldi0+aWJfcG9vbC5yZWFkeSkgewogCQlm b3IgKGkgPSAwOyBpIDwgUkFERU9OX0lCX1BPT0xfU0laRTsgaSsrKSB7Ci0JCQlyYWRlb25fc2Ff Ym9fZnJlZShyZGV2LCAmcmRldi0+aWJfcG9vbC5pYnNbaV0uc2FfYm8pOworCQkJcmFkZW9uX3Nh X2JvX2ZyZWUocmRldiwgJnJkZXYtPmliX3Bvb2wuaWJzW2ldLnNhX2JvLCBOVUxMKTsKIAkJCXJh ZGVvbl9mZW5jZV91bnJlZigmcmRldi0+aWJfcG9vbC5pYnNbaV0uZmVuY2UpOwogCQl9CiAJCXJh ZGVvbl9zYV9ib19tYW5hZ2VyX2ZpbmkocmRldiwgJnJkZXYtPmliX3Bvb2wuc2FfbWFuYWdlcik7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zYS5jIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fc2EuYwppbmRleCA2MjVmMmQ0Li5iYzRlZjg3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zYS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3NhLmMKQEAgLTEyOSwyMCArMTI5LDMyIEBAIGludCByYWRl b25fc2FfYm9fbWFuYWdlcl9zdXNwZW5kKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAogICoK ICAqIEFsaWdubWVudCBjYW4ndCBiZSBiaWdnZXIgdGhhbiBwYWdlIHNpemUKICAqLworCitzdGF0 aWMgdm9pZCByYWRlb25fc2FfYm9fcmVtb3ZlX2xvY2tlZChzdHJ1Y3QgcmFkZW9uX3NhX2JvICpz YV9ibykKK3sKKwlsaXN0X2RlbCgmc2FfYm8tPmxpc3QpOworCXJhZGVvbl9mZW5jZV91bnJlZigm c2FfYm8tPmZlbmNlKTsKKwlrZnJlZShzYV9ibyk7Cit9CisKIGludCByYWRlb25fc2FfYm9fbmV3 KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAogCQkgICAgIHN0cnVjdCByYWRlb25fc2FfbWFu YWdlciAqc2FfbWFuYWdlciwKIAkJICAgICBzdHJ1Y3QgcmFkZW9uX3NhX2JvICoqc2FfYm8sCi0J CSAgICAgdW5zaWduZWQgc2l6ZSwgdW5zaWduZWQgYWxpZ24pCisJCSAgICAgdW5zaWduZWQgc2l6 ZSwgdW5zaWduZWQgYWxpZ24sIGJvb2wgYmxvY2spCiB7Ci0Jc3RydWN0IHJhZGVvbl9zYV9ibyAq dG1wOworCXN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlID0gTlVMTDsKKwlzdHJ1Y3QgcmFkZW9u X3NhX2JvICp0bXAsICpuZXh0OwogCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQ7CiAJdW5zaWduZWQg b2Zmc2V0ID0gMCwgd2FzdGVkID0gMDsKKwlpbnQgcjsKIAogCUJVR19PTihhbGlnbiA+IFJBREVP Tl9HUFVfUEFHRV9TSVpFKTsKIAlCVUdfT04oc2l6ZSA+IHNhX21hbmFnZXItPnNpemUpOwogCiAJ KnNhX2JvID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IHJhZGVvbl9zYV9ibyksIEdGUF9LRVJORUwp OwogCityZXRyeToKKwogCXNwaW5fbG9jaygmc2FfbWFuYWdlci0+bG9jayk7CiAKIAkvKiBubyBv bmUgPyAqLwpAQCAtMTUzLDcgKzE2NSwxNyBAQCBpbnQgcmFkZW9uX3NhX2JvX25ldyhzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldiwKIAogCS8qIGxvb2sgZm9yIGEgaG9sZSBiaWcgZW5vdWdoICov CiAJb2Zmc2V0ID0gMDsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcCwgJnNhX21hbmFnZXItPnNh X2JvLCBsaXN0KSB7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRtcCwgbmV4dCwgJnNhX21h bmFnZXItPnNhX2JvLCBsaXN0KSB7CisJCS8qIHRyeSB0byBmcmVlIHRoaXMgb2JqZWN0ICovCisJ CWlmICh0bXAtPmZlbmNlKSB7CisJCQlpZiAocmFkZW9uX2ZlbmNlX3NpZ25hbGVkKHRtcC0+ZmVu Y2UpKSB7CisJCQkJcmFkZW9uX3NhX2JvX3JlbW92ZV9sb2NrZWQodG1wKTsKKwkJCQljb250aW51 ZTsKKwkJCX0gZWxzZSB7CisJCQkJZmVuY2UgPSB0bXAtPmZlbmNlOworCQkJfQorCQl9CisKIAkJ Lyogcm9vbSBiZWZvcmUgdGhpcyBvYmplY3QgPyAqLwogCQlpZiAob2Zmc2V0IDwgdG1wLT5zb2Zm c2V0ICYmICh0bXAtPnNvZmZzZXQgLSBvZmZzZXQpID49IHNpemUpIHsKIAkJCWhlYWQgPSB0bXAt Pmxpc3QucHJldjsKQEAgLTE3OCw2ICsyMDAsMTMgQEAgaW50IHJhZGVvbl9zYV9ib19uZXcoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJaWYgKChzYV9tYW5hZ2VyLT5zaXplIC0gb2Zmc2V0 KSA8IHNpemUpIHsKIAkJLyogZmFpbGVkIHRvIGZpbmQgc29tZXRoaW5ncyBiaWcgZW5vdWdoICov CiAJCXNwaW5fdW5sb2NrKCZzYV9tYW5hZ2VyLT5sb2NrKTsKKwkJaWYgKGJsb2NrICYmIGZlbmNl KSB7CisJCQlyID0gcmFkZW9uX2ZlbmNlX3dhaXQoZmVuY2UsIGZhbHNlKTsKKwkJCWlmIChyKQor CQkJCXJldHVybiByOworCisJCQlnb3RvIHJldHJ5OworCQl9CiAJCWtmcmVlKCpzYV9ibyk7CiAJ CSpzYV9ibyA9IE5VTEw7CiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMTkyLDE1ICsyMjEsMjIgQEAg b3V0OgogCXJldHVybiAwOwogfQogCi12b2lkIHJhZGVvbl9zYV9ib19mcmVlKHN0cnVjdCByYWRl b25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3NhX2JvICoqc2FfYm8pCit2b2lkIHJhZGVv bl9zYV9ib19mcmVlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3Nh X2JvICoqc2FfYm8sCisJCSAgICAgICBzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZSkKIHsKKwlz dHJ1Y3QgcmFkZW9uX3NhX21hbmFnZXIgKnNhX21hbmFnZXI7CisKIAlpZiAoIXNhX2JvIHx8ICEq c2FfYm8pCiAJCXJldHVybjsKIAotCXNwaW5fbG9jaygmKCpzYV9ibyktPm1hbmFnZXItPmxvY2sp OwotCWxpc3RfZGVsX2luaXQoJigqc2FfYm8pLT5saXN0KTsKLQlzcGluX3VubG9jaygmKCpzYV9i byktPm1hbmFnZXItPmxvY2spOwotCWtmcmVlKCpzYV9ibyk7CisJc2FfbWFuYWdlciA9ICgqc2Ff Ym8pLT5tYW5hZ2VyOworCXNwaW5fbG9jaygmc2FfbWFuYWdlci0+bG9jayk7CisJaWYgKGZlbmNl ICYmIGZlbmNlLT5zZXEgJiYgZmVuY2UtPnNlcSA8IFJBREVPTl9GRU5DRV9OT1RFTUlURURfU0VR KSB7CisJCSgqc2FfYm8pLT5mZW5jZSA9IHJhZGVvbl9mZW5jZV9yZWYoZmVuY2UpOworCX0gZWxz ZSB7CisJCXJhZGVvbl9zYV9ib19yZW1vdmVfbG9ja2VkKCpzYV9ibyk7CisJfQorCXNwaW5fdW5s b2NrKCZzYV9tYW5hZ2VyLT5sb2NrKTsKIAkqc2FfYm8gPSBOVUxMOwogfQogCkBAIC0yMTIsOCAr MjQ4LDE0IEBAIHZvaWQgcmFkZW9uX3NhX2JvX2R1bXBfZGVidWdfaW5mbyhzdHJ1Y3QgcmFkZW9u X3NhX21hbmFnZXIgKnNhX21hbmFnZXIsCiAKIAlzcGluX2xvY2soJnNhX21hbmFnZXItPmxvY2sp OwogCWxpc3RfZm9yX2VhY2hfZW50cnkoaSwgJnNhX21hbmFnZXItPnNhX2JvLCBsaXN0KSB7Ci0J CXNlcV9wcmludGYobSwgIlslMDh4ICUwOHhdIHNpemUgJTRkIFslcF1cbiIsCisJCXNlcV9wcmlu dGYobSwgIlslMDh4ICUwOHhdIHNpemUgJTRkICglcCkiLAogCQkJICAgaS0+c29mZnNldCwgaS0+ ZW9mZnNldCwgaS0+ZW9mZnNldCAtIGktPnNvZmZzZXQsIGkpOworCQlpZiAoaS0+ZmVuY2UpIHsK KwkJCXNlcV9wcmludGYobSwgIiBwcm90ZWN0ZWQgYnkgJUxkICglcClcbiIsCisJCQkJICAgaS0+ ZmVuY2UtPnNlcSwgaS0+ZmVuY2UpOworCQl9IGVsc2UgeworCQkJc2VxX3ByaW50ZihtLCAiXG4i KTsKKwkJfQogCX0KIAlzcGluX3VubG9jaygmc2FfbWFuYWdlci0+bG9jayk7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zZW1hcGhvcmUuYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jCmluZGV4IGQ1MThkMzIuLmRiZGU4NzQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jCkBAIC03Miw3ICs3 Miw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX3NlbWFwaG9yZV9hZGRfYm8oc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYpCiBzdGF0aWMgdm9pZCByYWRlb25fc2VtYXBob3JlX2RlbF9ib19sb2NrZWQo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJCQkJCSAgIHN0cnVjdCByYWRlb25fc2VtYXBo b3JlX2JvICpibykKIHsKLQlyYWRlb25fc2FfYm9fZnJlZShyZGV2LCAmYm8tPmliLT5zYV9ibyk7 CisJcmFkZW9uX3NhX2JvX2ZyZWUocmRldiwgJmJvLT5pYi0+c2FfYm8sIE5VTEwpOwogCXJhZGVv bl9mZW5jZV91bnJlZigmYm8tPmliLT5mZW5jZSk7CiAJbGlzdF9kZWwoJmJvLT5saXN0KTsKIAlr ZnJlZShibyk7Ci0tIAoxLjcuNy42CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=