From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 2/3] drm/i915: Simplify for_each_fw_domain iterators Date: Mon, 4 Apr 2016 17:51:10 +0100 Message-ID: <1459788671-17501-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1459788671-17501-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 182D46E613 for ; Mon, 4 Apr 2016 16:51:38 +0000 (UTC) In-Reply-To: <1459788671-17501-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 YXN0IG1ham9yaXR5IG9mIHVzZXJzIGRvZXMgbm90IHVzZSB0aGUgZG9tYWluIGlkIHZhcmlhYmxl LAp3ZSBjYW4gZWxpbWluYXRlIGl0IGZyb20gdGhlIGl0ZXJhdG9yIGFuZCBhbHNvIGNoYW5nZSB0 aGUgbGF0dGVyCnVzaW5nIHRoZSBzYW1lIHByaW5jaXBsZSBhcyB3YXMgcmVjZW50bHkgZG9uZSBm b3IgZm9yX2VhY2hfZW5naW5lLgoKRm9yIGEgY291cGxlIG9mIGNhbGxlcnMgd2hpY2ggZG8gbmVl ZCB0aGUgZG9tYWluIGlkLCBvciB0aGUgZG9tYWluCm1hc2ssIHN0b3JlIHRoZSBsYXRlciBpbiB0 aGUgZG9tYWluIGl0c2VsZiBhdCBpbml0IHRpbWUgYW5kIHVzZQpib3RoIHRocm91Z2ggaXQuCgpS ZXN1bHQgaXMgY2xlYXJlciBjb2RlIGFuZCBzbWFsbGVyIGdlbmVyYXRlZCBiaW5hcnksIGVzcGVj aWFsbHkKaW4gdGhlIHRpZ2h0IGZ3IGdldC9wdXQgbG9vcHMuIEFsc28sIHJlbGF0aW9uc2hpcCBi ZXR3ZWVuIGRvbWFpbgppZCBhbmQgbWFzayBpcyBubyBsb25nZXIgYXNzdW1lZCBpbiB0aGUgbWFj cm8uCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgIDUgKystLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgMTcgKysrKysrKy0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIHwgNDUgKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCsp LCAzNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IGEy ZTNhZjAyYzI5Mi4uMDZmY2UwMTRkMGI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu YwpAQCAtMTQ2NCwxMiArMTQ2NCwxMSBAQCBzdGF0aWMgaW50IGk5MTVfZm9yY2V3YWtlX2RvbWFp bnMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBub2RlLT5taW5vci0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9t YWluICpmd19kb21haW47Ci0JaW50IGk7CiAKIAlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+dW5j b3JlLmxvY2spOwotCWZvcl9lYWNoX2Z3X2RvbWFpbihmd19kb21haW4sIGRldl9wcml2LCBpKSB7 CisJZm9yX2VhY2hfZndfZG9tYWluKGZ3X2RvbWFpbiwgZGV2X3ByaXYpIHsKIAkJc2VxX3ByaW50 ZihtLCAiJXMud2FrZV9jb3VudCA9ICV1XG4iLAotCQkJICAgaW50ZWxfdW5jb3JlX2ZvcmNld2Fr ZV9kb21haW5fdG9fc3RyKGkpLAorCQkJICAgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW5f dG9fc3RyKGZ3X2RvbWFpbi0+aWQpLAogCQkJICAgZndfZG9tYWluLT53YWtlX2NvdW50KTsKIAl9 CiAJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2spOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKaW5kZXggN2Q0YzcwNGQ3ZDc1Li4xNjBmOTgwZjAzNjggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaApAQCAtNjY1LDYgKzY2NSw3IEBAIHN0cnVjdCBpbnRlbF91bmNvcmUgewogCXN0 cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiB7CiAJCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1OwogCQllbnVtIGZvcmNld2FrZV9kb21haW5faWQgaWQ7CisJCWVudW0gZm9y Y2V3YWtlX2RvbWFpbnMgbWFzazsKIAkJdW5zaWduZWQgd2FrZV9jb3VudDsKIAkJc3RydWN0IGhy dGltZXIgdGltZXI7CiAJCWk5MTVfcmVnX3QgcmVnX3NldDsKQEAgLTY3OSwxNCArNjgwLDE0IEBA IHN0cnVjdCBpbnRlbF91bmNvcmUgewogfTsKIAogLyogSXRlcmF0ZSBvdmVyIGluaXRpYWxpc2Vk IGZ3IGRvbWFpbnMgKi8KLSNkZWZpbmUgZm9yX2VhY2hfZndfZG9tYWluX21hc2soZG9tYWluX18s IG1hc2tfXywgZGV2X3ByaXZfXywgaV9fKSBcCi0JZm9yICgoaV9fKSA9IDAsIChkb21haW5fXykg PSAmKGRldl9wcml2X18pLT51bmNvcmUuZndfZG9tYWluWzBdOyBcCi0JICAgICAoaV9fKSA8IEZX X0RPTUFJTl9JRF9DT1VOVDsgXAotCSAgICAgKGlfXykrKywgKGRvbWFpbl9fKSA9ICYoZGV2X3By aXZfXyktPnVuY29yZS5md19kb21haW5baV9fXSkgXAotCQlmb3JfZWFjaF9pZiAoKChtYXNrX18p ICYgKGRldl9wcml2X18pLT51bmNvcmUuZndfZG9tYWlucykgJiAoMSA8PCAoaV9fKSkpCi0KLSNk ZWZpbmUgZm9yX2VhY2hfZndfZG9tYWluKGRvbWFpbl9fLCBkZXZfcHJpdl9fLCBpX18pIFwKLQlm b3JfZWFjaF9md19kb21haW5fbWFzayhkb21haW5fXywgRk9SQ0VXQUtFX0FMTCwgZGV2X3ByaXZf XywgaV9fKQorI2RlZmluZSBmb3JfZWFjaF9md19kb21haW5fbWFzayhkb21haW5fXywgbWFza19f LCBkZXZfcHJpdl9fKSBcCisJZm9yICgoZG9tYWluX18pID0gJihkZXZfcHJpdl9fKS0+dW5jb3Jl LmZ3X2RvbWFpblswXTsgXAorCSAgICAgKGRvbWFpbl9fKSA8ICYoZGV2X3ByaXZfXyktPnVuY29y ZS5md19kb21haW5bRldfRE9NQUlOX0lEX0NPVU5UXTsgXAorCSAgICAgKGRvbWFpbl9fKSsrKSBc CisJCWZvcl9lYWNoX2lmICgobWFza19fKSAmIChkb21haW5fXyktPm1hc2spCisKKyNkZWZpbmUg Zm9yX2VhY2hfZndfZG9tYWluKGRvbWFpbl9fLCBkZXZfcHJpdl9fKSBcCisJZm9yX2VhY2hfZndf ZG9tYWluX21hc2soZG9tYWluX18sIEZPUkNFV0FLRV9BTEwsIGRldl9wcml2X18pCiAKICNkZWZp bmUgQ1NSX1ZFUlNJT04obWFqb3IsIG1pbm9yKQkoKG1ham9yKSA8PCAxNiB8IChtaW5vcikpCiAj ZGVmaW5lIENTUl9WRVJTSU9OX01BSk9SKHZlcnNpb24pCSgodmVyc2lvbikgPj4gMTYpCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCmluZGV4IDc2YWM5OTBkZTM1NC4uNDllZGQ2NDFiNDM0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwpAQCAtMTExLDkgKzExMSw4IEBAIHN0 YXRpYyB2b2lkCiBmd19kb21haW5zX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZG9tYWlucykKIHsKIAlzdHJ1Y3QgaW50ZWxf dW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQ7Ci0JZW51bSBmb3JjZXdha2VfZG9tYWluX2lkIGlk OwogCi0JZm9yX2VhY2hfZndfZG9tYWluX21hc2soZCwgZndfZG9tYWlucywgZGV2X3ByaXYsIGlk KSB7CisJZm9yX2VhY2hfZndfZG9tYWluX21hc2soZCwgZndfZG9tYWlucywgZGV2X3ByaXYpIHsK IAkJZndfZG9tYWluX3dhaXRfYWNrX2NsZWFyKGQpOwogCQlmd19kb21haW5fZ2V0KGQpOwogCQlm d19kb21haW5fd2FpdF9hY2soZCk7CkBAIC0xMjQsOSArMTIzLDggQEAgc3RhdGljIHZvaWQKIGZ3 X2RvbWFpbnNfcHV0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBmb3Jj ZXdha2VfZG9tYWlucyBmd19kb21haW5zKQogewogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3 YWtlX2RvbWFpbiAqZDsKLQllbnVtIGZvcmNld2FrZV9kb21haW5faWQgaWQ7CiAKLQlmb3JfZWFj aF9md19kb21haW5fbWFzayhkLCBmd19kb21haW5zLCBkZXZfcHJpdiwgaWQpIHsKKwlmb3JfZWFj aF9md19kb21haW5fbWFzayhkLCBmd19kb21haW5zLCBkZXZfcHJpdikgewogCQlmd19kb21haW5f cHV0KGQpOwogCQlmd19kb21haW5fcG9zdGluZ19yZWFkKGQpOwogCX0KQEAgLTEzNiwxMCArMTM0 LDkgQEAgc3RhdGljIHZvaWQKIGZ3X2RvbWFpbnNfcG9zdGluZ19yZWFkKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9k b21haW4gKmQ7Ci0JZW51bSBmb3JjZXdha2VfZG9tYWluX2lkIGlkOwogCiAJLyogTm8gbmVlZCB0 byBkbyBmb3IgYWxsLCBqdXN0IGRvIGZvciBmaXJzdCBmb3VuZCAqLwotCWZvcl9lYWNoX2Z3X2Rv bWFpbihkLCBkZXZfcHJpdiwgaWQpIHsKKwlmb3JfZWFjaF9md19kb21haW4oZCwgZGV2X3ByaXYp IHsKIAkJZndfZG9tYWluX3Bvc3RpbmdfcmVhZChkKTsKIAkJYnJlYWs7CiAJfQpAQCAtMTQ5LDEy ICsxNDYsMTEgQEAgc3RhdGljIHZvaWQKIGZ3X2RvbWFpbnNfcmVzZXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnMpCiB7 CiAJc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkOwotCWVudW0gZm9yY2V3 YWtlX2RvbWFpbl9pZCBpZDsKIAogCWlmIChkZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFpbnMgPT0g MCkKIAkJcmV0dXJuOwogCi0JZm9yX2VhY2hfZndfZG9tYWluX21hc2soZCwgZndfZG9tYWlucywg ZGV2X3ByaXYsIGlkKQorCWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrKGQsIGZ3X2RvbWFpbnMsIGRl dl9wcml2KQogCQlmd19kb21haW5fcmVzZXQoZCk7CiAKIAlmd19kb21haW5zX3Bvc3RpbmdfcmVh ZChkZXZfcHJpdik7CkBAIC0yNTYsNyArMjUyLDYgQEAgdm9pZCBpbnRlbF91bmNvcmVfZm9yY2V3 YWtlX3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcmVzdG9yZSkKIAl1bnNpZ25l ZCBsb25nIGlycWZsYWdzOwogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAq ZG9tYWluOwogCWludCByZXRyeV9jb3VudCA9IDEwMDsKLQllbnVtIGZvcmNld2FrZV9kb21haW5f aWQgaWQ7CiAJZW51bSBmb3JjZXdha2VfZG9tYWlucyBmdyA9IDAsIGFjdGl2ZV9kb21haW5zOwog CiAJLyogSG9sZCB1bmNvcmUubG9jayBhY3Jvc3MgcmVzZXQgdG8gcHJldmVudCBhbnkgcmVnaXN0 ZXIgYWNjZXNzCkBAIC0yNjYsNyArMjYxLDcgQEAgdm9pZCBpbnRlbF91bmNvcmVfZm9yY2V3YWtl X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcmVzdG9yZSkKIAl3aGlsZSAoMSkg ewogCQlhY3RpdmVfZG9tYWlucyA9IDA7CiAKLQkJZm9yX2VhY2hfZndfZG9tYWluKGRvbWFpbiwg ZGV2X3ByaXYsIGlkKSB7CisJCWZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW4sIGRldl9wcml2KSB7 CiAJCQlpZiAoaHJ0aW1lcl9jYW5jZWwoJmRvbWFpbi0+dGltZXIpID09IDApCiAJCQkJY29udGlu dWU7CiAKQEAgLTI3NSw5ICsyNzAsOSBAQCB2b2lkIGludGVsX3VuY29yZV9mb3JjZXdha2VfcmVz ZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCByZXN0b3JlKQogCiAJCXNwaW5fbG9ja19p cnFzYXZlKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2ssIGlycWZsYWdzKTsKIAotCQlmb3JfZWFjaF9m d19kb21haW4oZG9tYWluLCBkZXZfcHJpdiwgaWQpIHsKKwkJZm9yX2VhY2hfZndfZG9tYWluKGRv bWFpbiwgZGV2X3ByaXYpIHsKIAkJCWlmIChocnRpbWVyX2FjdGl2ZSgmZG9tYWluLT50aW1lcikp Ci0JCQkJYWN0aXZlX2RvbWFpbnMgfD0gKDEgPDwgaWQpOworCQkJCWFjdGl2ZV9kb21haW5zIHw9 IGRvbWFpbi0+bWFzazsKIAkJfQogCiAJCWlmIChhY3RpdmVfZG9tYWlucyA9PSAwKQpAQCAtMjk0 LDkgKzI4OSw5IEBAIHZvaWQgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBib29sIHJlc3RvcmUpCiAKIAlXQVJOX09OKGFjdGl2ZV9kb21haW5zKTsK IAotCWZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW4sIGRldl9wcml2LCBpZCkKKwlmb3JfZWFjaF9m d19kb21haW4oZG9tYWluLCBkZXZfcHJpdikKIAkJaWYgKGRvbWFpbi0+d2FrZV9jb3VudCkKLQkJ CWZ3IHw9IDEgPDwgaWQ7CisJCQlmdyB8PSBkb21haW4tPm1hc2s7CiAKIAlpZiAoZncpCiAJCWRl dl9wcml2LT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9wdXQoZGV2X3ByaXYsIGZ3KTsKQEAgLTQx OCwxNiArNDEzLDE1IEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9nZXQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkgZW51bSBmb3JjZXdha2Vf ZG9tYWlucyBmd19kb21haW5zKQogewogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2Rv bWFpbiAqZG9tYWluOwotCWVudW0gZm9yY2V3YWtlX2RvbWFpbl9pZCBpZDsKIAogCWlmICghZGV2 X3ByaXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX2dldCkKIAkJcmV0dXJuOwogCiAJZndfZG9t YWlucyAmPSBkZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFpbnM7CiAKLQlmb3JfZWFjaF9md19kb21h aW5fbWFzayhkb21haW4sIGZ3X2RvbWFpbnMsIGRldl9wcml2LCBpZCkgeworCWZvcl9lYWNoX2Z3 X2RvbWFpbl9tYXNrKGRvbWFpbiwgZndfZG9tYWlucywgZGV2X3ByaXYpIHsKIAkJaWYgKGRvbWFp bi0+d2FrZV9jb3VudCsrKQotCQkJZndfZG9tYWlucyAmPSB+KDEgPDwgaWQpOworCQkJZndfZG9t YWlucyAmPSB+ZG9tYWluLT5tYXNrOwogCX0KIAogCWlmIChmd19kb21haW5zKQpAQCAtNDg1LDE0 ICs0NzksMTMgQEAgc3RhdGljIHZvaWQgX19pbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJCSBlbnVtIGZvcmNld2FrZV9kb21h aW5zIGZ3X2RvbWFpbnMpCiB7CiAJc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWlu ICpkb21haW47Ci0JZW51bSBmb3JjZXdha2VfZG9tYWluX2lkIGlkOwogCiAJaWYgKCFkZXZfcHJp di0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfcHV0KQogCQlyZXR1cm47CiAKIAlmd19kb21haW5z ICY9IGRldl9wcml2LT51bmNvcmUuZndfZG9tYWluczsKIAotCWZvcl9lYWNoX2Z3X2RvbWFpbl9t YXNrKGRvbWFpbiwgZndfZG9tYWlucywgZGV2X3ByaXYsIGlkKSB7CisJZm9yX2VhY2hfZndfZG9t YWluX21hc2soZG9tYWluLCBmd19kb21haW5zLCBkZXZfcHJpdikgewogCQlpZiAoV0FSTl9PTihk b21haW4tPndha2VfY291bnQgPT0gMCkpCiAJCQljb250aW51ZTsKIApAQCAtNTQ2LDEyICs1Mzks MTEgQEAgdm9pZCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dF9fbG9ja2VkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHZvaWQgYXNzZXJ0X2ZvcmNld2FrZXNfaW5hY3RpdmUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBpbnRlbF91bmNv cmVfZm9yY2V3YWtlX2RvbWFpbiAqZG9tYWluOwotCWVudW0gZm9yY2V3YWtlX2RvbWFpbl9pZCBp ZDsKIAogCWlmICghZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX2dldCkKIAkJcmV0 dXJuOwogCi0JZm9yX2VhY2hfZndfZG9tYWluKGRvbWFpbiwgZGV2X3ByaXYsIGlkKQorCWZvcl9l YWNoX2Z3X2RvbWFpbihkb21haW4sIGRldl9wcml2KQogCQlXQVJOX09OKGRvbWFpbi0+d2FrZV9j b3VudCk7CiB9CiAKQEAgLTcyNywxNSArNzE5LDE0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2Zv cmNlX3dha2VfYXV0byhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAg ICBlbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnMpCiB7CiAJc3RydWN0IGludGVsX3Vu Y29yZV9mb3JjZXdha2VfZG9tYWluICpkb21haW47Ci0JZW51bSBmb3JjZXdha2VfZG9tYWluX2lk IGlkOwogCiAJaWYgKFdBUk5fT04oIWZ3X2RvbWFpbnMpKQogCQlyZXR1cm47CiAKIAkvKiBJZGVh bGx5IEdDQyB3b3VsZCBiZSBjb25zdGFudC1mb2xkIGFuZCBlbGltaW5hdGUgdGhpcyBsb29wICov Ci0JZm9yX2VhY2hfZndfZG9tYWluX21hc2soZG9tYWluLCBmd19kb21haW5zLCBkZXZfcHJpdiwg aWQpIHsKKwlmb3JfZWFjaF9md19kb21haW5fbWFzayhkb21haW4sIGZ3X2RvbWFpbnMsIGRldl9w cml2KSB7CiAJCWlmIChkb21haW4tPndha2VfY291bnQpIHsKLQkJCWZ3X2RvbWFpbnMgJj0gfigx IDw8IGlkKTsKKwkJCWZ3X2RvbWFpbnMgJj0gfmRvbWFpbi0+bWFzazsKIAkJCWNvbnRpbnVlOwog CQl9CiAKQEAgLTExNTYsNiArMTE0NywxMiBAQCBzdGF0aWMgdm9pZCBmd19kb21haW5faW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJZC0+aTkxNSA9IGRldl9wcml2Owog CWQtPmlkID0gZG9tYWluX2lkOwogCisJQlVJTERfQlVHX09OKEZPUkNFV0FLRV9SRU5ERVIgIT0g KDEgPDwgRldfRE9NQUlOX0lEX1JFTkRFUikpOworCUJVSUxEX0JVR19PTihGT1JDRVdBS0VfQkxJ VFRFUiAhPSAoMSA8PCBGV19ET01BSU5fSURfQkxJVFRFUikpOworCUJVSUxEX0JVR19PTihGT1JD RVdBS0VfTUVESUEgIT0gKDEgPDwgRldfRE9NQUlOX0lEX01FRElBKSk7CisKKwlkLT5tYXNrID0g MSA8PCBkb21haW5faWQ7CisKIAlocnRpbWVyX2luaXQoJmQtPnRpbWVyLCBDTE9DS19NT05PVE9O SUMsIEhSVElNRVJfTU9ERV9SRUwpOwogCWQtPnRpbWVyLmZ1bmN0aW9uID0gaW50ZWxfdW5jb3Jl X2Z3X3JlbGVhc2VfdGltZXI7CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK