From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhupinder Thakur Subject: [PATCH 27/27 v12] arm/xen: vpl011: Correct the logic for asserting/de-asserting SBSA UART TX interrupt Date: Fri, 13 Oct 2017 16:10:31 +0530 Message-ID: <1507891231-4386-2-git-send-email-bhupinder.thakur@linaro.org> References: <1507891231-4386-1-git-send-email-bhupinder.thakur@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e2xOU-0000Y6-VZ for xen-devel@lists.xenproject.org; Fri, 13 Oct 2017 10:40:43 +0000 Received: by mail-pf0-f174.google.com with SMTP id n14so9588354pfh.8 for ; Fri, 13 Oct 2017 03:40:41 -0700 (PDT) In-Reply-To: <1507891231-4386-1-git-send-email-bhupinder.thakur@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Andre Przywara , Julien Grall , Stefano Stabellini , Dave Martin List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBmaXhlcyB0aGUgaXNzdWUgb2JzZXJ2ZWQgd2hlbiBwbDAxMSBwYXRjaGVzIHdl cmUgdGVzdGVkIG9uCnRoZSBqdW5vcyBoYXJkd2FyZSBieSBBbmRyZS9KdWxpZW4uIEl0IHdhcyBv YnNlcnZlZCB0aGF0IHdoZW4gbGFyZ2UKb3V0cHV0IGlzIGdlbmVyYXRlZCBzdWNoIGFzIG9uIHJ1 bm5pbmcgJ2ZpbmQgLycsIG91dHB1dCB3YXMgZ2V0dGluZwp0cnVuY2F0ZWQgaW50ZXJtaXR0ZW50 bHkgZHVlIHRvIE9VVCByaW5nIGJ1ZmZlciBnZXR0aW5nIGZ1bGwuCgpUaGlzIGlzc3VlIHdhcyBk dWUgdG8gdGhlIGZhY3QgdGhhdCB0aGUgU0JTQSBVQVJUIGRyaXZlciBleHBlY3RzIHRoYXQKd2hl biBhIFRYIGludGVycnVwdCBpcyBhc3NlcnRlZCB0aGVuIHRoZSBGSUZPIHF1ZXVlIHNob3VsZCBi ZSBhdGxlYXN0CmhhbGYgZW1wdHkgYW5kIHRoYXQgaXQgY2FuIHdyaXRlIE4gYnl0ZXMgaW4gdGhl IEZJRk8sIHdoZXJlIE4gaXMgaGFsZgp0aGUgRklGTyBxdWV1ZSBzaXplLCB3aXRob3V0IHRoZSBi eXRlcyBnZXR0aW5nIGRyb3BwZWQgZHVlIHRvIEZJRk8KZ2V0dGluZyBmdWxsLgoKVGhlIFNCU0Eg VUFSVCBlbXVsYXRpb24gbG9naWMgd2FzIGFzc2VydGluZyB0aGUgVFggaW50ZXJydXB0IGFzIHNv b24KYXMgYW55IHNwYWNlIGJlY2FtZSBhdmFpbGFibGUgaW4gdGhlIEZJRk8gYW5kIHRoZSBTQlNB IFVBUlQgZHJpdmVyCnRyaWVkIHRvIHdyaXRlIG1vcmUgZGF0YSAodXB0byAxNiBieXRlcykgaW4g dGhlIEZJRk8gZXhwZWN0aW5nIHRoYXQKdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGF2YWlsYWJsZSBs ZWFkaW5nIHRvIGRyb3BwZWQgYnl0ZXMuCgpUaGUgU0JTQSBzcGVjIFsxXSBkb2VzIG5vdCBzcGVj aWZ5IHdoZW4gdGhlIFRYIGludGVycnVwdCBzaG91bGQgYmUKYXNzZXJ0ZWQgb3IgZGUtYXNzZXJ0 ZWQuIER1ZSB0byBsYWNrIG9mIGNsYXJpdHkgb24gdGhlIGV4cGVjdGVkCmJlaGF2aW9yLCBpdCBp cyBhc3N1bWVkIGZvciBub3cgdGhhdCBUWCBpbnRlcnJ1cHQgc2hvdWxkIGJlIGFzc2VydGVkCm9u bHkgd2hlbiB0aGUgRklGTyBnb2VzIGhhbGYgZW1wdHkuCgpUQkQ6IE9uY2UgdGhlIFNCU0Egc3Bl YyBpcyB1cGRhdGVkIHdpdGggdGhlIGV4cGVjdGVkIGJlaGF2aW9yLCB0aGUKaW1wbGVtZW50YXRp b24gd2lsbCBiZSBtb2RpZmllZCB0byBhbGlnbiB3aXRoIHRoZSBzcGVjIHJlcXVpcmVtZW50LgoK WzFdIGh0dHA6Ly9pbmZvY2VudGVyLmFybS5jb20vaGVscC90b3BpYy9jb20uYXJtLmRvYy5kZGkw MTgzZi9EREkwMTgzLnBkZgoKU2lnbmVkLW9mZi1ieTogQmh1cGluZGVyIFRoYWt1ciA8Ymh1cGlu ZGVyLnRoYWt1ckBsaW5hcm8ub3JnPgotLS0KQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxs QGFybS5jb20+CkNDOiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KQ0M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IERhdmUgTWFy dGluIDxkYXZlLm1hcnRpbkBhcm0uY29tPgoKQ2hhbmdlcyBzaW5jZSB2MTE6Ci0gQWRkIGEgYnVp bGQgYXNzZXJ0IHRvIGNoZWNrIHRoYXQgcmluZyBidWZmZXIgc2l6ZSBpcyBtb3JlIHRoYW4gbWlu aW11bSByeCBmaWYgc2l6ZSBvZiAzMgotIEFkZGVkIGEgY29tbWVudCB0byBleHBsYWluIHdoeSB0 aHJlc2hvbGQgYmFzZWQgbG9naWMgaXMgbm90IGltcGxlbWVudGVkIGZvciByeCBmaWZvCi0gTW92 ZWQgY2FsbHMgdG8gdnBsMDExX3VwZGF0ZV9pbnRlcnJ1cHRfc3RhdHVzKCkgbmVhciB3aGVyZSBU WEkvUlhJIHN0YXR1cyBiaXQgaXMgc2V0CiAKQ2hhbmdlcyBzaW5jZSB2ODoKLSBVc2VkIHZhcmlh YmxlcyBmaWZvX2xldmVsL2ZpZm9fdGhyZXNob2xkIGZvciBtb3JlIGNsYXJpdHkKLSBBZGRlZCBh IG5ldyBtYWNybyBTQlNBX1VBUlRfRklGT19TSVpFIGluc3RlYWQgb2YgdXNpbmcgYSBtYWdpYyBu dW1iZXIKLSBSZW5hbWVkIHJpbmdfcXNpemUgdmFyaWFibGVzIHRvIGZpZm9fbGV2ZWwgZm9yIGNv bnNpc3RlbmN5IAoKIHhlbi9hcmNoL2FybS92cGwwMTEuYyAgICAgICAgfCAxMTMgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFybS92 cGwwMTEuaCB8ICAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDMzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92cGwwMTEuYyBiL3hlbi9hcmNo L2FybS92cGwwMTEuYwppbmRleCAwYjA3NDM2Li5hZGYxNzExIDEwMDY0NAotLS0gYS94ZW4vYXJj aC9hcm0vdnBsMDExLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZwbDAxMS5jCkBAIC05MywyNCArOTMs MjcgQEAgc3RhdGljIHVpbnQ4X3QgdnBsMDExX3JlYWRfZGF0YShzdHJ1Y3QgZG9tYWluICpkKQog ICAgICAqLwogICAgIGlmICggeGVuY29uc19xdWV1ZWQoaW5fcHJvZCwgaW5fY29ucywgc2l6ZW9m KGludGYtPmluKSkgPiAwICkKICAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBmaWZvX2xldmVs OworCiAgICAgICAgIGRhdGEgPSBpbnRmLT5pblt4ZW5jb25zX21hc2soaW5fY29ucywgc2l6ZW9m KGludGYtPmluKSldOwogICAgICAgICBpbl9jb25zICs9IDE7CiAgICAgICAgIHNtcF9tYigpOwog ICAgICAgICBpbnRmLT5pbl9jb25zID0gaW5fY29uczsKKworICAgICAgICBmaWZvX2xldmVsID0g eGVuY29uc19xdWV1ZWQoaW5fcHJvZCwgaW5fY29ucywgc2l6ZW9mKGludGYtPmluKSk7CisKKyAg ICAgICAgaWYgKCBmaWZvX2xldmVsID09IDAgKQorICAgICAgICB7CisgICAgICAgICAgICB2cGww MTEtPnVhcnRmciB8PSBSWEZFOworICAgICAgICAgICAgdnBsMDExLT51YXJ0cmlzICY9IH5SWEk7 CisgICAgICAgICAgICB2cGwwMTFfdXBkYXRlX2ludGVycnVwdF9zdGF0dXMoZCk7CisgICAgICAg IH0KICAgICB9CiAgICAgZWxzZQogICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIsICJ2cGwwMTE6 IFVuZXhwZWN0ZWQgSU4gcmluZyBidWZmZXIgZW1wdHlcbiIpOwogCi0gICAgaWYgKCB4ZW5jb25z X3F1ZXVlZChpbl9wcm9kLCBpbl9jb25zLCBzaXplb2YoaW50Zi0+aW4pKSA9PSAwICkKLSAgICB7 Ci0gICAgICAgIHZwbDAxMS0+dWFydGZyIHw9IFJYRkU7Ci0gICAgICAgIHZwbDAxMS0+dWFydHJp cyAmPSB+UlhJOwotICAgIH0KLQogICAgIHZwbDAxMS0+dWFydGZyICY9IH5SWEZGOwogCi0gICAg dnBsMDExX3VwZGF0ZV9pbnRlcnJ1cHRfc3RhdHVzKGQpOwotCiAgICAgVlBMMDExX1VOTE9DSyhk LCBmbGFncyk7CiAKICAgICAvKgpAQCAtMTIyLDYgKzEyNSwyNiBAQCBzdGF0aWMgdWludDhfdCB2 cGwwMTFfcmVhZF9kYXRhKHN0cnVjdCBkb21haW4gKmQpCiAgICAgcmV0dXJuIGRhdGE7CiB9CiAK K3N0YXRpYyB2b2lkIHZwbDAxMV91cGRhdGVfdHhfZmlmb19zdGF0dXMoc3RydWN0IHZwbDAxMSAq dnBsMDExLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgZmlmb19sZXZlbCkKK3sKKyAgICBzdHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgKmludGYg PSB2cGwwMTEtPnJpbmdfYnVmOworICAgIHVuc2lnbmVkIGludCBmaWZvX3RocmVzaG9sZDsKKwor ICAgIEJVSUxEX0JVR19PTihzaXplb2YgKGludGYtPm91dCkgPCBTQlNBX1VBUlRfRklGT19TSVpF KTsKKworICAgIC8qCisgICAgICogU2V0IHRoZSBUWEkgYml0IG9ubHkgd2hlbiB0aGVyZSBpcyBz cGFjZSBmb3IgZmlmb19zaXplLzIgYnl0ZXMgd2hpY2gKKyAgICAgKiBpcyB0aGUgdHJpZ2dlciBs ZXZlbCBmb3IgYXNzZXJ0aW5nL2RlLWFzc3RlcnRpbmcgdGhlIFRYIGludGVycnVwdC4KKyAgICAg Ki8KKyAgICBmaWZvX3RocmVzaG9sZCA9IHNpemVvZihpbnRmLT5vdXQpIC0gU0JTQV9VQVJUX0ZJ Rk9fU0laRS8yOworCisgICAgaWYgKCBmaWZvX2xldmVsIDw9IGZpZm9fdGhyZXNob2xkICkKKyAg ICAgICAgdnBsMDExLT51YXJ0cmlzIHw9IFRYSTsKKyAgICBlbHNlCisgICAgICAgIHZwbDAxMS0+ dWFydHJpcyAmPSB+VFhJOworfQorCiBzdGF0aWMgdm9pZCB2cGwwMTFfd3JpdGVfZGF0YShzdHJ1 Y3QgZG9tYWluICpkLCB1aW50OF90IGRhdGEpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsK QEAgLTE0NiwzMyArMTY5LDM3IEBAIHN0YXRpYyB2b2lkIHZwbDAxMV93cml0ZV9kYXRhKHN0cnVj dCBkb21haW4gKmQsIHVpbnQ4X3QgZGF0YSkKICAgICBpZiAoIHhlbmNvbnNfcXVldWVkKG91dF9w cm9kLCBvdXRfY29ucywgc2l6ZW9mKGludGYtPm91dCkpICE9CiAgICAgICAgICBzaXplb2YgKGlu dGYtPm91dCkgKQogICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IGZpZm9fbGV2ZWw7CisKICAg ICAgICAgaW50Zi0+b3V0W3hlbmNvbnNfbWFzayhvdXRfcHJvZCwgc2l6ZW9mKGludGYtPm91dCkp XSA9IGRhdGE7CiAgICAgICAgIG91dF9wcm9kICs9IDE7CiAgICAgICAgIHNtcF93bWIoKTsKICAg ICAgICAgaW50Zi0+b3V0X3Byb2QgPSBvdXRfcHJvZDsKLSAgICB9Ci0gICAgZWxzZQotICAgICAg ICBncHJpbnRrKFhFTkxPR19FUlIsICJ2cGwwMTE6IFVuZXhwZWN0ZWQgT1VUIHJpbmcgYnVmZmVy IGZ1bGxcbiIpOwogCi0gICAgaWYgKCB4ZW5jb25zX3F1ZXVlZChvdXRfcHJvZCwgb3V0X2NvbnMs IHNpemVvZihpbnRmLT5vdXQpKSA9PQotICAgICAgICAgc2l6ZW9mIChpbnRmLT5vdXQpICkKLSAg ICB7Ci0gICAgICAgIHZwbDAxMS0+dWFydGZyIHw9IFRYRkY7Ci0gICAgICAgIHZwbDAxMS0+dWFy dHJpcyAmPSB+VFhJOworICAgICAgICBmaWZvX2xldmVsID0geGVuY29uc19xdWV1ZWQob3V0X3By b2QsIG91dF9jb25zLCBzaXplb2YoaW50Zi0+b3V0KSk7CiAKLSAgICAgICAgLyoKLSAgICAgICAg ICogVGhpcyBiaXQgaXMgc2V0IG9ubHkgd2hlbiBGSUZPIGJlY29tZXMgZnVsbC4gVGhpcyBlbnN1 cmVzIHRoYXQKLSAgICAgICAgICogdGhlIFNCU0EgVUFSVCBkcml2ZXIgY2FuIHdyaXRlIHRoZSBl YXJseSBjb25zb2xlIGRhdGEgYXMgZmFzdCBhcwotICAgICAgICAgKiBwb3NzaWJsZSwgd2l0aG91 dCB3YWl0aW5nIGZvciB0aGUgQlVTWSBiaXQgdG8gZ2V0IGNsZWFyZWQgYmVmb3JlCi0gICAgICAg ICAqIHdyaXRpbmcgZWFjaCBieXRlLgotICAgICAgICAgKi8KLSAgICAgICAgdnBsMDExLT51YXJ0 ZnIgfD0gQlVTWTsKKyAgICAgICAgaWYgKCBmaWZvX2xldmVsID09IHNpemVvZiAoaW50Zi0+b3V0 KSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHZwbDAxMS0+dWFydGZyIHw9IFRYRkY7CisKKyAg ICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBUaGlzIGJpdCBpcyBzZXQgb25seSB3aGVuIEZJ Rk8gYmVjb21lcyBmdWxsLiBUaGlzIGVuc3VyZXMgdGhhdAorICAgICAgICAgICAgICogdGhlIFNC U0EgVUFSVCBkcml2ZXIgY2FuIHdyaXRlIHRoZSBlYXJseSBjb25zb2xlIGRhdGEgYXMgZmFzdCBh cworICAgICAgICAgICAgICogcG9zc2libGUsIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIEJVU1kg Yml0IHRvIGdldCBjbGVhcmVkIGJlZm9yZQorICAgICAgICAgICAgICogd3JpdGluZyBlYWNoIGJ5 dGUuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHZwbDAxMS0+dWFydGZyIHw9IEJVU1k7 CisgICAgICAgIH0KKworICAgICAgICB2cGwwMTFfdXBkYXRlX3R4X2ZpZm9fc3RhdHVzKHZwbDAx MSwgZmlmb19sZXZlbCk7CisKKyAgICAgICAgdnBsMDExX3VwZGF0ZV9pbnRlcnJ1cHRfc3RhdHVz KGQpOwogICAgIH0KKyAgICBlbHNlCisgICAgICAgIGdwcmludGsoWEVOTE9HX0VSUiwgInZwbDAx MTogVW5leHBlY3RlZCBPVVQgcmluZyBidWZmZXIgZnVsbFxuIik7CiAKICAgICB2cGwwMTEtPnVh cnRmciAmPSB+VFhGRTsKIAotICAgIHZwbDAxMV91cGRhdGVfaW50ZXJydXB0X3N0YXR1cyhkKTsK LQogICAgIFZQTDAxMV9VTkxPQ0soZCwgZmxhZ3MpOwogCiAgICAgLyoKQEAgLTM0NCw3ICszNzEs NyBAQCBzdGF0aWMgdm9pZCB2cGwwMTFfZGF0YV9hdmFpbChzdHJ1Y3QgZG9tYWluICpkKQogICAg IHN0cnVjdCB2cGwwMTEgKnZwbDAxMSA9ICZkLT5hcmNoLnZwbDAxMTsKICAgICBzdHJ1Y3QgeGVu Y29uc19pbnRlcmZhY2UgKmludGYgPSB2cGwwMTEtPnJpbmdfYnVmOwogICAgIFhFTkNPTlNfUklO R19JRFggaW5fY29ucywgaW5fcHJvZCwgb3V0X2NvbnMsIG91dF9wcm9kOwotICAgIFhFTkNPTlNf UklOR19JRFggaW5fcmluZ19xc2l6ZSwgb3V0X3JpbmdfcXNpemU7CisgICAgWEVOQ09OU19SSU5H X0lEWCBpbl9maWZvX2xldmVsLCBvdXRfZmlmb19sZXZlbDsKIAogICAgIFZQTDAxMV9MT0NLKGQs IGZsYWdzKTsKIApAQCAtMzU1LDI4ICszODIsNDYgQEAgc3RhdGljIHZvaWQgdnBsMDExX2RhdGFf YXZhaWwoc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIHNtcF9ybWIoKTsKIAotICAgIGluX3Jpbmdf cXNpemUgPSB4ZW5jb25zX3F1ZXVlZChpbl9wcm9kLAorICAgIGluX2ZpZm9fbGV2ZWwgPSB4ZW5j b25zX3F1ZXVlZChpbl9wcm9kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bl9jb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaW50Zi0+ aW4pKTsKIAotICAgIG91dF9yaW5nX3FzaXplID0geGVuY29uc19xdWV1ZWQob3V0X3Byb2QsCisg ICAgb3V0X2ZpZm9fbGV2ZWwgPSB4ZW5jb25zX3F1ZXVlZChvdXRfcHJvZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG91dF9jb25zLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2l6ZW9mKGludGYtPm91dCkpOwogCiAgICAgLyogVXBkYXRlIHRoZSB1 YXJ0IHJ4IHN0YXRlIGlmIHRoZSBidWZmZXIgaXMgbm90IGVtcHR5LiAqLwotICAgIGlmICggaW5f cmluZ19xc2l6ZSAhPSAwICkKKyAgICBpZiAoIGluX2ZpZm9fbGV2ZWwgIT0gMCApCiAgICAgewog ICAgICAgICB2cGwwMTEtPnVhcnRmciAmPSB+UlhGRTsKLSAgICAgICAgaWYgKCBpbl9yaW5nX3Fz aXplID09IHNpemVvZihpbnRmLT5pbikgKQorCisgICAgICAgIGlmICggaW5fZmlmb19sZXZlbCA9 PSBzaXplb2YoaW50Zi0+aW4pICkKICAgICAgICAgICAgIHZwbDAxMS0+dWFydGZyIHw9IFJYRkY7 CisKKyAgICAgICAgLyoKKyAgICAgICAgICogQ3VycmVudGx5LCB0aGUgUlhJIGJpdCBpcyBnZXR0 aW5nIHNldCBldmVuIGlmIHRoZXJlIGlzIGEgc2luZ2xlCisgICAgICAgICAqIGJ5dGUgb2YgZGF0 YSBpbiB0aGUgcnggZmlmby4gSWRlYWxseSwgdGhlIFJYSSBiaXQgc2hvdWxkIGJlIHNldAorICAg ICAgICAgKiBvbmx5IGlmIHRoZSByeCBmaWZvIGxldmVsIHJlYWNoZXMgdGhlIHRocmVzaG9sZC4K KyAgICAgICAgICoKKyAgICAgICAgICogSG93ZXZlciwgc2luY2UgY3VycmVudGx5IFJYIHRpbWVv dXQgaW50ZXJydXB0IGlzIG5vdAorICAgICAgICAgKiBpbXBsZW1lbnRlZCBhcyB0aGVyZSBpcyBu b3QgZW5vdWdoIGNsYXJpdHkgaW4gdGhlIFNCU0Egc3BlYywKKyAgICAgICAgICogdGhlIGd1ZXN0 IG1heSBrZWVwIHdhaXRpbmcgZm9yIGFuIGludGVycnVwdCB0byByZWFkIG1vcmUKKyAgICAgICAg ICogZGF0YS4gVG8gZW5zdXJlIHRoYXQgZ3Vlc3QgcmVhZHMgYWxsIHRoZSBkYXRhIHdpdGhvdXQK KyAgICAgICAgICogYW55IGRlbGF5LCB0aGUgUlhJIGludGVycnVwdCBpcyByYWlzZWQgaWYgdGhl cmUgaXMgUlggZGF0YQorICAgICAgICAgKiBhdmFpbGFibGUgd2l0aG91dCBjaGVja2luZyB3aGV0 aGVyIGZpZm8gbGV2ZWwgaGFzIHJlYWNoZWQKKyAgICAgICAgICogdGhlIHRocmVzaG9sZC4KKyAg ICAgICAgICoKKyAgICAgICAgICogVEJEOiBPbmNlIHRoZXJlIGlzIG1vcmUgY2xhcml0eSBpbiB0 aGUgU0JTQSBzcGVjIG9uIHdoZXRoZXIgUlgKKyAgICAgICAgICogdGltZW91dCBpbnRlcnJ1cHQg bmVlZHMgdG8gYmUgaW1wbGVtZW50ZWQsIHRoZSBSWEkgaW50ZXJydXB0CisgICAgICAgICAqIHdp bGwgYmUgcmFpc2VkIG9ubHkgd2hlbiByeCBmaWZvIGxldmVsIHJlYWNoZXMgdGhlIHRocmVzaG9s ZC4KKyAgICAgICAgICovCiAgICAgICAgIHZwbDAxMS0+dWFydHJpcyB8PSBSWEk7CiAgICAgfQog CiAgICAgLyogVXBkYXRlIHRoZSB1YXJ0IHR4IHN0YXRlIGlmIHRoZSBidWZmZXIgaXMgbm90IGZ1 bGwuICovCi0gICAgaWYgKCBvdXRfcmluZ19xc2l6ZSAhPSBzaXplb2YoaW50Zi0+b3V0KSApCisg ICAgaWYgKCBvdXRfZmlmb19sZXZlbCAhPSBzaXplb2YoaW50Zi0+b3V0KSApCiAgICAgewogICAg ICAgICB2cGwwMTEtPnVhcnRmciAmPSB+VFhGRjsKLSAgICAgICAgdnBsMDExLT51YXJ0cmlzIHw9 IFRYSTsKIAogICAgICAgICAvKgogICAgICAgICAgKiBDbGVhciB0aGUgQlVTWSBiaXQgYXMgc29v biBhcyBzcGFjZSBiZWNvbWVzIGF2YWlsYWJsZQpAQCAtMzg1LDcgKzQzMCw5IEBAIHN0YXRpYyB2 b2lkIHZwbDAxMV9kYXRhX2F2YWlsKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgICAqLwogICAg ICAgICB2cGwwMTEtPnVhcnRmciAmPSB+QlVTWTsKIAotICAgICAgICBpZiAoIG91dF9yaW5nX3Fz aXplID09IDAgKQorICAgICAgICB2cGwwMTFfdXBkYXRlX3R4X2ZpZm9fc3RhdHVzKHZwbDAxMSwg b3V0X2ZpZm9fbGV2ZWwpOworCisgICAgICAgIGlmICggb3V0X2ZpZm9fbGV2ZWwgPT0gMCApCiAg ICAgICAgICAgICB2cGwwMTEtPnVhcnRmciB8PSBUWEZFOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLWFybS92cGwwMTEuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdnBsMDEx LmgKaW5kZXggMWI1ODNkYS4uZGI5NWZmOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFy bS92cGwwMTEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3ZwbDAxMS5oCkBAIC0yOCw2ICsy OCw4IEBACiAjZGVmaW5lIFZQTDAxMV9MT0NLKGQsZmxhZ3MpIHNwaW5fbG9ja19pcnFzYXZlKCYo ZCktPmFyY2gudnBsMDExLmxvY2ssIGZsYWdzKQogI2RlZmluZSBWUEwwMTFfVU5MT0NLKGQsZmxh Z3MpIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJihkKS0+YXJjaC52cGwwMTEubG9jaywgZmxhZ3Mp CiAKKyNkZWZpbmUgU0JTQV9VQVJUX0ZJRk9fU0laRSAzMgorCiBzdHJ1Y3QgdnBsMDExIHsKICAg ICB2b2lkICpyaW5nX2J1ZjsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpyaW5nX3BhZ2U7Ci0tIAoy LjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=