From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8E9B6C33CB1 for ; Mon, 20 Jan 2020 08:24:59 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6FDFC207E0 for ; Mon, 20 Jan 2020 08:24:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6FDFC207E0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C3E346E819; Mon, 20 Jan 2020 08:23:52 +0000 (UTC) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id D6DEA6E832; Mon, 20 Jan 2020 08:23:48 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 796F7B1E4; Mon, 20 Jan 2020 08:23:47 +0000 (UTC) From: Thomas Zimmermann To: airlied@linux.ie, daniel@ffwll.ch, alexander.deucher@amd.com, christian.koenig@amd.com, David1.Zhou@amd.com, maarten.lankhorst@linux.intel.com, patrik.r.jakobsson@gmail.com, robdclark@gmail.com, sean@poorly.run, benjamin.gaignard@linaro.org, vincent.abriou@st.com, yannick.fertre@st.com, philippe.cornu@st.com, mcoquelin.stm32@gmail.com, alexandre.torgue@st.com, eric@anholt.net, rodrigosiqueiramelo@gmail.com, hamohammed.sa@gmail.com, linux-graphics-maintainer@vmware.com, thellstrom@vmware.com, bskeggs@redhat.com, harry.wentland@amd.com, sunpeng.li@amd.com, jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com Subject: [PATCH v3 21/22] drm: Clean-up VBLANK-related callbacks in struct drm_driver Date: Mon, 20 Jan 2020 09:23:13 +0100 Message-Id: <20200120082314.14756-22-tzimmermann@suse.de> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200120082314.14756-1-tzimmermann@suse.de> References: <20200120082314.14756-1-tzimmermann@suse.de> MIME-Version: 1.0 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arm-msm@vger.kernel.org, intel-gfx@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, Daniel Vetter , dri-devel@lists.freedesktop.org, Thomas Zimmermann , nouveau@lists.freedesktop.org, freedreno@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" QWxsIG5vbi1sZWdhY3kgdXNlcnMgb2YgVkJMQU5LIGZ1bmN0aW9ucyBpbiBzdHJ1Y3QgZHJtX2Ry aXZlciBoYXZlIGJlZW4KY29udmVydGVkIHRvIHVzZSB0aGUgcmVzcGVjdGl2ZSBpbnRlcmZhY2Vz IGluIHN0cnVjdCBkcm1fY3J0Y19mdW5jcy4gVGhlCnJlbWFpbmluZyB1c2VycyBvZiBWQkxBTksg Y2FsbGJhY2tzIGluIHN0cnVjdCBkcm1fZHJpdmVyIGFyZSBsZWdhY3kgZHJpdmVycwp3aXRoIHVz ZXJzcGFjZSBtb2Rlc2V0dGluZy4KCkFsbCB1c2VycyBvZiBzdHJ1Y3QgZHJtX2RyaXZlci5nZXRf c2Nhbm91dF9wb3NpdGlvbigpIGhhdmUgYmVlbgpjb252ZXJ0ZWQgdG8gdGhlIHJlc3BlY3RpdmUg Q1JUQyBoZWxwZXIgZnVuY3Rpb24uIFJlbW92ZSB0aGUgY2FsbGJhY2sKZnJvbSBzdHJ1Y3QgZHJt X2RyaXZlci4KClRoZXJlIGFyZSBubyB1c2VycyBsZWZ0IG9mIGdldF92YmxhbmtfdGltZXN0YW1w KCksIHNvIHRoZSBjYWxsYmFjayBpcwpiZWluZyByZW1vdmVkLiBUaGUgb3RoZXIgVkJMQU5LIGNh bGxiYWNrcyBhcmUgYmVpbmcgbW92ZWQgdG8gdGhlIGxlZ2FjeQpzZWN0aW9uIGF0IHRoZSBlbmQg b2Ygc3RydWN0IGRybV9kcml2ZXIuCgpBbHNvIHJlbW92ZWQgaXMgZHJtX2NhbGNfdmJsdGltZXN0 YW1wX2Zyb21fc2Nhbm91dHBvcygpLiBDYWxsZXJzIG9mIHRoaXMKZnVuY3Rpb24gaGF2ZSBiZWVu IGNvbnZlcnRlZCB0byB1c2UgdGhlIENSVEMgaW5zdGVhZC4KCnYyOgoJKiBtZXJnZSB3aXRoIHJl bW92YWwgb2Ygc3RydWN0IGRybV9kcml2ZXIuZ2V0X3NjYW5vdXRfcG9zaXRpb24oKQoJKiByZW1v dmUgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcygpCgpTaWduZWQtb2ZmLWJ5 OiBUaG9tYXMgWmltbWVybWFubiA8dHppbW1lcm1hbm5Ac3VzZS5kZT4KUmV2aWV3ZWQtYnk6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ClRlc3RlZC1ieTogWWFubmljayBG ZXJ0csOpIDx5YW5uaWNrLmZlcnRyZUBzdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV92 YmxhbmsuYyB8ICA4NiArKystLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS9kcm0vZHJtX2Rydi5o ICAgICAgICB8IDE1MyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVk ZS9kcm0vZHJtX3ZibGFuay5oICAgICB8ICAgNCAtCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2Vy dGlvbnMoKyksIDIyOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX3ZibGFuay5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV92YmxhbmsuYwppbmRleCBmYzI5NzA0 M2UzYmEuLjM0NDI4Y2UzYzY3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV92Ymxh bmsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFuay5jCkBAIC0xMzgsMTAgKzEzOCw5 IEBAIHN0YXRpYyB1MzIgX19nZXRfdmJsYW5rX2NvdW50ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IHBpcGUpCiAKIAkJaWYgKGNydGMtPmZ1bmNzLT5nZXRfdmJsYW5rX2Nv dW50ZXIpCiAJCQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmdldF92YmxhbmtfY291bnRlcihjcnRjKTsK LQl9Ci0KLQlpZiAoZGV2LT5kcml2ZXItPmdldF92YmxhbmtfY291bnRlcikKKwl9IGVsc2UgaWYg KGRldi0+ZHJpdmVyLT5nZXRfdmJsYW5rX2NvdW50ZXIpIHsKIAkJcmV0dXJuIGRldi0+ZHJpdmVy LT5nZXRfdmJsYW5rX2NvdW50ZXIoZGV2LCBwaXBlKTsKKwl9CiAKIAlyZXR1cm4gZHJtX3ZibGFu a19ub19od19jb3VudGVyKGRldiwgcGlwZSk7CiB9CkBAIC0zMzQsOCArMzMzLDcgQEAgdTY0IGRy bV9jcnRjX2FjY3VyYXRlX3ZibGFua19jb3VudChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJdW5z aWduZWQgbG9uZyBmbGFnczsKIAogCVdBUk5fT05DRShkcm1fZGVidWdfZW5hYmxlZChEUk1fVVRf VkJMKSAmJgotCQkgICFjcnRjLT5mdW5jcy0+Z2V0X3ZibGFua190aW1lc3RhbXAgJiYKLQkJICAh ZGV2LT5kcml2ZXItPmdldF92YmxhbmtfdGltZXN0YW1wLAorCQkgICFjcnRjLT5mdW5jcy0+Z2V0 X3ZibGFua190aW1lc3RhbXAsCiAJCSAgIlRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgc3VwcG9ydCBm b3IgYWNjdXJhdGUgdmJsYW5rIHRpbWVzdGFtcHMuIik7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgm ZGV2LT52YmxhbmtfdGltZV9sb2NrLCBmbGFncyk7CkBAIC0zNTcsMTMgKzM1NSwxMSBAQCBzdGF0 aWMgdm9pZCBfX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVk IGludCBwaXBlKQogCQlpZiAoV0FSTl9PTighY3J0YykpCiAJCQlyZXR1cm47CiAKLQkJaWYgKGNy dGMtPmZ1bmNzLT5kaXNhYmxlX3ZibGFuaykgeworCQlpZiAoY3J0Yy0+ZnVuY3MtPmRpc2FibGVf dmJsYW5rKQogCQkJY3J0Yy0+ZnVuY3MtPmRpc2FibGVfdmJsYW5rKGNydGMpOwotCQkJcmV0dXJu OwotCQl9CisJfSBlbHNlIHsKKwkJZGV2LT5kcml2ZXItPmRpc2FibGVfdmJsYW5rKGRldiwgcGlw ZSk7CiAJfQotCi0JZGV2LT5kcml2ZXItPmRpc2FibGVfdmJsYW5rKGRldiwgcGlwZSk7CiB9CiAK IC8qCkBAIC01NjUsNjIgKzU2MSw2IEBAIHZvaWQgZHJtX2NhbGNfdGltZXN0YW1waW5nX2NvbnN0 YW50cyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiB9CiBFWFBPUlRfU1lNQk9MKGRybV9jYWxjX3Rp bWVzdGFtcGluZ19jb25zdGFudHMpOwogCi0vKioKLSAqIGRybV9jYWxjX3ZibHRpbWVzdGFtcF9m cm9tX3NjYW5vdXRwb3MgLSBwcmVjaXNlIHZibGFuayB0aW1lc3RhbXAgaGVscGVyCi0gKiBAZGV2 OiBEUk0gZGV2aWNlCi0gKiBAcGlwZTogaW5kZXggb2YgQ1JUQyB3aG9zZSB2YmxhbmsgdGltZXN0 YW1wIHRvIHJldHJpZXZlCi0gKiBAbWF4X2Vycm9yOiBEZXNpcmVkIG1heGltdW0gYWxsb3dhYmxl IGVycm9yIGluIHRpbWVzdGFtcHMgKG5hbm9zZWNzKQotICogICAgICAgICAgICAgT24gcmV0dXJu IGNvbnRhaW5zIHRydWUgbWF4aW11bSBlcnJvciBvZiB0aW1lc3RhbXAKLSAqIEB2YmxhbmtfdGlt ZTogUG9pbnRlciB0byB0aW1lIHdoaWNoIHNob3VsZCByZWNlaXZlIHRoZSB0aW1lc3RhbXAKLSAq IEBpbl92YmxhbmtfaXJxOgotICogICAgIFRydWUgd2hlbiBjYWxsZWQgZnJvbSBkcm1fY3J0Y19o YW5kbGVfdmJsYW5rKCkuICBTb21lIGRyaXZlcnMKLSAqICAgICBuZWVkIHRvIGFwcGx5IHNvbWUg d29ya2Fyb3VuZHMgZm9yIGdwdS1zcGVjaWZpYyB2YmxhbmsgaXJxIHF1aXJrcwotICogICAgIGlm IGZsYWcgaXMgc2V0LgotICoKLSAqIEltcGxlbWVudHMgY2FsY3VsYXRpb24gb2YgZXhhY3QgdmJs YW5rIHRpbWVzdGFtcHMgZnJvbSBnaXZlbiBkcm1fZGlzcGxheV9tb2RlCi0gKiB0aW1pbmdzIGFu ZCBjdXJyZW50IHZpZGVvIHNjYW5vdXQgcG9zaXRpb24gb2YgYSBDUlRDLiBUaGlzIGNhbiBiZSBk aXJlY3RseQotICogdXNlZCBhcyB0aGUgJmRybV9jcnRjX2Z1bmNzLmdldF92YmxhbmtfdGltZXN0 YW1wIGltcGxlbWVudGF0aW9uIG9mIGEga21zCi0gKiBkcml2ZXIgaWYgJmRybV9jcnRjX2hlbHBl cl9mdW5jcy5nZXRfc2Nhbm91dF9wb3NpdGlvbiBvcgotICogJmRybV9kcml2ZXIuZ2V0X3NjYW5v dXRfcG9zaXRpb24gaXMgaW1wbGVtZW50ZWQuCi0gKgotICogVGhlIGN1cnJlbnQgaW1wbGVtZW50 YXRpb24gb25seSBoYW5kbGVzIHN0YW5kYXJkIHZpZGVvIG1vZGVzLiBGb3IgZG91YmxlIHNjYW4K LSAqIGFuZCBpbnRlcmxhY2VkIG1vZGVzIHRoZSBkcml2ZXIgaXMgc3VwcG9zZWQgdG8gYWRqdXN0 IHRoZSBoYXJkd2FyZSBtb2RlCi0gKiAodGFrZW4gZnJvbSAmZHJtX2NydGNfc3RhdGUuYWRqdXN0 ZWQgbW9kZSBmb3IgYXRvbWljIG1vZGVzZXQgZHJpdmVycykgdG8KLSAqIG1hdGNoIHRoZSBzY2Fu b3V0IHBvc2l0aW9uIHJlcG9ydGVkLgotICoKLSAqIE5vdGUgdGhhdCBhdG9taWMgZHJpdmVycyBt dXN0IGNhbGwgZHJtX2NhbGNfdGltZXN0YW1waW5nX2NvbnN0YW50cygpIGJlZm9yZQotICogZW5h YmxpbmcgYSBDUlRDLiBUaGUgYXRvbWljIGhlbHBlcnMgYWxyZWFkeSB0YWtlIGNhcmUgb2YgdGhh dCBpbgotICogZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX2xlZ2FjeV9tb2Rlc2V0X3N0YXRlKCku Ci0gKgotICogUmV0dXJuczoKLSAqCi0gKiBSZXR1cm5zIHRydWUgb24gc3VjY2VzcywgYW5kIGZh bHNlIG9uIGZhaWx1cmUsIGkuZS4gd2hlbiBubyBhY2N1cmF0ZQotICogdGltZXN0YW1wIGNvdWxk IGJlIGFjcXVpcmVkLgotICovCi1ib29sIGRybV9jYWxjX3ZibHRpbWVzdGFtcF9mcm9tX3NjYW5v dXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQkJICAgdW5zaWduZWQgaW50IHBpcGUs Ci0JCQkJCSAgIGludCAqbWF4X2Vycm9yLAotCQkJCQkgICBrdGltZV90ICp2YmxhbmtfdGltZSwK LQkJCQkJICAgYm9vbCBpbl92YmxhbmtfaXJxKQotewotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsK LQotCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKLQkJ cmV0dXJuIGZhbHNlOwotCi0JY3J0YyA9IGRybV9jcnRjX2Zyb21faW5kZXgoZGV2LCBwaXBlKTsK LQlpZiAoIWNydGMpCi0JCXJldHVybiBmYWxzZTsKLQotCXJldHVybiBkcm1fY3J0Y192Ymxhbmtf aGVscGVyX2dldF92YmxhbmtfdGltZXN0YW1wX2ludGVybmFsKGNydGMsCi0JCQkJCQkJCSAgICBt YXhfZXJyb3IsCi0JCQkJCQkJCSAgICB2YmxhbmtfdGltZSwKLQkJCQkJCQkJICAgIGluX3ZibGFu a19pcnEsCi0JCQkJCQkJCSAgICBjcnRjLT5oZWxwZXJfcHJpdmF0ZS0+Z2V0X3NjYW5vdXRfcG9z aXRpb24sCi0JCQkJCQkJCSAgICBkZXYtPmRyaXZlci0+Z2V0X3NjYW5vdXRfcG9zaXRpb24pOwot fQotRVhQT1JUX1NZTUJPTChkcm1fY2FsY192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9zKTsK LQogLyoqCiAgKiBkcm1fY3J0Y192YmxhbmtfaGVscGVyX2dldF92YmxhbmtfdGltZXN0YW1wX2lu dGVybmFsIC0gcHJlY2lzZSB2YmxhbmsKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXAgaGVscGVyCkBAIC04NTYsOSArNzk2 LDYgQEAgZHJtX2dldF9sYXN0X3ZibHRpbWVzdGFtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1 bnNpZ25lZCBpbnQgcGlwZSwKIAogCQlyZXQgPSBjcnRjLT5mdW5jcy0+Z2V0X3ZibGFua190aW1l c3RhbXAoY3J0YywgJm1heF9lcnJvciwKIAkJCQkJCQl0dmJsYW5rLCBpbl92YmxhbmtfaXJxKTsK LQl9IGVsc2UgaWYgKGRldi0+ZHJpdmVyLT5nZXRfdmJsYW5rX3RpbWVzdGFtcCAmJiBtYXhfZXJy b3IgPiAwKSB7Ci0JCXJldCA9IGRldi0+ZHJpdmVyLT5nZXRfdmJsYW5rX3RpbWVzdGFtcChkZXYs IHBpcGUsICZtYXhfZXJyb3IsCi0JCQkJCQkJdHZibGFuaywgaW5fdmJsYW5rX2lycSk7CiAJfQog CiAJLyogR1BVIGhpZ2ggcHJlY2lzaW9uIHRpbWVzdGFtcCBxdWVyeSB1bnN1cHBvcnRlZCBvciBm YWlsZWQuCkBAIC0xMDgxLDkgKzEwMTgsMTEgQEAgc3RhdGljIGludCBfX2VuYWJsZV92Ymxhbmso c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpCiAKIAkJaWYgKGNydGMt PmZ1bmNzLT5lbmFibGVfdmJsYW5rKQogCQkJcmV0dXJuIGNydGMtPmZ1bmNzLT5lbmFibGVfdmJs YW5rKGNydGMpOworCX0gZWxzZSBpZiAoZGV2LT5kcml2ZXItPmVuYWJsZV92YmxhbmspIHsKKwkJ cmV0dXJuIGRldi0+ZHJpdmVyLT5lbmFibGVfdmJsYW5rKGRldiwgcGlwZSk7CiAJfQogCi0JcmV0 dXJuIGRldi0+ZHJpdmVyLT5lbmFibGVfdmJsYW5rKGRldiwgcGlwZSk7CisJcmV0dXJuIC1FSU5W QUw7CiB9CiAKIHN0YXRpYyBpbnQgZHJtX3ZibGFua19lbmFibGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdW5zaWduZWQgaW50IHBpcGUpCkBAIC0xODQ2LDcgKzE3ODUsNiBAQCBzdGF0aWMgdm9p ZCBkcm1faGFuZGxlX3ZibGFua19ldmVudHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWdu ZWQgaW50IHBpcGUpCiAJc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCAqZSwgKnQ7CiAJ a3RpbWVfdCBub3c7CiAJdTY0IHNlcTsKLQlib29sIGhpZ2hfcHJlYzsKIAogCWFzc2VydF9zcGlu X2xvY2tlZCgmZGV2LT5ldmVudF9sb2NrKTsKIApAQCAtMTg2NiwxMCArMTgwNCw4IEBAIHN0YXRp YyB2b2lkIGRybV9oYW5kbGVfdmJsYW5rX2V2ZW50cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1 bnNpZ25lZCBpbnQgcGlwZSkKIAkJc2VuZF92YmxhbmtfZXZlbnQoZGV2LCBlLCBzZXEsIG5vdyk7 CiAJfQogCi0JaGlnaF9wcmVjID0gY3J0YyAmJiBjcnRjLT5mdW5jcy0+Z2V0X3ZibGFua190aW1l c3RhbXAgfHwKLQkJICAgIGRldi0+ZHJpdmVyLT5nZXRfdmJsYW5rX3RpbWVzdGFtcDsKLQotCXRy YWNlX2RybV92YmxhbmtfZXZlbnQocGlwZSwgc2VxLCBub3csIGhpZ2hfcHJlYyk7CisJdHJhY2Vf ZHJtX3ZibGFua19ldmVudChwaXBlLCBzZXEsIG5vdywKKwkJCSAgICAgICBjcnRjICYmIGNydGMt PmZ1bmNzLT5nZXRfdmJsYW5rX3RpbWVzdGFtcCk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX2Rydi5oIGIvaW5jbHVkZS9kcm0vZHJtX2Rydi5oCmluZGV4IGQwMDQ5ZTU3 ODZmYy4uZTI5MGIzYWNhNmViIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZHJ2LmgKKysr IGIvaW5jbHVkZS9kcm0vZHJtX2Rydi5oCkBAIC0yNjgsMTU2ICsyNjgsNiBAQCBzdHJ1Y3QgZHJt X2RyaXZlciB7CiAJICovCiAJdm9pZCAoKnJlbGVhc2UpIChzdHJ1Y3QgZHJtX2RldmljZSAqKTsK IAotCS8qKgotCSAqIEBnZXRfdmJsYW5rX2NvdW50ZXI6Ci0JICoKLQkgKiBEcml2ZXIgY2FsbGJh Y2sgZm9yIGZldGNoaW5nIGEgcmF3IGhhcmR3YXJlIHZibGFuayBjb3VudGVyIGZvciB0aGUKLQkg KiBDUlRDIHNwZWNpZmllZCB3aXRoIHRoZSBwaXBlIGFyZ3VtZW50LiAgSWYgYSBkZXZpY2UgZG9l c24ndCBoYXZlIGEKLQkgKiBoYXJkd2FyZSBjb3VudGVyLCB0aGUgZHJpdmVyIGNhbiBzaW1wbHkg bGVhdmUgdGhlIGhvb2sgYXMgTlVMTC4KLQkgKiBUaGUgRFJNIGNvcmUgd2lsbCBhY2NvdW50IGZv ciBtaXNzZWQgdmJsYW5rIGV2ZW50cyB3aGlsZSBpbnRlcnJ1cHRzCi0JICogd2hlcmUgZGlzYWJs ZWQgYmFzZWQgb24gc3lzdGVtIHRpbWVzdGFtcHMuCi0JICoKLQkgKiBXcmFwYXJvdW5kIGhhbmRs aW5nIGFuZCBsb3NzIG9mIGV2ZW50cyBkdWUgdG8gbW9kZXNldHRpbmcgaXMgZGVhbHQKLQkgKiB3 aXRoIGluIHRoZSBEUk0gY29yZSBjb2RlLCBhcyBsb25nIGFzIGRyaXZlcnMgY2FsbAotCSAqIGRy bV9jcnRjX3ZibGFua19vZmYoKSBhbmQgZHJtX2NydGNfdmJsYW5rX29uKCkgd2hlbiBkaXNhYmxp bmcgb3IKLQkgKiBlbmFibGluZyBhIENSVEMuCi0JICoKLQkgKiBUaGlzIGlzIGRlcHJlY2F0ZWQg YW5kIHNob3VsZCBub3QgYmUgdXNlZCBieSBuZXcgZHJpdmVycy4KLQkgKiBVc2UgJmRybV9jcnRj X2Z1bmNzLmdldF92YmxhbmtfY291bnRlciBpbnN0ZWFkLgotCSAqCi0JICogUmV0dXJuczoKLQkg KgotCSAqIFJhdyB2YmxhbmsgY291bnRlciB2YWx1ZS4KLQkgKi8KLQl1MzIgKCpnZXRfdmJsYW5r X2NvdW50ZXIpIChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSk7Ci0K LQkvKioKLQkgKiBAZW5hYmxlX3ZibGFuazoKLQkgKgotCSAqIEVuYWJsZSB2YmxhbmsgaW50ZXJy dXB0cyBmb3IgdGhlIENSVEMgc3BlY2lmaWVkIHdpdGggdGhlIHBpcGUKLQkgKiBhcmd1bWVudC4K LQkgKgotCSAqIFRoaXMgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGJ5IG5l dyBkcml2ZXJzLgotCSAqIFVzZSAmZHJtX2NydGNfZnVuY3MuZW5hYmxlX3ZibGFuayBpbnN0ZWFk LgotCSAqCi0JICogUmV0dXJuczoKLQkgKgotCSAqIFplcm8gb24gc3VjY2VzcywgYXBwcm9wcmlh dGUgZXJybm8gaWYgdGhlIGdpdmVuIEBjcnRjJ3MgdmJsYW5rCi0JICogaW50ZXJydXB0IGNhbm5v dCBiZSBlbmFibGVkLgotCSAqLwotCWludCAoKmVuYWJsZV92YmxhbmspIChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSk7Ci0KLQkvKioKLQkgKiBAZGlzYWJsZV92Ymxh bms6Ci0JICoKLQkgKiBEaXNhYmxlIHZibGFuayBpbnRlcnJ1cHRzIGZvciB0aGUgQ1JUQyBzcGVj aWZpZWQgd2l0aCB0aGUgcGlwZQotCSAqIGFyZ3VtZW50LgotCSAqCi0JICogVGhpcyBpcyBkZXBy ZWNhdGVkIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYnkgbmV3IGRyaXZlcnMuCi0JICogVXNlICZk cm1fY3J0Y19mdW5jcy5kaXNhYmxlX3ZibGFuayBpbnN0ZWFkLgotCSAqLwotCXZvaWQgKCpkaXNh YmxlX3ZibGFuaykgKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKTsK LQotCS8qKgotCSAqIEBnZXRfc2Nhbm91dF9wb3NpdGlvbjoKLQkgKgotCSAqIENhbGxlZCBieSB2 YmxhbmsgdGltZXN0YW1waW5nIGNvZGUuCi0JICoKLQkgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGRp c3BsYXkgc2Nhbm91dCBwb3NpdGlvbiBmcm9tIGEgY3J0YywgYW5kIGFuCi0JICogb3B0aW9uYWwg YWNjdXJhdGUga3RpbWVfZ2V0KCkgdGltZXN0YW1wIG9mIHdoZW4gcG9zaXRpb24gd2FzCi0JICog bWVhc3VyZWQuIE5vdGUgdGhhdCB0aGlzIGlzIGEgaGVscGVyIGNhbGxiYWNrIHdoaWNoIGlzIG9u bHkgdXNlZCBpZiBhCi0JICogZHJpdmVyIHVzZXMgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21f c2Nhbm91dHBvcygpIGZvciB0aGUKLQkgKiBAZ2V0X3ZibGFua190aW1lc3RhbXAgY2FsbGJhY2su Ci0JICoKLQkgKiBQYXJhbWV0ZXJzOgotCSAqCi0JICogZGV2OgotCSAqICAgICBEUk0gZGV2aWNl LgotCSAqIHBpcGU6Ci0JICogICAgIElkIG9mIHRoZSBjcnRjIHRvIHF1ZXJ5LgotCSAqIGluX3Zi bGFua19pcnE6Ci0JICogICAgIFRydWUgd2hlbiBjYWxsZWQgZnJvbSBkcm1fY3J0Y19oYW5kbGVf dmJsYW5rKCkuICBTb21lIGRyaXZlcnMKLQkgKiAgICAgbmVlZCB0byBhcHBseSBzb21lIHdvcmth cm91bmRzIGZvciBncHUtc3BlY2lmaWMgdmJsYW5rIGlycSBxdWlya3MKLQkgKiAgICAgaWYgZmxh ZyBpcyBzZXQuCi0JICogdnBvczoKLQkgKiAgICAgVGFyZ2V0IGxvY2F0aW9uIGZvciBjdXJyZW50 IHZlcnRpY2FsIHNjYW5vdXQgcG9zaXRpb24uCi0JICogaHBvczoKLQkgKiAgICAgVGFyZ2V0IGxv Y2F0aW9uIGZvciBjdXJyZW50IGhvcml6b250YWwgc2Nhbm91dCBwb3NpdGlvbi4KLQkgKiBzdGlt ZToKLQkgKiAgICAgVGFyZ2V0IGxvY2F0aW9uIGZvciB0aW1lc3RhbXAgdGFrZW4gaW1tZWRpYXRl bHkgYmVmb3JlCi0JICogICAgIHNjYW5vdXQgcG9zaXRpb24gcXVlcnkuIENhbiBiZSBOVUxMIHRv IHNraXAgdGltZXN0YW1wLgotCSAqIGV0aW1lOgotCSAqICAgICBUYXJnZXQgbG9jYXRpb24gZm9y IHRpbWVzdGFtcCB0YWtlbiBpbW1lZGlhdGVseSBhZnRlcgotCSAqICAgICBzY2Fub3V0IHBvc2l0 aW9uIHF1ZXJ5LiBDYW4gYmUgTlVMTCB0byBza2lwIHRpbWVzdGFtcC4KLQkgKiBtb2RlOgotCSAq ICAgICBDdXJyZW50IGRpc3BsYXkgdGltaW5ncy4KLQkgKgotCSAqIFJldHVybnMgdnBvcyBhcyBh IHBvc2l0aXZlIG51bWJlciB3aGlsZSBpbiBhY3RpdmUgc2Nhbm91dCBhcmVhLgotCSAqIFJldHVy bnMgdnBvcyBhcyBhIG5lZ2F0aXZlIG51bWJlciBpbnNpZGUgdmJsYW5rLCBjb3VudGluZyB0aGUg bnVtYmVyCi0JICogb2Ygc2NhbmxpbmVzIHRvIGdvIHVudGlsIGVuZCBvZiB2YmxhbmssIGUuZy4s IC0xIG1lYW5zICJvbmUgc2NhbmxpbmUKLQkgKiB1bnRpbCBzdGFydCBvZiBhY3RpdmUgc2Nhbm91 dCAvIGVuZCBvZiB2YmxhbmsuIgotCSAqCi0JICogUmV0dXJuczoKLQkgKgotCSAqIFRydWUgb24g c3VjY2VzcywgZmFsc2UgaWYgYSByZWxpYWJsZSBzY2Fub3V0IHBvc2l0aW9uIGNvdW50ZXIgY291 bGQKLQkgKiBub3QgYmUgcmVhZCBvdXQuCi0JICoKLQkgKiBUaGlzIGlzIGRlcHJlY2F0ZWQgYW5k IHNob3VsZCBub3QgYmUgdXNlZCBieSBuZXcgZHJpdmVycy4KLQkgKiBVc2UgJmRybV9jcnRjX2hl bHBlcl9mdW5jcy5nZXRfc2Nhbm91dF9wb3NpdGlvbiBpbnN0ZWFkLgotCSAqLwotCWJvb2wgKCpn ZXRfc2Nhbm91dF9wb3NpdGlvbikgKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGlu dCBwaXBlLAotCQkJCSAgICAgIGJvb2wgaW5fdmJsYW5rX2lycSwgaW50ICp2cG9zLCBpbnQgKmhw b3MsCi0JCQkJICAgICAga3RpbWVfdCAqc3RpbWUsIGt0aW1lX3QgKmV0aW1lLAotCQkJCSAgICAg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKLQotCS8qKgotCSAqIEBnZXRf dmJsYW5rX3RpbWVzdGFtcDoKLQkgKgotCSAqIENhbGxlZCBieSBkcm1fZ2V0X2xhc3RfdmJsdGlt ZXN0YW1wKCkuIFNob3VsZCByZXR1cm4gYSBwcmVjaXNlCi0JICogdGltZXN0YW1wIHdoZW4gdGhl IG1vc3QgcmVjZW50IFZCTEFOSyBpbnRlcnZhbCBlbmRlZCBvciB3aWxsIGVuZC4KLQkgKgotCSAq IFNwZWNpZmljYWxseSwgdGhlIHRpbWVzdGFtcCBpbiBAdmJsYW5rX3RpbWUgc2hvdWxkIGNvcnJl c3BvbmQgYXMKLQkgKiBjbG9zZWx5IGFzIHBvc3NpYmxlIHRvIHRoZSB0aW1lIHdoZW4gdGhlIGZp cnN0IHZpZGVvIHNjYW5saW5lIG9mCi0JICogdGhlIHZpZGVvIGZyYW1lIGFmdGVyIHRoZSBlbmQg b2YgVkJMQU5LIHdpbGwgc3RhcnQgc2Nhbm5pbmcgb3V0LAotCSAqIHRoZSB0aW1lIGltbWVkaWF0 ZWx5IGFmdGVyIGVuZCBvZiB0aGUgVkJMQU5LIGludGVydmFsLiBJZiB0aGUKLQkgKiBAY3J0YyBp cyBjdXJyZW50bHkgaW5zaWRlIFZCTEFOSywgdGhpcyB3aWxsIGJlIGEgdGltZSBpbiB0aGUgZnV0 dXJlLgotCSAqIElmIHRoZSBAY3J0YyBpcyBjdXJyZW50bHkgc2Nhbm5pbmcgb3V0IGEgZnJhbWUs IHRoaXMgd2lsbCBiZSB0aGUKLQkgKiBwYXN0IHN0YXJ0IHRpbWUgb2YgdGhlIGN1cnJlbnQgc2Nh bm91dC4gVGhpcyBpcyBtZWFudCB0byBhZGhlcmUKLQkgKiB0byB0aGUgT3Blbk1MIE9NTF9zeW5j X2NvbnRyb2wgZXh0ZW5zaW9uIHNwZWNpZmljYXRpb24uCi0JICoKLQkgKiBQYXJhbXRlcnM6Ci0J ICoKLQkgKiBkZXY6Ci0JICogICAgIGRldiBEUk0gZGV2aWNlIGhhbmRsZS4KLQkgKiBwaXBlOgot CSAqICAgICBjcnRjIGZvciB3aGljaCB0aW1lc3RhbXAgc2hvdWxkIGJlIHJldHVybmVkLgotCSAq IG1heF9lcnJvcjoKLQkgKiAgICAgTWF4aW11bSBhbGxvd2FibGUgdGltZXN0YW1wIGVycm9yIGlu IG5hbm9zZWNvbmRzLgotCSAqICAgICBJbXBsZW1lbnRhdGlvbiBzaG91bGQgc3RyaXZlIHRvIHBy b3ZpZGUgdGltZXN0YW1wCi0JICogICAgIHdpdGggYW4gZXJyb3Igb2YgYXQgbW9zdCBtYXhfZXJy b3IgbmFub3NlY29uZHMuCi0JICogICAgIFJldHVybnMgdHJ1ZSB1cHBlciBib3VuZCBvbiBlcnJv ciBmb3IgdGltZXN0YW1wLgotCSAqIHZibGFua190aW1lOgotCSAqICAgICBUYXJnZXQgbG9jYXRp b24gZm9yIHJldHVybmVkIHZibGFuayB0aW1lc3RhbXAuCi0JICogaW5fdmJsYW5rX2lycToKLQkg KiAgICAgVHJ1ZSB3aGVuIGNhbGxlZCBmcm9tIGRybV9jcnRjX2hhbmRsZV92YmxhbmsoKS4gIFNv bWUgZHJpdmVycwotCSAqICAgICBuZWVkIHRvIGFwcGx5IHNvbWUgd29ya2Fyb3VuZHMgZm9yIGdw dS1zcGVjaWZpYyB2YmxhbmsgaXJxIHF1aXJrcwotCSAqICAgICBpZiBmbGFnIGlzIHNldC4KLQkg KgotCSAqIFJldHVybnM6Ci0JICoKLQkgKiBUcnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGZhaWx1 cmUsIHdoaWNoIG1lYW5zIHRoZSBjb3JlIHNob3VsZAotCSAqIGZhbGxiYWNrIHRvIGEgc2ltcGxl IHRpbWVzdGFtcCB0YWtlbiBpbiBkcm1fY3J0Y19oYW5kbGVfdmJsYW5rKCkuCi0JICoKLQkgKiBG SVhNRToKLQkgKgotCSAqIFdlIHNob3VsZCBtb3ZlIHRoaXMgaG9vayB0byAmc3RydWN0IGRybV9j cnRjX2Z1bmNzIGxpa2UgYWxsIHRoZSBvdGhlcgotCSAqIHZibGFuayBob29rcy4KLQkgKi8KLQli b29sICgqZ2V0X3ZibGFua190aW1lc3RhbXApIChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgcGlwZSwKLQkJCQkgICAgIGludCAqbWF4X2Vycm9yLAotCQkJCSAgICAga3RpbWVf dCAqdmJsYW5rX3RpbWUsCi0JCQkJICAgICBib29sIGluX3ZibGFua19pcnEpOwotCiAJLyoqCiAJ ICogQGlycV9oYW5kbGVyOgogCSAqCkBAIC03NzIsNiArNjIyLDkgQEAgc3RydWN0IGRybV9kcml2 ZXIgewogCWludCAoKmRtYV9pb2N0bCkgKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIAlpbnQgKCpkbWFfcXVpZXNjZW50KSAo c3RydWN0IGRybV9kZXZpY2UgKik7CiAJaW50ICgqY29udGV4dF9kdG9yKSAoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgaW50IGNvbnRleHQpOworCXUzMiAoKmdldF92YmxhbmtfY291bnRlcikoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpOworCWludCAoKmVuYWJsZV92 YmxhbmspKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKTsKKwl2b2lk ICgqZGlzYWJsZV92YmxhbmspKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBw aXBlKTsKIAlpbnQgZGV2X3ByaXZfc2l6ZTsKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV92YmxhbmsuaCBiL2luY2x1ZGUvZHJtL2RybV92YmxhbmsuaAppbmRleCA0YmZmZmU5OTA4 MjguLmE2Y2E4YmU5M2RkOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3ZibGFuay5oCisr KyBiL2luY2x1ZGUvZHJtL2RybV92YmxhbmsuaApAQCAtMjI5LDEwICsyMjksNiBAQCB1NjQgZHJt X2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiB2b2lk IGRybV92YmxhbmtfcmVzdG9yZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQg cGlwZSk7CiB2b2lkIGRybV9jcnRjX3ZibGFua19yZXN0b3JlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 Yyk7CiAKLWJvb2wgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAotCQkJCQkgICB1bnNpZ25lZCBpbnQgcGlwZSwgaW50ICptYXhfZXJy b3IsCi0JCQkJCSAgIGt0aW1lX3QgKnZibGFua190aW1lLAotCQkJCQkgICBib29sIGluX3ZibGFu a19pcnEpOwogdm9pZCBkcm1fY2FsY190aW1lc3RhbXBpbmdfY29uc3RhbnRzKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIAkJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl KTsKIHdhaXRfcXVldWVfaGVhZF90ICpkcm1fY3J0Y192Ymxhbmtfd2FpdHF1ZXVlKHN0cnVjdCBk cm1fY3J0YyAqY3J0Yyk7Ci0tIAoyLjI0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeAo=