From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v2 2/3] drm/i915: Simplify for_each_fw_domain iterators Date: Tue, 5 Apr 2016 12:01:11 +0100 Message-ID: <1459854072-5504-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1459788671-17501-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1459854072-5504-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id CE7356E742 for ; Tue, 5 Apr 2016 11:01:20 +0000 (UTC) In-Reply-To: <1459854072-5504-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkFzIHRoZSB2 YXN0IG1ham9yaXR5IG9mIHVzZXJzIGRvIG5vdCB1c2UgdGhlIGRvbWFpbiBpZCB2YXJpYWJsZSwK d2UgY2FuIGVsaW1pbmF0ZSBpdCBmcm9tIHRoZSBpdGVyYXRvciBhbmQgYWxzbyBjaGFuZ2UgdGhl IGxhdHRlcgp1c2luZyB0aGUgc2FtZSBwcmluY2lwbGUgYXMgd2FzIHJlY2VudGx5IGRvbmUgZm9y IGZvcl9lYWNoX2VuZ2luZS4KCkZvciBhIGNvdXBsZSBvZiBjYWxsZXJzIHdoaWNoIGRvIG5lZWQg dGhlIGRvbWFpbiBtYXNrLCBzdG9yZSBpdAppbiB0aGUgZG9tYWluIGFycmF5ICh3aGljaCBhbHJl YWR5IGhhcyB0aGUgZG9tYWluIGlkKSwgdGhlbiBib3RoCmNhbiBiZSByZXRyaWV2ZWQgdGhlbmNl LgoKUmVzdWx0IGlzIGNsZWFyZXIgY29kZSBhbmQgc21hbGxlciBnZW5lcmF0ZWQgYmluYXJ5LCBl c3BlY2lhbGx5CmluIHRoZSB0aWdodCBmdyBnZXQvcHV0IGxvb3BzLiBBbHNvLCByZWxhdGlvbnNo aXAgYmV0d2VlbiBkb21haW4KaWQgYW5kIG1hc2sgaXMgbm8gbG9uZ2VyIGFzc3VtZWQgaW4gdGhl IG1hY3JvLgoKdjI6IEltcHJvdmUgZ3JhbW1hciBpbiB0aGUgY29tbWl0IG1lc3NhZ2UgYW5kIHJl bmFtZSB0aGUKICAgIGl0ZXJhdG9yIHRvIGZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQgZm9yIGNv bnNpc3RlbmN5LgogICAgKERhdmUgR29yZG9uKQoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1ieTogRGF2ZSBHb3Jkb24gPGRhdmlk LnMuZ29yZG9uQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyB8ICA1ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICB8IDE3 ICsrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8IDQ1 ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwg MzIgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwppbmRleCBhMmUzYWYwMmMyOTIuLjA2ZmNlMDE0ZDBiNCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTE0NjQsMTIgKzE0NjQsMTEgQEAgc3RhdGljIGludCBpOTE1 X2ZvcmNld2FrZV9kb21haW5zKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF91bmNv cmVfZm9yY2V3YWtlX2RvbWFpbiAqZndfZG9tYWluOwotCWludCBpOwogCiAJc3Bpbl9sb2NrX2ly cSgmZGV2X3ByaXYtPnVuY29yZS5sb2NrKTsKLQlmb3JfZWFjaF9md19kb21haW4oZndfZG9tYWlu LCBkZXZfcHJpdiwgaSkgeworCWZvcl9lYWNoX2Z3X2RvbWFpbihmd19kb21haW4sIGRldl9wcml2 KSB7CiAJCXNlcV9wcmludGYobSwgIiVzLndha2VfY291bnQgPSAldVxuIiwKLQkJCSAgIGludGVs X3VuY29yZV9mb3JjZXdha2VfZG9tYWluX3RvX3N0cihpKSwKKwkJCSAgIGludGVsX3VuY29yZV9m b3JjZXdha2VfZG9tYWluX3RvX3N0cihmd19kb21haW4tPmlkKSwKIAkJCSAgIGZ3X2RvbWFpbi0+ d2FrZV9jb3VudCk7CiAJfQogCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPnVuY29yZS5sb2Nr KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDdkNGM3MDRkN2Q3NS4uZmZmMDI1MDcxYTBm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTY2NSw2ICs2NjUsNyBAQCBzdHJ1Y3QgaW50 ZWxfdW5jb3JlIHsKIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gewogCQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKIAkJZW51bSBmb3JjZXdha2VfZG9tYWluX2lk IGlkOworCQllbnVtIGZvcmNld2FrZV9kb21haW5zIG1hc2s7CiAJCXVuc2lnbmVkIHdha2VfY291 bnQ7CiAJCXN0cnVjdCBocnRpbWVyIHRpbWVyOwogCQlpOTE1X3JlZ190IHJlZ19zZXQ7CkBAIC02 NzksMTQgKzY4MCwxNCBAQCBzdHJ1Y3QgaW50ZWxfdW5jb3JlIHsKIH07CiAKIC8qIEl0ZXJhdGUg b3ZlciBpbml0aWFsaXNlZCBmdyBkb21haW5zICovCi0jZGVmaW5lIGZvcl9lYWNoX2Z3X2RvbWFp bl9tYXNrKGRvbWFpbl9fLCBtYXNrX18sIGRldl9wcml2X18sIGlfXykgXAotCWZvciAoKGlfXykg PSAwLCAoZG9tYWluX18pID0gJihkZXZfcHJpdl9fKS0+dW5jb3JlLmZ3X2RvbWFpblswXTsgXAot CSAgICAgKGlfXykgPCBGV19ET01BSU5fSURfQ09VTlQ7IFwKLQkgICAgIChpX18pKyssIChkb21h aW5fXykgPSAmKGRldl9wcml2X18pLT51bmNvcmUuZndfZG9tYWluW2lfX10pIFwKLQkJZm9yX2Vh Y2hfaWYgKCgobWFza19fKSAmIChkZXZfcHJpdl9fKS0+dW5jb3JlLmZ3X2RvbWFpbnMpICYgKDEg PDwgKGlfXykpKQotCi0jZGVmaW5lIGZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW5fXywgZGV2X3By aXZfXywgaV9fKSBcCi0JZm9yX2VhY2hfZndfZG9tYWluX21hc2soZG9tYWluX18sIEZPUkNFV0FL RV9BTEwsIGRldl9wcml2X18sIGlfXykKKyNkZWZpbmUgZm9yX2VhY2hfZndfZG9tYWluX21hc2tl ZChkb21haW5fXywgbWFza19fLCBkZXZfcHJpdl9fKSBcCisJZm9yICgoZG9tYWluX18pID0gJihk ZXZfcHJpdl9fKS0+dW5jb3JlLmZ3X2RvbWFpblswXTsgXAorCSAgICAgKGRvbWFpbl9fKSA8ICYo ZGV2X3ByaXZfXyktPnVuY29yZS5md19kb21haW5bRldfRE9NQUlOX0lEX0NPVU5UXTsgXAorCSAg ICAgKGRvbWFpbl9fKSsrKSBcCisJCWZvcl9lYWNoX2lmICgobWFza19fKSAmIChkb21haW5fXykt Pm1hc2spCisKKyNkZWZpbmUgZm9yX2VhY2hfZndfZG9tYWluKGRvbWFpbl9fLCBkZXZfcHJpdl9f KSBcCisJZm9yX2VhY2hfZndfZG9tYWluX21hc2tlZChkb21haW5fXywgRk9SQ0VXQUtFX0FMTCwg ZGV2X3ByaXZfXykKIAogI2RlZmluZSBDU1JfVkVSU0lPTihtYWpvciwgbWlub3IpCSgobWFqb3Ip IDw8IDE2IHwgKG1pbm9yKSkKICNkZWZpbmUgQ1NSX1ZFUlNJT05fTUFKT1IodmVyc2lvbikJKCh2 ZXJzaW9uKSA+PiAxNikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Vu Y29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggNzZhYzk5 MGRlMzU0Li41YjljMzA3YzUyMjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VuY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCkBA IC0xMTEsOSArMTExLDggQEAgc3RhdGljIHZvaWQKIGZ3X2RvbWFpbnNfZ2V0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5z KQogewogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZDsKLQllbnVtIGZv cmNld2FrZV9kb21haW5faWQgaWQ7CiAKLQlmb3JfZWFjaF9md19kb21haW5fbWFzayhkLCBmd19k b21haW5zLCBkZXZfcHJpdiwgaWQpIHsKKwlmb3JfZWFjaF9md19kb21haW5fbWFza2VkKGQsIGZ3 X2RvbWFpbnMsIGRldl9wcml2KSB7CiAJCWZ3X2RvbWFpbl93YWl0X2Fja19jbGVhcihkKTsKIAkJ ZndfZG9tYWluX2dldChkKTsKIAkJZndfZG9tYWluX3dhaXRfYWNrKGQpOwpAQCAtMTI0LDkgKzEy Myw4IEBAIHN0YXRpYyB2b2lkCiBmd19kb21haW5zX3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZG9tYWlucykKIHsKIAlzdHJ1 Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQ7Ci0JZW51bSBmb3JjZXdha2VfZG9t YWluX2lkIGlkOwogCi0JZm9yX2VhY2hfZndfZG9tYWluX21hc2soZCwgZndfZG9tYWlucywgZGV2 X3ByaXYsIGlkKSB7CisJZm9yX2VhY2hfZndfZG9tYWluX21hc2tlZChkLCBmd19kb21haW5zLCBk ZXZfcHJpdikgewogCQlmd19kb21haW5fcHV0KGQpOwogCQlmd19kb21haW5fcG9zdGluZ19yZWFk KGQpOwogCX0KQEAgLTEzNiwxMCArMTM0LDkgQEAgc3RhdGljIHZvaWQKIGZ3X2RvbWFpbnNfcG9z dGluZ19yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3Qg aW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQ7Ci0JZW51bSBmb3JjZXdha2VfZG9tYWlu X2lkIGlkOwogCiAJLyogTm8gbmVlZCB0byBkbyBmb3IgYWxsLCBqdXN0IGRvIGZvciBmaXJzdCBm b3VuZCAqLwotCWZvcl9lYWNoX2Z3X2RvbWFpbihkLCBkZXZfcHJpdiwgaWQpIHsKKwlmb3JfZWFj aF9md19kb21haW4oZCwgZGV2X3ByaXYpIHsKIAkJZndfZG9tYWluX3Bvc3RpbmdfcmVhZChkKTsK IAkJYnJlYWs7CiAJfQpAQCAtMTQ5LDEyICsxNDYsMTEgQEAgc3RhdGljIHZvaWQKIGZ3X2RvbWFp bnNfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIGZvcmNld2Fr ZV9kb21haW5zIGZ3X2RvbWFpbnMpCiB7CiAJc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2Vf ZG9tYWluICpkOwotCWVudW0gZm9yY2V3YWtlX2RvbWFpbl9pZCBpZDsKIAogCWlmIChkZXZfcHJp di0+dW5jb3JlLmZ3X2RvbWFpbnMgPT0gMCkKIAkJcmV0dXJuOwogCi0JZm9yX2VhY2hfZndfZG9t YWluX21hc2soZCwgZndfZG9tYWlucywgZGV2X3ByaXYsIGlkKQorCWZvcl9lYWNoX2Z3X2RvbWFp bl9tYXNrZWQoZCwgZndfZG9tYWlucywgZGV2X3ByaXYpCiAJCWZ3X2RvbWFpbl9yZXNldChkKTsK IAogCWZ3X2RvbWFpbnNfcG9zdGluZ19yZWFkKGRldl9wcml2KTsKQEAgLTI1Niw3ICsyNTIsNiBA QCB2b2lkIGludGVsX3VuY29yZV9mb3JjZXdha2VfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgYm9vbCByZXN0b3JlKQogCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7CiAJc3RydWN0IGludGVs X3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkb21haW47CiAJaW50IHJldHJ5X2NvdW50ID0gMTAw OwotCWVudW0gZm9yY2V3YWtlX2RvbWFpbl9pZCBpZDsKIAllbnVtIGZvcmNld2FrZV9kb21haW5z IGZ3ID0gMCwgYWN0aXZlX2RvbWFpbnM7CiAKIAkvKiBIb2xkIHVuY29yZS5sb2NrIGFjcm9zcyBy ZXNldCB0byBwcmV2ZW50IGFueSByZWdpc3RlciBhY2Nlc3MKQEAgLTI2Niw3ICsyNjEsNyBAQCB2 b2lkIGludGVsX3VuY29yZV9mb3JjZXdha2VfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg Ym9vbCByZXN0b3JlKQogCXdoaWxlICgxKSB7CiAJCWFjdGl2ZV9kb21haW5zID0gMDsKIAotCQlm b3JfZWFjaF9md19kb21haW4oZG9tYWluLCBkZXZfcHJpdiwgaWQpIHsKKwkJZm9yX2VhY2hfZndf ZG9tYWluKGRvbWFpbiwgZGV2X3ByaXYpIHsKIAkJCWlmIChocnRpbWVyX2NhbmNlbCgmZG9tYWlu LT50aW1lcikgPT0gMCkKIAkJCQljb250aW51ZTsKIApAQCAtMjc1LDkgKzI3MCw5IEBAIHZvaWQg aW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29s IHJlc3RvcmUpCiAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmRldl9wcml2LT51bmNvcmUubG9jaywg aXJxZmxhZ3MpOwogCi0JCWZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW4sIGRldl9wcml2LCBpZCkg eworCQlmb3JfZWFjaF9md19kb21haW4oZG9tYWluLCBkZXZfcHJpdikgewogCQkJaWYgKGhydGlt ZXJfYWN0aXZlKCZkb21haW4tPnRpbWVyKSkKLQkJCQlhY3RpdmVfZG9tYWlucyB8PSAoMSA8PCBp ZCk7CisJCQkJYWN0aXZlX2RvbWFpbnMgfD0gZG9tYWluLT5tYXNrOwogCQl9CiAKIAkJaWYgKGFj dGl2ZV9kb21haW5zID09IDApCkBAIC0yOTQsOSArMjg5LDkgQEAgdm9pZCBpbnRlbF91bmNvcmVf Zm9yY2V3YWtlX3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcmVzdG9yZSkKIAog CVdBUk5fT04oYWN0aXZlX2RvbWFpbnMpOwogCi0JZm9yX2VhY2hfZndfZG9tYWluKGRvbWFpbiwg ZGV2X3ByaXYsIGlkKQorCWZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW4sIGRldl9wcml2KQogCQlp ZiAoZG9tYWluLT53YWtlX2NvdW50KQotCQkJZncgfD0gMSA8PCBpZDsKKwkJCWZ3IHw9IGRvbWFp bi0+bWFzazsKIAogCWlmIChmdykKIAkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtl X3B1dChkZXZfcHJpdiwgZncpOwpAQCAtNDE4LDE2ICs0MTMsMTUgQEAgc3RhdGljIHZvaWQgX19p bnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQkJCSBlbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnMpCiB7CiAJc3RydWN0 IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkb21haW47Ci0JZW51bSBmb3JjZXdha2Vf ZG9tYWluX2lkIGlkOwogCiAJaWYgKCFkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2Vf Z2V0KQogCQlyZXR1cm47CiAKIAlmd19kb21haW5zICY9IGRldl9wcml2LT51bmNvcmUuZndfZG9t YWluczsKIAotCWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrKGRvbWFpbiwgZndfZG9tYWlucywgZGV2 X3ByaXYsIGlkKSB7CisJZm9yX2VhY2hfZndfZG9tYWluX21hc2tlZChkb21haW4sIGZ3X2RvbWFp bnMsIGRldl9wcml2KSB7CiAJCWlmIChkb21haW4tPndha2VfY291bnQrKykKLQkJCWZ3X2RvbWFp bnMgJj0gfigxIDw8IGlkKTsKKwkJCWZ3X2RvbWFpbnMgJj0gfmRvbWFpbi0+bWFzazsKIAl9CiAK IAlpZiAoZndfZG9tYWlucykKQEAgLTQ4NSwxNCArNDc5LDEzIEBAIHN0YXRpYyB2b2lkIF9faW50 ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCQkJCQkgZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zKQogewogCXN0cnVjdCBp bnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZG9tYWluOwotCWVudW0gZm9yY2V3YWtlX2Rv bWFpbl9pZCBpZDsKIAogCWlmICghZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX3B1 dCkKIAkJcmV0dXJuOwogCiAJZndfZG9tYWlucyAmPSBkZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFp bnM7CiAKLQlmb3JfZWFjaF9md19kb21haW5fbWFzayhkb21haW4sIGZ3X2RvbWFpbnMsIGRldl9w cml2LCBpZCkgeworCWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQoZG9tYWluLCBmd19kb21haW5z LCBkZXZfcHJpdikgewogCQlpZiAoV0FSTl9PTihkb21haW4tPndha2VfY291bnQgPT0gMCkpCiAJ CQljb250aW51ZTsKIApAQCAtNTQ2LDEyICs1MzksMTEgQEAgdm9pZCBpbnRlbF91bmNvcmVfZm9y Y2V3YWtlX3B1dF9fbG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHZv aWQgYXNzZXJ0X2ZvcmNld2FrZXNfaW5hY3RpdmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogewogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZG9tYWlu OwotCWVudW0gZm9yY2V3YWtlX2RvbWFpbl9pZCBpZDsKIAogCWlmICghZGV2X3ByaXYtPnVuY29y ZS5mdW5jcy5mb3JjZV93YWtlX2dldCkKIAkJcmV0dXJuOwogCi0JZm9yX2VhY2hfZndfZG9tYWlu KGRvbWFpbiwgZGV2X3ByaXYsIGlkKQorCWZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW4sIGRldl9w cml2KQogCQlXQVJOX09OKGRvbWFpbi0+d2FrZV9jb3VudCk7CiB9CiAKQEAgLTcyNywxNSArNzE5 LDE0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2ZvcmNlX3dha2VfYXV0byhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAgICBlbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3 X2RvbWFpbnMpCiB7CiAJc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkb21h aW47Ci0JZW51bSBmb3JjZXdha2VfZG9tYWluX2lkIGlkOwogCiAJaWYgKFdBUk5fT04oIWZ3X2Rv bWFpbnMpKQogCQlyZXR1cm47CiAKIAkvKiBJZGVhbGx5IEdDQyB3b3VsZCBiZSBjb25zdGFudC1m b2xkIGFuZCBlbGltaW5hdGUgdGhpcyBsb29wICovCi0JZm9yX2VhY2hfZndfZG9tYWluX21hc2so ZG9tYWluLCBmd19kb21haW5zLCBkZXZfcHJpdiwgaWQpIHsKKwlmb3JfZWFjaF9md19kb21haW5f bWFza2VkKGRvbWFpbiwgZndfZG9tYWlucywgZGV2X3ByaXYpIHsKIAkJaWYgKGRvbWFpbi0+d2Fr ZV9jb3VudCkgewotCQkJZndfZG9tYWlucyAmPSB+KDEgPDwgaWQpOworCQkJZndfZG9tYWlucyAm PSB+ZG9tYWluLT5tYXNrOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtMTE1Niw2ICsxMTQ3LDEy IEBAIHN0YXRpYyB2b2lkIGZ3X2RvbWFpbl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAlkLT5pOTE1ID0gZGV2X3ByaXY7CiAJZC0+aWQgPSBkb21haW5faWQ7CiAKKwlC VUlMRF9CVUdfT04oRk9SQ0VXQUtFX1JFTkRFUiAhPSAoMSA8PCBGV19ET01BSU5fSURfUkVOREVS KSk7CisJQlVJTERfQlVHX09OKEZPUkNFV0FLRV9CTElUVEVSICE9ICgxIDw8IEZXX0RPTUFJTl9J RF9CTElUVEVSKSk7CisJQlVJTERfQlVHX09OKEZPUkNFV0FLRV9NRURJQSAhPSAoMSA8PCBGV19E T01BSU5fSURfTUVESUEpKTsKKworCWQtPm1hc2sgPSAxIDw8IGRvbWFpbl9pZDsKKwogCWhydGlt ZXJfaW5pdCgmZC0+dGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX1JFTCk7CiAJ ZC0+dGltZXIuZnVuY3Rpb24gPSBpbnRlbF91bmNvcmVfZndfcmVsZWFzZV90aW1lcjsKIAotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=