From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hai Li Subject: [PATCH 2/2] drm/msm/mdp5: Allocate CTL0/1 for dual DSI single FLUSH Date: Fri, 26 Jun 2015 16:03:26 -0400 Message-ID: <1435349006-26136-3-git-send-email-hali@codeaurora.org> References: <1435349006-26136-1-git-send-email-hali@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1435349006-26136-1-git-send-email-hali@codeaurora.org> 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 Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org VGhpcyBjaGFuZ2UgdGFrZXMgYWR2YW50YWdlIG9mIGEgSFcgZmVhdHVyZSB0aGF0IHN5bmNocm9u aXplCmZsdXNoIG9wZXJhdGlvbiBvbiBDVEwxIHRvIENUTDAsIHRvIGtlZXAgZHVhbCBEU0kgcGlw ZXMgaW4Kc3luYy4KClNpZ25lZC1vZmYtYnk6IEhhaSBMaSA8aGFsaUBjb2RlYXVyb3JhLm9yZz4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3RsLmMgICAgIHwgMTQwICsr KysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUv bWRwNV9jdGwuaCAgICAgfCAgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9lbmNvZGVyLmMgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9r bXMuYyAgICAgfCAgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDIz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUv bWRwNV9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jdGwuYwppbmRl eCBjOTY4ZWM1Li42MmRhYzVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfY3RsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2N0 bC5jCkBAIC0xNyw3ICsxNyw3IEBACiAvKgogICogQ1RMIC0gTURQIENvbnRyb2wgUG9vbCBNYW5h Z2VyCiAgKgotICogQ29udHJvbHMgYXJlIHNoYXJlZCBiZXR3ZWVuIGFsbCBDUlRDcy4KKyAqIENv bnRyb2xzIGFyZSBzaGFyZWQgYmV0d2VlbiBhbGwgZGlzcGxheSBpbnRlcmZhY2VzLgogICoKICAq IFRoZXkgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIGRhdGEgcGF0aCBjb25maWd1cmF0aW9u LgogICogVGhlIHRvcCBsZXZlbCByZWdpc3RlciBwcm9ncmFtbWluZyBkZXNjcmliZXMgdGhlIGNv bXBsZXRlIGRhdGEgcGF0aCBmb3IKQEAgLTI3LDEyICsyNywxMSBAQAogICoKICAqIEluIGNlcnRh aW4gdXNlIGNhc2VzIChoaWdoLXJlc29sdXRpb24gZHVhbCBwaXBlKSwgb25lIHNpbmdsZSBDVEwg Y2FuIGJlCiAgKiBzaGFyZWQgYWNyb3NzIG11bHRpcGxlIENSVENzLgotICoKLSAqIEJlY2F1c2Ug dGhlIG51bWJlciBvZiBDVExzIGNhbiBiZSBsZXNzIHRoYW4gdGhlIG51bWJlciBvZiBDUlRDcywK LSAqIENUTHMgYXJlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBmcm9tIGEgcG9vbCBvZiBDVExzLCBv bmx5IG9uY2UgYSBDUlRDIGlzCi0gKiByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCAoaW4gbWRwNV9j cnRjX21vZGVfc2V0KCkpLgogICovCiAKKyNkZWZpbmUgQ1RMX1NUQVRfQlVTWQkJMHgxCisjZGVm aW5lIENUTF9TVEFUX0JPT0tFRAkweDIKKwogc3RydWN0IG9wX21vZGUgewogCXN0cnVjdCBtZHA1 X2ludGVyZmFjZSBpbnRmOwogCkBAIC00Niw4ICs0NSw4IEBAIHN0cnVjdCBtZHA1X2N0bCB7CiAJ dTMyIGlkOwogCWludCBsbTsKIAotCS8qIHdoZXRoZXIgdGhpcyBDVEwgaGFzIGJlZW4gYWxsb2Nh dGVkIG9yIG5vdDogKi8KLQlib29sIGJ1c3k7CisJLyogQ1RMIHN0YXR1cyBiaXRtYXNrICovCisJ dTMyIHN0YXR1czsKIAogCS8qIE9wZXJhdGlvbiBNb2RlIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBQ aXBlbGluZSAqLwogCXN0cnVjdCBvcF9tb2RlIHBpcGVsaW5lOwpAQCAtNjAsNiArNTksMTEgQEAg c3RydWN0IG1kcDVfY3RsIHsKIAl1MzIgcGVuZGluZ19jdGxfdHJpZ2dlcjsKIAogCWJvb2wgY3Vy c29yX29uOworCisJLyogVHJ1ZSBpZiB0aGUgY3VycmVudCBDVEwgaGFzIEZMVVNIIGJpdHMgcGVu ZGluZyBmb3Igc2luZ2xlIEZMVVNILiAqLworCWJvb2wgZmx1c2hfcGVuZGluZzsKKworCXN0cnVj dCBtZHA1X2N0bCAqcGFpcjsgLyogUGFpcmVkIENUTCB0byBiZSBmbHVzaGVkIHRvZ2V0aGVyICov CiB9OwogCiBzdHJ1Y3QgbWRwNV9jdGxfbWFuYWdlciB7CkBAIC03Miw2ICs3NiwxMCBAQCBzdHJ1 Y3QgbWRwNV9jdGxfbWFuYWdlciB7CiAJLyogdG8gZmlsdGVyIG91dCBub24tcHJlc2VudCBiaXRz IGluIHRoZSBjdXJyZW50IGhhcmR3YXJlIGNvbmZpZyAqLwogCXUzMiBmbHVzaF9od19tYXNrOwog CisJLyogc3RhdHVzIGZvciBzaW5nbGUgRkxVU0ggKi8KKwlib29sIHNpbmdsZV9mbHVzaF9zdXBw b3J0ZWQ7CisJdTMyIHNpbmdsZV9mbHVzaF9wZW5kaW5nX21hc2s7CisKIAkvKiBwb29sIG9mIENU THMgKyBsb2NrIHRvIHByb3RlY3QgcmVzb3VyY2UgYWxsb2NhdGlvbiAoY3Rsc1tpXS5idXN5KSAq LwogCXNwaW5sb2NrX3QgcG9vbF9sb2NrOwogCXN0cnVjdCBtZHA1X2N0bCBjdGxzW01BWF9DVExd OwpAQCAtMzg3LDYgKzM5NSwzMSBAQCBzdGF0aWMgdTMyIGZpeF9zd19mbHVzaChzdHJ1Y3QgbWRw NV9jdGwgKmN0bCwgdTMyIGZsdXNoX21hc2spCiAJcmV0dXJuIHN3X21hc2s7CiB9CiAKK3N0YXRp YyB2b2lkIGZpeF9mb3Jfc2luZ2xlX2ZsdXNoKHN0cnVjdCBtZHA1X2N0bCAqY3RsLCB1MzIgKmZs dXNoX21hc2ssCisJCXUzMiAqZmx1c2hfaWQpCit7CisJc3RydWN0IG1kcDVfY3RsX21hbmFnZXIg KmN0bF9tZ3IgPSBjdGwtPmN0bG07CisKKwlpZiAoY3RsLT5wYWlyKSB7CisJCURCRygiQ1RMICVk IEZMVVNIIHBlbmRpbmcgbWFzayAleCIsIGN0bC0+aWQsICpmbHVzaF9tYXNrKTsKKwkJY3RsLT5m bHVzaF9wZW5kaW5nID0gdHJ1ZTsKKwkJY3RsX21nci0+c2luZ2xlX2ZsdXNoX3BlbmRpbmdfbWFz ayB8PSAoKmZsdXNoX21hc2spOworCQkqZmx1c2hfbWFzayA9IDA7CisKKwkJaWYgKGN0bC0+cGFp ci0+Zmx1c2hfcGVuZGluZykgeworCQkJKmZsdXNoX2lkID0gbWluX3QodTMyLCBjdGwtPmlkLCBj dGwtPnBhaXItPmlkKTsKKwkJCSpmbHVzaF9tYXNrID0gY3RsX21nci0+c2luZ2xlX2ZsdXNoX3Bl bmRpbmdfbWFzazsKKworCQkJY3RsLT5mbHVzaF9wZW5kaW5nID0gZmFsc2U7CisJCQljdGwtPnBh aXItPmZsdXNoX3BlbmRpbmcgPSBmYWxzZTsKKwkJCWN0bF9tZ3ItPnNpbmdsZV9mbHVzaF9wZW5k aW5nX21hc2sgPSAwOworCisJCQlEQkcoIlNpbmdsZSBGTFVTSCBtYXNrICV4LElEICVkIiwgKmZs dXNoX21hc2ssCisJCQkJKmZsdXNoX2lkKTsKKwkJfQorCX0KK30KKwogLyoqCiAgKiBtZHA1X2N0 bF9jb21taXQoKSAtIFJlZ2lzdGVyIEZsdXNoCiAgKgpAQCAtNDA4LDYgKzQ0MSw4IEBAIHUzMiBt ZHA1X2N0bF9jb21taXQoc3RydWN0IG1kcDVfY3RsICpjdGwsIHUzMiBmbHVzaF9tYXNrKQogCXN0 cnVjdCBtZHA1X2N0bF9tYW5hZ2VyICpjdGxfbWdyID0gY3RsLT5jdGxtOwogCXN0cnVjdCBvcF9t b2RlICpwaXBlbGluZSA9ICZjdGwtPnBpcGVsaW5lOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJ dTMyIGZsdXNoX2lkID0gY3RsLT5pZDsKKwl1MzIgY3Vycl9jdGxfZmx1c2hfbWFzazsKIAogCXBp cGVsaW5lLT5zdGFydF9tYXNrICY9IH5mbHVzaF9tYXNrOwogCkBAIC00MjMsOSArNDU4LDEzIEBA IHUzMiBtZHA1X2N0bF9jb21taXQoc3RydWN0IG1kcDVfY3RsICpjdGwsIHUzMiBmbHVzaF9tYXNr KQogCiAJZmx1c2hfbWFzayAmPSBjdGxfbWdyLT5mbHVzaF9od19tYXNrOwogCisJY3Vycl9jdGxf Zmx1c2hfbWFzayA9IGZsdXNoX21hc2s7CisKKwlmaXhfZm9yX3NpbmdsZV9mbHVzaChjdGwsICZm bHVzaF9tYXNrLCAmZmx1c2hfaWQpOworCiAJaWYgKGZsdXNoX21hc2spIHsKIAkJc3Bpbl9sb2Nr X2lycXNhdmUoJmN0bC0+aHdfbG9jaywgZmxhZ3MpOwotCQljdGxfd3JpdGUoY3RsLCBSRUdfTURQ NV9DVExfRkxVU0goY3RsLT5pZCksIGZsdXNoX21hc2spOworCQljdGxfd3JpdGUoY3RsLCBSRUdf TURQNV9DVExfRkxVU0goZmx1c2hfaWQpLCBmbHVzaF9tYXNrKTsKIAkJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmY3RsLT5od19sb2NrLCBmbGFncyk7CiAJfQogCkBAIC00MzQsNyArNDczLDcgQEAg dTMyIG1kcDVfY3RsX2NvbW1pdChzdHJ1Y3QgbWRwNV9jdGwgKmN0bCwgdTMyIGZsdXNoX21hc2sp CiAJCXJlZmlsbF9zdGFydF9tYXNrKGN0bCk7CiAJfQogCi0JcmV0dXJuIGZsdXNoX21hc2s7CisJ cmV0dXJuIGN1cnJfY3RsX2ZsdXNoX21hc2s7CiB9CiAKIHUzMiBtZHA1X2N0bF9nZXRfY29tbWl0 X3N0YXR1cyhzdHJ1Y3QgbWRwNV9jdGwgKmN0bCkKQEAgLTQ0OCwzMiArNDg3LDc5IEBAIGludCBt ZHA1X2N0bF9nZXRfY3RsX2lkKHN0cnVjdCBtZHA1X2N0bCAqY3RsKQogfQogCiAvKgorICogbWRw NV9jdGxfcGFpcigpIC0gQXNzb2NpYXRlIDIgYm9va2VkIENUTHMgZm9yIHNpbmdsZSBGTFVTSAor ICovCitpbnQgbWRwNV9jdGxfcGFpcihzdHJ1Y3QgbWRwNV9jdGwgKmN0bHgsIHN0cnVjdCBtZHA1 X2N0bCAqY3RseSwgYm9vbCBlbmFibGUpCit7CisJc3RydWN0IG1kcDVfY3RsX21hbmFnZXIgKmN0 bF9tZ3IgPSBjdGx4LT5jdGxtOworCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSBnZXRfa21z KGN0bF9tZ3IpOworCisJLyogZG8gbm90aGluZyBzaWxlbnRseSBpZiBodyBkb2Vzbid0IHN1cHBv cnQgKi8KKwlpZiAoIWN0bF9tZ3ItPnNpbmdsZV9mbHVzaF9zdXBwb3J0ZWQpCisJCXJldHVybiAw OworCisJaWYgKCFlbmFibGUpIHsKKwkJY3RseC0+cGFpciA9IE5VTEw7CisJCWN0bHktPnBhaXIg PSBOVUxMOworCQltZHA1X3dyaXRlKG1kcDVfa21zLCBSRUdfTURQNV9NRFBfU1BBUkVfMCgwKSwg MCk7CisJCXJldHVybiAwOworCX0gZWxzZSBpZiAoKGN0bHgtPnBhaXIgIT0gTlVMTCkgfHwgKGN0 bHktPnBhaXIgIT0gTlVMTCkpIHsKKwkJZGV2X2VycihjdGxfbWdyLT5kZXYtPmRldiwgIkNUTHMg YWxyZWFkeSBwYWlyZWRcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9IGVsc2UgaWYgKCEoY3Rs eC0+c3RhdHVzICYgY3RseS0+c3RhdHVzICYgQ1RMX1NUQVRfQk9PS0VEKSkgeworCQlkZXZfZXJy KGN0bF9tZ3ItPmRldi0+ZGV2LCAiT25seSBwYWlyIGJvb2tlZCBDVExzXG4iKTsKKwkJcmV0dXJu IC1FSU5WQUw7CisJfQorCisJY3RseC0+cGFpciA9IGN0bHk7CisJY3RseS0+cGFpciA9IGN0bHg7 CisKKwltZHA1X3dyaXRlKG1kcDVfa21zLCBSRUdfTURQNV9NRFBfU1BBUkVfMCgwKSwKKwkJTURQ NV9NRFBfU1BBUkVfMF9TUExJVF9EUExfU0lOR0xFX0ZMVVNIX0VOKTsKKworCXJldHVybiAwOwor fQorCisvKgogICogbWRwNV9jdGxfcmVxdWVzdCgpIC0gQ1RMIGFsbG9jYXRpb24KICAqCi0gKiBA cmV0dXJuIGZpcnN0IGZyZWUgQ1RMCisgKiBUcnkgdG8gcmV0dXJuIGJvb2tlZCBDVEwgZm9yIEBp bnRmX251bSBpcyAxIG9yIDIsIHVuYm9va2VkIGZvciBvdGhlciBJTlRGcy4KKyAqIElmIG5vIENU TCBpcyBhdmFpbGFibGUgaW4gcHJlZmVycmVkIGNhdGVnb3J5LCBhbGxvY2F0ZSBmcm9tIHRoZSBv dGhlciBvbmUuCisgKgorICogQHJldHVybiBmYWlsIGlmIG5vIENUTCBpcyBhdmFpbGFibGUuCiAg Ki8KIHN0cnVjdCBtZHA1X2N0bCAqbWRwNV9jdGxtX3JlcXVlc3Qoc3RydWN0IG1kcDVfY3RsX21h bmFnZXIgKmN0bF9tZ3IsCiAJCWludCBpbnRmX251bSkKIHsKIAlzdHJ1Y3QgbWRwNV9jdGwgKmN0 bCA9IE5VTEw7CisJY29uc3QgdTMyIGNoZWNrbSA9IENUTF9TVEFUX0JVU1kgfCBDVExfU1RBVF9C T09LRUQ7CisJdTMyIG1hdGNoID0gKChpbnRmX251bSA9PSAxKSB8fCAoaW50Zl9udW0gPT0gMikp ID8gQ1RMX1NUQVRfQk9PS0VEIDogMDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBjOwog CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmN0bF9tZ3ItPnBvb2xfbG9jaywgZmxhZ3MpOwogCisJLyog c2VhcmNoIHRoZSBwcmVmZXJyZWQgKi8KIAlmb3IgKGMgPSAwOyBjIDwgY3RsX21nci0+bmN0bDsg YysrKQotCQlpZiAoIWN0bF9tZ3ItPmN0bHNbY10uYnVzeSkKLQkJCWJyZWFrOworCQlpZiAoKGN0 bF9tZ3ItPmN0bHNbY10uc3RhdHVzICYgY2hlY2ttKSA9PSBtYXRjaCkKKwkJCWdvdG8gZm91bmQ7 CiAKLQlpZiAodW5saWtlbHkoYyA+PSBjdGxfbWdyLT5uY3RsKSkgewotCQlkZXZfZXJyKGN0bF9t Z3ItPmRldi0+ZGV2LCAiTm8gbW9yZSBDVEwgYXZhaWxhYmxlISIpOwotCQlnb3RvIHVubG9jazsK LQl9CisJZGV2X3dhcm4oY3RsX21nci0+ZGV2LT5kZXYsCisJCSJmYWxsIGJhY2sgdG8gdGhlIG90 aGVyIENUTCBjYXRlZ29yeSBmb3IgSU5URiAlZCFcbiIsIGludGZfbnVtKTsKKworCW1hdGNoIF49 IENUTF9TVEFUX0JPT0tFRDsKKwlmb3IgKGMgPSAwOyBjIDwgY3RsX21nci0+bmN0bDsgYysrKQor CQlpZiAoKGN0bF9tZ3ItPmN0bHNbY10uc3RhdHVzICYgY2hlY2ttKSA9PSBtYXRjaCkKKwkJCWdv dG8gZm91bmQ7CiAKKwlkZXZfZXJyKGN0bF9tZ3ItPmRldi0+ZGV2LCAiTm8gbW9yZSBDVEwgYXZh aWxhYmxlISIpOworCWdvdG8gdW5sb2NrOworCitmb3VuZDoKIAljdGwgPSAmY3RsX21nci0+Y3Rs c1tjXTsKIAljdGwtPnBpcGVsaW5lLmludGYubnVtID0gaW50Zl9udW07CiAJY3RsLT5sbSA9IC0x OwotCWN0bC0+YnVzeSA9IHRydWU7CisJY3RsLT5zdGF0dXMgfD0gQ1RMX1NUQVRfQlVTWTsKIAlj dGwtPnBlbmRpbmdfY3RsX3RyaWdnZXIgPSAwOwogCURCRygiQ1RMICVkIGFsbG9jYXRlZCIsIGN0 bC0+aWQpOwogCkBAIC01MDIsOSArNTg4LDExIEBAIHZvaWQgbWRwNV9jdGxtX2Rlc3Ryb3koc3Ry dWN0IG1kcDVfY3RsX21hbmFnZXIgKmN0bF9tZ3IpCiB9CiAKIHN0cnVjdCBtZHA1X2N0bF9tYW5h Z2VyICptZHA1X2N0bG1faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQl2b2lkIF9faW9t ZW0gKm1taW9fYmFzZSwgY29uc3Qgc3RydWN0IG1kcDVfY2ZnX2h3ICpod19jZmcpCisJCXZvaWQg X19pb21lbSAqbW1pb19iYXNlLCBzdHJ1Y3QgbWRwNV9jZmdfaGFuZGxlciAqY2ZnX2huZCkKIHsK IAlzdHJ1Y3QgbWRwNV9jdGxfbWFuYWdlciAqY3RsX21ncjsKKwljb25zdCBzdHJ1Y3QgbWRwNV9j ZmdfaHcgKmh3X2NmZyA9IG1kcDVfY2ZnX2dldF9od19jb25maWcoY2ZnX2huZCk7CisJaW50IHJl diA9IG1kcDVfY2ZnX2dldF9od19yZXYoY2ZnX2huZCk7CiAJY29uc3Qgc3RydWN0IG1kcDVfY3Rs X2Jsb2NrICpjdGxfY2ZnID0gJmh3X2NmZy0+Y3RsOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJ aW50IGMsIHJldDsKQEAgLTUzOCwxNCArNjI2LDI4IEBAIHN0cnVjdCBtZHA1X2N0bF9tYW5hZ2Vy ICptZHA1X2N0bG1faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlpZiAoV0FSTl9PTigh Y3RsX2NmZy0+YmFzZVtjXSkpIHsKIAkJCWRldl9lcnIoZGV2LT5kZXYsICJDVExfJWQ6IGJhc2Ug aXMgbnVsbCFcbiIsIGMpOwogCQkJcmV0ID0gLUVJTlZBTDsKKwkJCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmN0bF9tZ3ItPnBvb2xfbG9jaywgZmxhZ3MpOwogCQkJZ290byBmYWlsOwogCQl9CiAJ CWN0bC0+Y3RsbSA9IGN0bF9tZ3I7CiAJCWN0bC0+aWQgPSBjOwogCQljdGwtPnJlZ19vZmZzZXQg PSBjdGxfY2ZnLT5iYXNlW2NdOwotCQljdGwtPmJ1c3kgPSBmYWxzZTsKKwkJY3RsLT5zdGF0dXMg PSAwOwogCQlzcGluX2xvY2tfaW5pdCgmY3RsLT5od19sb2NrKTsKIAl9CisKKwkvKgorCSAqIElu IER1YWwgRFNJIGNhc2UsIENUTDAgYW5kIENUTDEgYXJlIGFsd2F5cyBhc3NpZ25lZCB0byB0d28g RFNJCisJICogaW50ZXJmYWNlcyB0byBzdXBwb3J0IHNpbmdsZSBGTFVTSCBmZWF0dXJlIChGbHVz aCBDVEwwIGFuZCBDVEwxIHdoZW4KKwkgKiBvbmx5IHdyaXRlIGludG8gQ1RMMCdzIEZMVVNIIHJl Z2lzdGVyKSB0byBrZWVwIHR3byBEU0kgcGlwZXMgaW4gc3luYy4KKwkgKiBTaW5nbGUgRkxVU0gg aXMgc3VwcG9ydGVkIGZyb20gaHcgcmV2IHYzLjAuCisJICovCisJaWYgKHJldiA+PSAzKSB7CisJ CWN0bF9tZ3ItPnNpbmdsZV9mbHVzaF9zdXBwb3J0ZWQgPSB0cnVlOworCQkvKiBSZXNlcnZlIENU TDAvMSBmb3IgSU5URjEvMiAqLworCQljdGxfbWdyLT5jdGxzWzBdLnN0YXR1cyB8PSBDVExfU1RB VF9CT09LRUQ7CisJCWN0bF9tZ3ItPmN0bHNbMV0uc3RhdHVzIHw9IENUTF9TVEFUX0JPT0tFRDsK Kwl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY3RsX21nci0+cG9vbF9sb2NrLCBmbGFncyk7 CiAJREJHKCJQb29sIG9mICVkIENUTHMgY3JlYXRlZC4iLCBjdGxfbWdyLT5uY3RsKTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2N0bC5oIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2N0bC5oCmluZGV4IGFjMTUzMGUuLmNkODJkZWYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jdGwuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3RsLmgKQEAgLTIzLDcgKzIzLDcg QEAKICAqLwogc3RydWN0IG1kcDVfY3RsX21hbmFnZXI7CiBzdHJ1Y3QgbWRwNV9jdGxfbWFuYWdl ciAqbWRwNV9jdGxtX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJdm9pZCBfX2lvbWVt ICptbWlvX2Jhc2UsIGNvbnN0IHN0cnVjdCBtZHA1X2NmZ19odyAqaHdfY2ZnKTsKKwkJdm9pZCBf X2lvbWVtICptbWlvX2Jhc2UsIHN0cnVjdCBtZHA1X2NmZ19oYW5kbGVyICpjZmdfaG5kKTsKIHZv aWQgbWRwNV9jdGxtX2h3X3Jlc2V0KHN0cnVjdCBtZHA1X2N0bF9tYW5hZ2VyICpjdGxtKTsKIHZv aWQgbWRwNV9jdGxtX2Rlc3Ryb3koc3RydWN0IG1kcDVfY3RsX21hbmFnZXIgKmN0bG0pOwogCkBA IC0zMyw2ICszMyw3IEBAIHZvaWQgbWRwNV9jdGxtX2Rlc3Ryb3koc3RydWN0IG1kcDVfY3RsX21h bmFnZXIgKmN0bG0pOwogICogd2hpY2ggaXMgdGhlbiB1c2VkIHRvIGNhbGwgdGhlIG90aGVyIG1k cDVfY3RsXyooY3RsLCAuLi4pIGZ1bmN0aW9ucy4KICAqLwogc3RydWN0IG1kcDVfY3RsICptZHA1 X2N0bG1fcmVxdWVzdChzdHJ1Y3QgbWRwNV9jdGxfbWFuYWdlciAqY3RsbSwgaW50IGludGZfbnVt KTsKKwogaW50IG1kcDVfY3RsX2dldF9jdGxfaWQoc3RydWN0IG1kcDVfY3RsICpjdGwpOwogCiBz dHJ1Y3QgbWRwNV9pbnRlcmZhY2U7CkBAIC00MSw2ICs0Miw3IEBAIGludCBtZHA1X2N0bF9zZXRf cGlwZWxpbmUoc3RydWN0IG1kcDVfY3RsICpjdGwsIHN0cnVjdCBtZHA1X2ludGVyZmFjZSAqaW50 ZiwKIGludCBtZHA1X2N0bF9zZXRfZW5jb2Rlcl9zdGF0ZShzdHJ1Y3QgbWRwNV9jdGwgKmN0bCwg Ym9vbCBlbmFibGVkKTsKIAogaW50IG1kcDVfY3RsX3NldF9jdXJzb3Ioc3RydWN0IG1kcDVfY3Rs ICpjdGwsIGludCBjdXJzb3JfaWQsIGJvb2wgZW5hYmxlKTsKK2ludCBtZHA1X2N0bF9wYWlyKHN0 cnVjdCBtZHA1X2N0bCAqY3RseCwgc3RydWN0IG1kcDVfY3RsICpjdGx5LCBib29sIGVuYWJsZSk7 CiAKIC8qCiAgKiBibGVuZF9jZmcgKExNIGJsZW5kZXIgY29uZmlnKToKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL21kcC9tZHA1L21kcDVfZW5jb2Rlci5jCmluZGV4IDNmYTE5MTMuLmM5ZTMyYjAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9lbmNvZGVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2VuY29kZXIuYwpAQCAtMjk3LDYg KzI5Nyw3IEBAIGludCBtZHA1X2VuY29kZXJfc2V0X3NwbGl0X2Rpc3BsYXkoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAogCQkJCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKnNsYXZlX2VuY29kZXIp CiB7CiAJc3RydWN0IG1kcDVfZW5jb2RlciAqbWRwNV9lbmNvZGVyID0gdG9fbWRwNV9lbmNvZGVy KGVuY29kZXIpOworCXN0cnVjdCBtZHA1X2VuY29kZXIgKm1kcDVfc2xhdmVfZW5jID0gdG9fbWRw NV9lbmNvZGVyKHNsYXZlX2VuY29kZXIpOwogCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXM7CiAJ aW50IGludGZfbnVtOwogCXUzMiBkYXRhID0gMDsKQEAgLTMxOSwxMiArMzIwLDEzIEBAIGludCBt ZHA1X2VuY29kZXJfc2V0X3NwbGl0X2Rpc3BsYXkoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LAogCiAJLyogTWFrZSBzdXJlIGNsb2NrcyBhcmUgb24gd2hlbiBjb25uZWN0b3JzIGNhbGxpbmcg dGhpcyBmdW5jdGlvbi4gKi8KIAltZHA1X2VuYWJsZShtZHA1X2ttcyk7Ci0JbWRwNV93cml0ZSht ZHA1X2ttcywgUkVHX01EUDVfTURQX1NQQVJFXzAoMCksCi0JCU1EUDVfTURQX1NQQVJFXzBfU1BM SVRfRFBMX1NJTkdMRV9GTFVTSF9FTik7CiAJLyogRHVtYiBQYW5lbCwgU3luYyBtb2RlICovCiAJ bWRwNV93cml0ZShtZHA1X2ttcywgUkVHX01EUDVfTURQX1NQTElUX0RQTF9VUFBFUigwKSwgMCk7 CiAJbWRwNV93cml0ZShtZHA1X2ttcywgUkVHX01EUDVfTURQX1NQTElUX0RQTF9MT1dFUigwKSwg ZGF0YSk7CiAJbWRwNV93cml0ZShtZHA1X2ttcywgUkVHX01EUDVfTURQX1NQTElUX0RQTF9FTigw KSwgMSk7CisKKwltZHA1X2N0bF9wYWlyKG1kcDVfZW5jb2Rlci0+Y3RsLCBtZHA1X3NsYXZlX2Vu Yy0+Y3RsLCB0cnVlKTsKKwogCW1kcDVfZGlzYWJsZShtZHA1X2ttcyk7CiAKIAlyZXR1cm4gMDsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYwppbmRleCAzYTVjYzgwLi4zYWRl ODlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jCkBAIC01MjgsNyAr NTI4LDcgQEAgc3RydWN0IG1zbV9rbXMgKm1kcDVfa21zX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAkJZ290byBmYWlsOwogCX0KIAotCW1kcDVfa21zLT5jdGxtID0gbWRwNV9jdGxtX2lu aXQoZGV2LCBtZHA1X2ttcy0+bW1pbywgY29uZmlnLT5odyk7CisJbWRwNV9rbXMtPmN0bG0gPSBt ZHA1X2N0bG1faW5pdChkZXYsIG1kcDVfa21zLT5tbWlvLCBtZHA1X2ttcy0+Y2ZnKTsKIAlpZiAo SVNfRVJSKG1kcDVfa21zLT5jdGxtKSkgewogCQlyZXQgPSBQVFJfRVJSKG1kcDVfa21zLT5jdGxt KTsKIAkJbWRwNV9rbXMtPmN0bG0gPSBOVUxMOwotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24g Q2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKaG9zdGVk IGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=