From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 10/11] drm/msm: remove fence_cbs Date: Fri, 18 Mar 2016 19:15:03 -0400 Message-ID: <1458342904-23326-11-git-send-email-robdclark@gmail.com> References: <1458342904-23326-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458342904-23326-1-git-send-email-robdclark@gmail.com> 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: maarten.lankhorst@canonical.com, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org VGhpcyB3YXMgb25seSB1c2VkIGZvciBhdG9taWMgY29tbWl0IHRoZXNlIGRheXMuICBTbyBpbnN0 ZWFkIGp1c3QgZ2l2ZQphdG9taWMgaXQncyBvd24gd29yay1xdWV1ZSB3aGVyZSB3ZSBjYW4gZG8g YSBibG9jayBvbiBlYWNoIGJvIGluIHR1cm4uClNpbXBsaWZpZXMgdGhpbmdzIGEgd2hvbGUgYnVu Y2ggYW5kIG1ha2VzIHRoZSAnc3RydWN0IGZlbmNlJyBjb252ZXJzaW9uCmVhc2llci4KClNpZ25l ZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9hdG9taWMuYyB8IDc3ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jICAgIHwgIDQgKysrCiBk cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaCAgICB8ICA1ICstLQogZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZmVuY2UuYyAgfCA0MyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9mZW5jZS5oICB8IDE2IC0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21z bS9tc21fZ2VtLmMgICAgfCAgOSArKysrLQogNiBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25z KCspLCAxMDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwppbmRleCA2MWY1 OWRiLi43ZmM3MTlkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwpAQCAtMTgsMTggKzE4LDE2 IEBACiAjaW5jbHVkZSAibXNtX2Rydi5oIgogI2luY2x1ZGUgIm1zbV9rbXMuaCIKICNpbmNsdWRl ICJtc21fZ2VtLmgiCi0jaW5jbHVkZSAibXNtX2dwdS5oIiAgIC8qIHRlbXBvcmFyeSAqLwogI2lu Y2x1ZGUgIm1zbV9mZW5jZS5oIgogCiBzdHJ1Y3QgbXNtX2NvbW1pdCB7CiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldjsKIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Ci0JdWludDMyX3Qg ZmVuY2U7Ci0Jc3RydWN0IG1zbV9mZW5jZV9jYiBmZW5jZV9jYjsKKwlzdHJ1Y3Qgd29ya19zdHJ1 Y3Qgd29yazsKIAl1aW50MzJfdCBjcnRjX21hc2s7CiB9OwogCi1zdGF0aWMgdm9pZCBmZW5jZV9j YihzdHJ1Y3QgbXNtX2ZlbmNlX2NiICpjYik7CitzdGF0aWMgdm9pZCBjb21taXRfd29ya2VyKHN0 cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CiAKIC8qIGJsb2NrIHVudGlsIHNwZWNpZmllZCBjcnRj cyBhcmUgbm8gbG9uZ2VyIHBlbmRpbmcgdXBkYXRlLCBhbmQKICAqIGF0b21pY2FsbHkgbWFyayB0 aGVtIGFzIHBlbmRpbmcgdXBkYXRlCkBAIC03MSwxMSArNjksNyBAQCBzdGF0aWMgc3RydWN0IG1z bV9jb21taXQgKmNvbW1pdF9pbml0KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlj LT5kZXYgPSBzdGF0ZS0+ZGV2OwogCWMtPnN0YXRlID0gc3RhdGU7CiAKLQkvKiBUT0RPIHdlIG1p Z2h0IG5lZWQgYSB3YXkgdG8gaW5kaWNhdGUgdG8gcnVuIHRoZSBjYiBvbiBhCi0JICogZGlmZmVy ZW50IHdxIHNvIHdhaXRfZm9yX3ZibGFua3MoKSBkb2Vzbid0IGJsb2NrIHJldGlyaW5nCi0JICog Ym8ncy4uCi0JICovCi0JSU5JVF9GRU5DRV9DQigmYy0+ZmVuY2VfY2IsIGZlbmNlX2NiKTsKKwlJ TklUX1dPUksoJmMtPndvcmssIGNvbW1pdF93b3JrZXIpOwogCiAJcmV0dXJuIGM7CiB9CkBAIC0x MTMsMTYgKzEwNywzOSBAQCBzdGF0aWMgdm9pZCBtc21fYXRvbWljX3dhaXRfZm9yX2NvbW1pdF9k b25lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJfQogfQogCitzdGF0aWMgdm9pZCB3YWl0X2Zl bmNlcyhzdHJ1Y3QgbXNtX2NvbW1pdCAqYywgYm9vbCBhc3luYykKK3sKKwlpbnQgbnBsYW5lcyA9 IGMtPmRldi0+bW9kZV9jb25maWcubnVtX3RvdGFsX3BsYW5lOworCWt0aW1lX3QgdGltZW91dCA9 IGt0aW1lX2FkZF9tcyhrdGltZV9nZXQoKSwgMTAwMCk7CisJaW50IGk7CisKKwlmb3IgKGkgPSAw OyBpIDwgbnBsYW5lczsgaSsrKSB7CisJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gYy0+c3Rh dGUtPnBsYW5lc1tpXTsKKwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3N0YXRlID0gYy0+ c3RhdGUtPnBsYW5lX3N0YXRlc1tpXTsKKworCQlpZiAoIXBsYW5lKQorCQkJY29udGludWU7CisK KwkJaWYgKChwbGFuZS0+c3RhdGUtPmZiICE9IG5ld19zdGF0ZS0+ZmIpICYmIG5ld19zdGF0ZS0+ ZmIpIHsKKwkJCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0KKwkJCQltc21fZnJhbWVidWZm ZXJfYm8obmV3X3N0YXRlLT5mYiwgMCk7CisJCQltc21fZ2VtX2NwdV9zeW5jKG9iaiwgTVNNX1BS RVBfUkVBRCwgJnRpbWVvdXQpOworCQl9CisJfQorfQorCiAvKiBUaGUgKHBvdGVudGlhbGx5KSBh c3luY2hyb25vdXMgcGFydCBvZiB0aGUgY29tbWl0LiAgQXQgdGhpcyBwb2ludAogICogbm90aGlu ZyBjYW4gZmFpbCBzaG9ydCBvZiBhcm1hZ2VkZG9uLgogICovCi1zdGF0aWMgdm9pZCBjb21wbGV0 ZV9jb21taXQoc3RydWN0IG1zbV9jb21taXQgKmMpCitzdGF0aWMgdm9pZCBjb21wbGV0ZV9jb21t aXQoc3RydWN0IG1zbV9jb21taXQgKmMsIGJvb2wgYXN5bmMpCiB7CiAJc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlID0gYy0+c3RhdGU7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0 YXRlLT5kZXY7CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CiAJc3RydWN0IG1zbV9rbXMgKmttcyA9IHByaXYtPmttczsKIAorCXdhaXRfZmVuY2VzKGMs IGFzeW5jKTsKKwogCWttcy0+ZnVuY3MtPnByZXBhcmVfY29tbWl0KGttcywgc3RhdGUpOwogCiAJ ZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X21vZGVzZXRfZGlzYWJsZXMoZGV2LCBzdGF0ZSk7CkBA IC0xNTUsMTcgKzE3Miw5IEBAIHN0YXRpYyB2b2lkIGNvbXBsZXRlX2NvbW1pdChzdHJ1Y3QgbXNt X2NvbW1pdCAqYykKIAljb21taXRfZGVzdHJveShjKTsKIH0KIAotc3RhdGljIHZvaWQgZmVuY2Vf Y2Ioc3RydWN0IG1zbV9mZW5jZV9jYiAqY2IpCitzdGF0aWMgdm9pZCBjb21taXRfd29ya2VyKHN0 cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlzdHJ1Y3QgbXNtX2NvbW1pdCAqYyA9Ci0JCQlj b250YWluZXJfb2YoY2IsIHN0cnVjdCBtc21fY29tbWl0LCBmZW5jZV9jYik7Ci0JY29tcGxldGVf Y29tbWl0KGMpOwotfQotCi1zdGF0aWMgdm9pZCBhZGRfZmIoc3RydWN0IG1zbV9jb21taXQgKmMs IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQotewotCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqID0gbXNtX2ZyYW1lYnVmZmVyX2JvKGZiLCAwKTsKLQljLT5mZW5jZSA9IG1heChjLT5mZW5j ZSwgbXNtX2dlbV9mZW5jZSh0b19tc21fYm8ob2JqKSwgTVNNX1BSRVBfUkVBRCkpOworCWNvbXBs ZXRlX2NvbW1pdChjb250YWluZXJfb2Yod29yaywgc3RydWN0IG1zbV9jb21taXQsIHdvcmspLCB0 cnVlKTsKIH0KIAogaW50IG1zbV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwK QEAgLTIwNSw5ICsyMTQsNyBAQCBpbnQgbXNtX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLCBib29sIGFzeW5jKQog ewogCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCWlu dCBucGxhbmVzID0gZGV2LT5tb2RlX2NvbmZpZy5udW1fdG90YWxfcGxhbmU7CiAJaW50IG5jcnRj cyA9IGRldi0+bW9kZV9jb25maWcubnVtX2NydGM7Ci0Ja3RpbWVfdCB0aW1lb3V0OwogCXN0cnVj dCBtc21fY29tbWl0ICpjOwogCWludCBpLCByZXQ7CiAKQEAgLTIzMiwyMCArMjM5LDYgQEAgaW50 IG1zbV9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJfQogCiAJLyoKLQkg KiBGaWd1cmUgb3V0IHdoYXQgZmVuY2UgdG8gd2FpdCBmb3I6Ci0JICovCi0JZm9yIChpID0gMDsg aSA8IG5wbGFuZXM7IGkrKykgewotCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IHN0YXRlLT5w bGFuZXNbaV07Ci0JCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5ld19zdGF0ZSA9IHN0YXRlLT5w bGFuZV9zdGF0ZXNbaV07Ci0KLQkJaWYgKCFwbGFuZSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmICgo cGxhbmUtPnN0YXRlLT5mYiAhPSBuZXdfc3RhdGUtPmZiKSAmJiBuZXdfc3RhdGUtPmZiKQotCQkJ YWRkX2ZiKGMsIG5ld19zdGF0ZS0+ZmIpOwotCX0KLQotCS8qCiAJICogV2FpdCBmb3IgcGVuZGlu ZyB1cGRhdGVzIG9uIGFueSBvZiB0aGUgc2FtZSBjcnRjJ3MgYW5kIHRoZW4KIAkgKiBtYXJrIG91 ciBzZXQgb2YgY3J0YydzIGFzIGJ1c3k6CiAJICovCkBAIC0yNzksMTggKzI3MiwxMiBAQCBpbnQg bXNtX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkgKiBjdXJyZW50IGxh eW91dC4KIAkgKi8KIAotCWlmIChhc3luYyAmJiBwcml2LT5ncHUpIHsKLQkJbXNtX3F1ZXVlX2Zl bmNlX2NiKHByaXYtPmdwdS0+ZmN0eCwgJmMtPmZlbmNlX2NiLCBjLT5mZW5jZSk7CisJaWYgKGFz eW5jKSB7CisJCXF1ZXVlX3dvcmsocHJpdi0+YXRvbWljX3dxLCAmYy0+d29yayk7CiAJCXJldHVy biAwOwogCX0KIAotCXRpbWVvdXQgPSBrdGltZV9hZGRfbXMoa3RpbWVfZ2V0KCksIDEwMDApOwot Ci0JLyogdW5pbnRlcnJ1cHRpYmxlIHdhaXQgKi8KLQlpZiAocHJpdi0+Z3B1KQotCQltc21fd2Fp dF9mZW5jZShwcml2LT5ncHUtPmZjdHgsIGMtPmZlbmNlLCAmdGltZW91dCwgZmFsc2UpOwotCi0J Y29tcGxldGVfY29tbWl0KGMpOworCWNvbXBsZXRlX2NvbW1pdChjLCBmYWxzZSk7CiAKIAlyZXR1 cm4gMDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwppbmRleCBiNjIzMzk3Li4yODFmOTEyIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9kcnYuYwpAQCAtMjEzLDYgKzIxMyw5IEBAIHN0YXRpYyBpbnQgbXNtX3VubG9hZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWZsdXNoX3dvcmtxdWV1ZShwcml2LT53cSk7CiAJZGVz dHJveV93b3JrcXVldWUocHJpdi0+d3EpOwogCisJZmx1c2hfd29ya3F1ZXVlKHByaXYtPmF0b21p Y193cSk7CisJZGVzdHJveV93b3JrcXVldWUocHJpdi0+YXRvbWljX3dxKTsKKwogCWlmIChrbXMp IHsKIAkJcG1fcnVudGltZV9kaXNhYmxlKGRldi0+ZGV2KTsKIAkJa21zLT5mdW5jcy0+ZGVzdHJv eShrbXMpOwpAQCAtMzM5LDYgKzM0Miw3IEBAIHN0YXRpYyBpbnQgbXNtX2xvYWQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAlkZXYtPmRldl9wcml2YXRlID0g cHJpdjsKIAogCXByaXYtPndxID0gYWxsb2Nfb3JkZXJlZF93b3JrcXVldWUoIm1zbSIsIDApOwor CXByaXYtPmF0b21pY193cSA9IGFsbG9jX29yZGVyZWRfd29ya3F1ZXVlKCJtc206YXRvbWljIiwg MCk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHJpdi0+cGVuZGluZ19jcnRjc19ldmVudCk7CiAK IAlJTklUX0xJU1RfSEVBRCgmcHJpdi0+aW5hY3RpdmVfbGlzdCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5o CmluZGV4IDNkZjc0N2YuLjYxOTQ0NTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCkBAIC0xMDksNiAr MTA5LDcgQEAgc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSB7CiAJc3RydWN0IGxpc3RfaGVhZCBpbmFj dGl2ZV9saXN0OwogCiAJc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKndxOworCXN0cnVjdCB3b3Jr cXVldWVfc3RydWN0ICphdG9taWNfd3E7CiAKIAkvKiBjcnRjcyBwZW5kaW5nIGFzeW5jIGF0b21p YyB1cGRhdGVzOiAqLwogCXVpbnQzMl90IHBlbmRpbmdfY3J0Y3M7CkBAIC0xOTQsOCArMTk1LDgg QEAgaW50IG1zbV9nZW1fcXVldWVfaW5hY3RpdmVfY2Ioc3RydWN0IGRybV9nZW1fb2JqZWN0ICpv YmosCiB2b2lkIG1zbV9nZW1fbW92ZV90b19hY3RpdmUoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpv YmosCiAJCXN0cnVjdCBtc21fZ3B1ICpncHUsIGJvb2wgd3JpdGUsIHVpbnQzMl90IGZlbmNlKTsK IHZvaWQgbXNtX2dlbV9tb3ZlX3RvX2luYWN0aXZlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq KTsKLWludCBtc21fZ2VtX2NwdV9wcmVwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCB1aW50 MzJfdCBvcCwKLQkJa3RpbWVfdCAqdGltZW91dCk7CitpbnQgbXNtX2dlbV9jcHVfc3luYyhzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgdWludDMyX3Qgb3AsIGt0aW1lX3QgKnRpbWVvdXQpOwor aW50IG1zbV9nZW1fY3B1X3ByZXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHVpbnQzMl90 IG9wLCBrdGltZV90ICp0aW1lb3V0KTsKIGludCBtc21fZ2VtX2NwdV9maW5pKHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqb2JqKTsKIHZvaWQgbXNtX2dlbV9mcmVlX29iamVjdChzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaik7CiBpbnQgbXNtX2dlbV9uZXdfaGFuZGxlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2ZlbmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9mZW5jZS5jCmluZGV4 IGYwZWQ2YTYuLjA4ODYxMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Zl bmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZmVuY2UuYwpAQCAtMzMsNyArMzMs NiBAQCBtc21fZmVuY2VfY29udGV4dF9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBjb25z dCBjaGFyICpuYW1lKQogCWZjdHgtPmRldiA9IGRldjsKIAlmY3R4LT5uYW1lID0gbmFtZTsKIAlp bml0X3dhaXRxdWV1ZV9oZWFkKCZmY3R4LT5ldmVudCk7Ci0JSU5JVF9MSVNUX0hFQUQoJmZjdHgt PmZlbmNlX2Nicyk7CiAKIAlyZXR1cm4gZmN0eDsKIH0KQEAgLTg2LDU0ICs4NSwxMiBAQCBpbnQg bXNtX3dhaXRfZmVuY2Uoc3RydWN0IG1zbV9mZW5jZV9jb250ZXh0ICpmY3R4LCB1aW50MzJfdCBm ZW5jZSwKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgbXNtX3F1ZXVlX2ZlbmNlX2NiKHN0cnVjdCBt c21fZmVuY2VfY29udGV4dCAqZmN0eCwKLQkJc3RydWN0IG1zbV9mZW5jZV9jYiAqY2IsIHVpbnQz Ml90IGZlbmNlKQotewotCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBmY3R4LT5kZXYt PmRldl9wcml2YXRlOwotCWludCByZXQgPSAwOwotCi0JbXV0ZXhfbG9jaygmZmN0eC0+ZGV2LT5z dHJ1Y3RfbXV0ZXgpOwotCWlmICghbGlzdF9lbXB0eSgmY2ItPndvcmsuZW50cnkpKSB7Ci0JCXJl dCA9IC1FSU5WQUw7Ci0JfSBlbHNlIGlmIChmZW5jZSA+IGZjdHgtPmNvbXBsZXRlZF9mZW5jZSkg ewotCQljYi0+ZmVuY2UgPSBmZW5jZTsKLQkJbGlzdF9hZGRfdGFpbCgmY2ItPndvcmsuZW50cnks ICZmY3R4LT5mZW5jZV9jYnMpOwotCX0gZWxzZSB7Ci0JCXF1ZXVlX3dvcmsocHJpdi0+d3EsICZj Yi0+d29yayk7Ci0JfQotCW11dGV4X3VubG9jaygmZmN0eC0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpOwot Ci0JcmV0dXJuIHJldDsKLX0KLQogLyogY2FsbGVkIGZyb20gd29ya3F1ZXVlICovCiB2b2lkIG1z bV91cGRhdGVfZmVuY2Uoc3RydWN0IG1zbV9mZW5jZV9jb250ZXh0ICpmY3R4LCB1aW50MzJfdCBm ZW5jZSkKIHsKLQlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gZmN0eC0+ZGV2LT5kZXZf cHJpdmF0ZTsKLQogCW11dGV4X2xvY2soJmZjdHgtPmRldi0+c3RydWN0X211dGV4KTsKIAlmY3R4 LT5jb21wbGV0ZWRfZmVuY2UgPSBtYXgoZmVuY2UsIGZjdHgtPmNvbXBsZXRlZF9mZW5jZSk7Ci0K LQl3aGlsZSAoIWxpc3RfZW1wdHkoJmZjdHgtPmZlbmNlX2NicykpIHsKLQkJc3RydWN0IG1zbV9m ZW5jZV9jYiAqY2I7Ci0KLQkJY2IgPSBsaXN0X2ZpcnN0X2VudHJ5KCZmY3R4LT5mZW5jZV9jYnMs Ci0JCQkJc3RydWN0IG1zbV9mZW5jZV9jYiwgd29yay5lbnRyeSk7Ci0KLQkJaWYgKGNiLT5mZW5j ZSA+IGZjdHgtPmNvbXBsZXRlZF9mZW5jZSkKLQkJCWJyZWFrOwotCi0JCWxpc3RfZGVsX2luaXQo JmNiLT53b3JrLmVudHJ5KTsKLQkJcXVldWVfd29yayhwcml2LT53cSwgJmNiLT53b3JrKTsKLQl9 Ci0KIAltdXRleF91bmxvY2soJmZjdHgtPmRldi0+c3RydWN0X211dGV4KTsKIAogCXdha2VfdXBf YWxsKCZmY3R4LT5ldmVudCk7CiB9Ci0KLXZvaWQgX19tc21fZmVuY2Vfd29ya2VyKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKLXsKLQlzdHJ1Y3QgbXNtX2ZlbmNlX2NiICpjYiA9IGNvbnRhaW5l cl9vZih3b3JrLCBzdHJ1Y3QgbXNtX2ZlbmNlX2NiLCB3b3JrKTsKLQljYi0+ZnVuYyhjYik7Ci19 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9mZW5jZS5oIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZmVuY2UuaAppbmRleCAzZWQyMDk4Li4yODIwNzgxIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9mZW5jZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2ZlbmNlLmgKQEAgLTI3LDI4ICsyNywxMiBAQCBzdHJ1Y3QgbXNtX2ZlbmNlX2NvbnRl eHQgewogCXVpbnQzMl90IGxhc3RfZmVuY2U7ICAgICAgICAgIC8qIGxhc3QgYXNzaWduZWQgZmVu Y2UgKi8KIAl1aW50MzJfdCBjb21wbGV0ZWRfZmVuY2U7ICAgICAvKiBsYXN0IGNvbXBsZXRlZCBm ZW5jZSAqLwogCXdhaXRfcXVldWVfaGVhZF90IGV2ZW50OwotCS8qIGNhbGxiYWNrcyBkZWZlcnJl ZCB1bnRpbCBibyBpcyBpbmFjdGl2ZTogKi8KLQlzdHJ1Y3QgbGlzdF9oZWFkIGZlbmNlX2NiczsK IH07CiAKIHN0cnVjdCBtc21fZmVuY2VfY29udGV4dCAqIG1zbV9mZW5jZV9jb250ZXh0X2FsbG9j KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWNvbnN0IGNoYXIgKm5hbWUpOwogdm9pZCBtc21f ZmVuY2VfY29udGV4dF9mcmVlKHN0cnVjdCBtc21fZmVuY2VfY29udGV4dCAqZmN0eCk7CiAKLS8q IGNhbGxiYWNrIGZyb20gd3Egb25jZSBmZW5jZSBoYXMgcGFzc2VkOiAqLwotc3RydWN0IG1zbV9m ZW5jZV9jYiB7Ci0Jc3RydWN0IHdvcmtfc3RydWN0IHdvcms7Ci0JdWludDMyX3QgZmVuY2U7Ci0J dm9pZCAoKmZ1bmMpKHN0cnVjdCBtc21fZmVuY2VfY2IgKmNiKTsKLX07Ci0KLXZvaWQgX19tc21f ZmVuY2Vfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7Ci0KLSNkZWZpbmUgSU5JVF9G RU5DRV9DQihfY2IsIF9mdW5jKSAgZG8geyAgICAgICAgICAgICAgICAgICAgIFwKLQkJSU5JVF9X T1JLKCYoX2NiKS0+d29yaywgX19tc21fZmVuY2Vfd29ya2VyKTsgXAotCQkoX2NiKS0+ZnVuYyA9 IF9mdW5jOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JfSB3aGlsZSAoMCkKLQogaW50IG1z bV93YWl0X2ZlbmNlKHN0cnVjdCBtc21fZmVuY2VfY29udGV4dCAqZmN0eCwgdWludDMyX3QgZmVu Y2UsCiAJCWt0aW1lX3QgKnRpbWVvdXQsIGJvb2wgaW50ZXJydXB0aWJsZSk7CiBpbnQgbXNtX3F1 ZXVlX2ZlbmNlX2NiKHN0cnVjdCBtc21fZmVuY2VfY29udGV4dCAqZmN0eCwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f Z2VtLmMKaW5kZXggODBiYjZlMi4uMWFhYmM0MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtLmMKQEAgLTQ1 MSw3ICs0NTEsNyBAQCB2b2lkIG1zbV9nZW1fbW92ZV90b19pbmFjdGl2ZShzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaikKIAlsaXN0X2FkZF90YWlsKCZtc21fb2JqLT5tbV9saXN0LCAmcHJpdi0+ aW5hY3RpdmVfbGlzdCk7CiB9CiAKLWludCBtc21fZ2VtX2NwdV9wcmVwKHN0cnVjdCBkcm1fZ2Vt X29iamVjdCAqb2JqLCB1aW50MzJfdCBvcCwga3RpbWVfdCAqdGltZW91dCkKK2ludCBtc21fZ2Vt X2NwdV9zeW5jKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCB1aW50MzJfdCBvcCwga3RpbWVf dCAqdGltZW91dCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gb2JqLT5kZXY7CiAJc3Ry dWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CkBAIC00NjgsNiAr NDY4LDEzIEBAIGludCBtc21fZ2VtX2NwdV9wcmVwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq LCB1aW50MzJfdCBvcCwga3RpbWVfdCAqdGltZW91dCkKIAkJCXJldCA9IG1zbV93YWl0X2ZlbmNl KHByaXYtPmdwdS0+ZmN0eCwgZmVuY2UsIHRpbWVvdXQsIHRydWUpOwogCX0KIAorCXJldHVybiBy ZXQ7Cit9CisKK2ludCBtc21fZ2VtX2NwdV9wcmVwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq LCB1aW50MzJfdCBvcCwga3RpbWVfdCAqdGltZW91dCkKK3sKKwlpbnQgcmV0ID0gbXNtX2dlbV9j cHVfc3luYyhvYmosIG9wLCB0aW1lb3V0KTsKKwogCS8qIFRPRE8gY2FjaGUgbWFpbnRlbmFuY2Ug Ki8KIAogCXJldHVybiByZXQ7Ci0tIAoyLjUuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==