From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 2/2] drm/i915: Move fbdev_suspend_work to intel_fbdev Date: Thu, 31 Mar 2016 14:57:43 +0100 Message-ID: <1459432663-990-2-git-send-email-chris@chris-wilson.co.uk> References: <56FD1151.5050303@intel.com> <1459432663-990-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8D8D66EA99 for ; Thu, 31 Mar 2016 13:57:57 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id 20so23916624wmh.3 for ; Thu, 31 Mar 2016 06:57:57 -0700 (PDT) In-Reply-To: <1459432663-990-1-git-send-email-chris@chris-wilson.co.uk> 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, Gabriel Feceoru List-Id: intel-gfx@lists.freedesktop.org U2luY2UgdGhlIHN1c3BlbmRfd29yayBpcyBlbnRpcmVseSBpbnRlcm5hbCB0byBpbnRlbF9mYmRl di5jLCBtb3ZlIGl0CmZyb20gdGhlIHRvcCBsZXZlbCBkcm1faTkxNV9wcml2YXRlIGFuZCBpbnRv IHN0cnVjdCBpbnRlbF9mYmRldi4gVGhpcwpyZXF1aXJlcyBzcGxpdHRpbmcgdGhlIGludGVybmFs IGludGVyZmFjZSBmb3IgdGhlIHN1c3BlbmQgd29ya2VyIGZyb20KdGhlIGV4dGVybmFsIGludGVy ZmFjZSB1c2VkIGJ5IHRoZSBoaWdoZXIgbGF5ZXJzIHRvIGluaXRpYXRlIHN1c3BlbmQuCgpTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgIHwgICA0ICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oICAgIHwgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oICAgfCAgIDUgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgfCAx MTcgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2Vk LCA2OCBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YwppbmRleCAwMjBhMzFjNWUyYmIuLjEwMGQwZDkyYjFlNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jCkBAIC02MzQsNyArNjM0LDcgQEAgc3RhdGljIGludCBpOTE1X2RybV9zdXNwZW5kKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldChkZXYsIGZh bHNlKTsKIAlpbnRlbF9vcHJlZ2lvbl9maW5pKGRldik7CiAKLQlpbnRlbF9mYmRldl9zZXRfc3Vz cGVuZChkZXYsIEZCSU5GT19TVEFURV9TVVNQRU5ERUQsIHRydWUpOworCWludGVsX2ZiZGV2X3Nl dF9zdXNwZW5kKGRldiwgRkJJTkZPX1NUQVRFX1NVU1BFTkRFRCk7CiAKIAlkZXZfcHJpdi0+c3Vz cGVuZF9jb3VudCsrOwogCkBAIC03ODQsNyArNzg0LDcgQEAgc3RhdGljIGludCBpOTE1X2RybV9y ZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCWludGVsX29wcmVnaW9uX2luaXQoZGV2 KTsKIAotCWludGVsX2ZiZGV2X3NldF9zdXNwZW5kKGRldiwgRkJJTkZPX1NUQVRFX1JVTk5JTkcs IGZhbHNlKTsKKwlpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChkZXYsIEZCSU5GT19TVEFURV9SVU5O SU5HKTsKIAogCW11dGV4X2xvY2soJmRldl9wcml2LT5tb2Rlc2V0X3Jlc3RvcmVfbG9jayk7CiAJ ZGV2X3ByaXYtPm1vZGVzZXRfcmVzdG9yZSA9IE1PREVTRVRfRE9ORTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCmluZGV4IDgyMGM5MWY1NTFiYS4uOTczYTYwMmM1MDc3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKQEAgLTE4ODAsNyArMTg4MCw2IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsK ICNpZmRlZiBDT05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTgogCS8qIGxpc3Qgb2YgZmJkZXYgcmVn aXN0ZXIgb24gdGhpcyBkZXZpY2UgKi8KIAlzdHJ1Y3QgaW50ZWxfZmJkZXYgKmZiZGV2OwotCXN0 cnVjdCB3b3JrX3N0cnVjdCBmYmRldl9zdXNwZW5kX3dvcms7CiAjZW5kaWYKIAogCXN0cnVjdCBk cm1fcHJvcGVydHkgKmJyb2FkY2FzdF9yZ2JfcHJvcGVydHk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCmluZGV4IDZhYzQ2ZDkyMWNkZS4uMDBiNmM2MGMxY2I4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaApAQCAtMTU4LDYgKzE1OCw3IEBAIHN0cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciB7CiBz dHJ1Y3QgaW50ZWxfZmJkZXYgewogCXN0cnVjdCBkcm1fZmJfaGVscGVyIGhlbHBlcjsKIAlzdHJ1 Y3QgaW50ZWxfZnJhbWVidWZmZXIgKmZiOworCXN0cnVjdCB3b3JrX3N0cnVjdCBzdXNwZW5kX3dv cms7CiAJaW50IHByZWZlcnJlZF9icHA7CiB9OwogCkBAIC0xMzM1LDcgKzEzMzYsNyBAQCB2b2lk IGludGVsX2R2b19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogZXh0ZXJuIGludCBpbnRl bF9mYmRldl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogZXh0ZXJuIHZvaWQgaW50ZWxf ZmJkZXZfaW5pdGlhbF9jb25maWdfYXN5bmMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBleHRl cm4gdm9pZCBpbnRlbF9mYmRldl9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotZXh0ZXJu IHZvaWQgaW50ZWxfZmJkZXZfc2V0X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50 IHN0YXRlLCBib29sIHN5bmNocm9ub3VzKTsKK2V4dGVybiB2b2lkIGludGVsX2ZiZGV2X3NldF9z dXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBzdGF0ZSk7CiBleHRlcm4gdm9pZCBp bnRlbF9mYmRldl9vdXRwdXRfcG9sbF9jaGFuZ2VkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwog ZXh0ZXJuIHZvaWQgaW50ZWxfZmJkZXZfcmVzdG9yZV9tb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpOwogI2Vsc2UKQEAgLTEzNTIsNyArMTM1Myw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpbnRl bF9mYmRldl9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiB9CiAKLXN0YXRpYyBpbmxp bmUgdm9pZCBpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBp bnQgc3RhdGUsIGJvb2wgc3luY2hyb25vdXMpCitzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfZmJk ZXZfc2V0X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHN0YXRlKQogewogfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwppbmRleCA1ZDRiZTcxYmRmMjIuLjY2YmI3OTYx MzY2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCkBAIC01MzQsOCArNTM0LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZmJfaGVscGVyX2Z1bmNzIGludGVsX2ZiX2hlbHBlcl9m dW5jcyA9IHsKIAkuZmJfcHJvYmUgPSBpbnRlbGZiX2NyZWF0ZSwKIH07CiAKLXN0YXRpYyB2b2lk IGludGVsX2ZiZGV2X2Rlc3Ryb3koc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQlzdHJ1Y3Qg aW50ZWxfZmJkZXYgKmlmYmRldikKK3N0YXRpYyB2b2lkIGludGVsX2ZiZGV2X2Rlc3Ryb3koc3Ry dWN0IGludGVsX2ZiZGV2ICppZmJkZXYpCiB7CiAJLyogV2UgcmVseSBvbiB0aGUgb2JqZWN0LWZy ZWUgdG8gcmVsZWFzZSB0aGUgVk1BIHBpbm5pbmcgZm9yCiAJICogdGhlIGluZm8tPnNjcmVlbl9i YXNlIG1tYXBpbmcuIExlYWtpbmcgdGhlIFZNQSBpcyBzaW1wbGVyIHRoYW4KQEAgLTY4MSwxMyAr NjgwLDU2IEBAIG91dDoKIAlyZXR1cm4gZmFsc2U7CiB9CiAKK3N0YXRpYyB2b2lkIF9faW50ZWxf ZmJkZXZfc2V0X3N1c3BlbmQoc3RydWN0IGludGVsX2ZiZGV2ICppZmJkZXYsCisJCQkJICAgICAg aW50IHN0YXRlLCBib29sIHN5bmNocm9ub3VzKQoreworCWlmIChzeW5jaHJvbm91cykgeworCQkv KiBGbHVzaCBhbnkgcGVuZGluZyB3b3JrIHRvIHR1cm4gdGhlIGNvbnNvbGUgb24sIGFuZCB0aGVu CisJCSAqIHdhaXQgdG8gdHVybiBpdCBvZmYuIEl0IG11c3QgYmUgc3luY2hyb25vdXMgYXMgd2Ug YXJlCisJCSAqIGFib3V0IHRvIHN1c3BlbmQgb3IgdW5sb2FkIHRoZSBkcml2ZXIuCisJCSAqCisJ CSAqIE5vdGUgdGhhdCBmcm9tIHdpdGhpbiB0aGUgd29yay1oYW5kbGVyLCB3ZSBjYW5ub3QgZmx1 c2gKKwkJICogb3Vyc2VsdmVzLCBzbyBvbmx5IGZsdXNoIG91dHN0YW5kaW5nIHdvcmsgdXBvbiBz dXNwZW5kIQorCQkgKi8KKwkJaWYgKHN0YXRlICE9IEZCSU5GT19TVEFURV9SVU5OSU5HKQorCQkJ Zmx1c2hfd29yaygmaWZiZGV2LT5zdXNwZW5kX3dvcmspOworCQljb25zb2xlX2xvY2soKTsKKwl9 IGVsc2UgeworCQkvKgorCQkgKiBUaGUgY29uc29sZSBsb2NrIGNhbiBiZSBwcmV0dHkgY29udGVu dGVkIG9uIHJlc3VtZSBkdWUKKwkJICogdG8gYWxsIHRoZSBwcmludGsgYWN0aXZpdHkuICBUcnkg dG8ga2VlcCBpdCBvdXQgb2YgdGhlIGhvdAorCQkgKiBwYXRoIG9mIHJlc3VtZSBpZiBwb3NzaWJs ZS4KKwkJICovCisJCVdBUk5fT04oc3RhdGUgIT0gRkJJTkZPX1NUQVRFX1JVTk5JTkcpOworCQlp ZiAoIWNvbnNvbGVfdHJ5bG9jaygpKSB7CisJCQkvKiBEb24ndCBibG9jayBvdXIgb3duIHdvcmtx dWV1ZSBhcyB0aGlzIGNhbgorCQkJICogYmUgcnVuIGluIHBhcmFsbGVsIHdpdGggb3RoZXIgaTkx NS5rbyB0YXNrcy4KKwkJCSAqLworCQkJc2NoZWR1bGVfd29yaygmaWZiZGV2LT5zdXNwZW5kX3dv cmspOworCQkJcmV0dXJuOworCQl9CisJfQorCisJLyogT24gcmVzdW1lIGZyb20gaGliZXJuYXRp b246IElmIHRoZSBvYmplY3QgaXMgc2htZW1mcyBiYWNrZWQsIGl0IGhhcworCSAqIGJlZW4gcmVz dG9yZWQgZnJvbSBzd2FwLiBJZiB0aGUgb2JqZWN0IGlzIHN0b2xlbiBob3dldmVyLCBpdCB3aWxs IGJlCisJICogZnVsbCBvZiB3aGF0ZXZlciBnYXJiYWdlIHdhcyBsZWZ0IGluIHRoZXJlLgorCSAq LworCWlmIChzdGF0ZSA9PSBGQklORk9fU1RBVEVfUlVOTklORyAmJiBpZmJkZXYtPmZiLT5vYmot PnN0b2xlbikgeworCQlzdHJ1Y3QgZmJfaW5mbyAqaW5mbyA9IGlmYmRldi0+aGVscGVyLmZiZGV2 OworCQltZW1zZXRfaW8oaW5mby0+c2NyZWVuX2Jhc2UsIDAsIGluZm8tPnNjcmVlbl9zaXplKTsK Kwl9CisKKwlkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kKCZpZmJkZXYtPmhlbHBlciwgc3RhdGUp OworCWNvbnNvbGVfdW5sb2NrKCk7Cit9CisKIHN0YXRpYyB2b2lkIGludGVsX2ZiZGV2X3N1c3Bl bmRfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlpbnRlbF9mYmRldl9zZXRf c3VzcGVuZChjb250YWluZXJfb2Yod29yaywKLQkJCQkJICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSwKLQkJCQkJICAgICBmYmRldl9zdXNwZW5kX3dvcmspLT5kZXYsCi0JCQkJRkJJTkZPX1NU QVRFX1JVTk5JTkcsCi0JCQkJdHJ1ZSk7CisJX19pbnRlbF9mYmRldl9zZXRfc3VzcGVuZChjb250 YWluZXJfb2Yod29yaywKKwkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9mYmRldiwKKwkJCQkJICAg ICAgIHN1c3BlbmRfd29yayksCisJCQkJICBGQklORk9fU1RBVEVfUlVOTklORywKKwkJCQkgIHRy dWUpOwogfQogCiBpbnQgaW50ZWxfZmJkZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQpA QCAtNzE2LDkgKzc1OCw5IEBAIGludCBpbnRlbF9mYmRldl9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJfQogCiAJaWZiZGV2LT5oZWxwZXIuYXRvbWljID0gdHJ1ZTsKKwlJTklUX1dPUkso JmlmYmRldi0+c3VzcGVuZF93b3JrLCBpbnRlbF9mYmRldl9zdXNwZW5kX3dvcmtlcik7CiAKIAlk ZXZfcHJpdi0+ZmJkZXYgPSBpZmJkZXY7Ci0JSU5JVF9XT1JLKCZkZXZfcHJpdi0+ZmJkZXZfc3Vz cGVuZF93b3JrLCBpbnRlbF9mYmRldl9zdXNwZW5kX3dvcmtlcik7CiAKIAlkcm1fZmJfaGVscGVy X3NpbmdsZV9hZGRfYWxsX2Nvbm5lY3RvcnMoJmlmYmRldi0+aGVscGVyKTsKIApAQCAtNzQzLDE3 ICs3ODUsMjEgQEAgdm9pZCBpbnRlbF9mYmRldl9pbml0aWFsX2NvbmZpZ19hc3luYyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCiB2b2lkIGludGVsX2ZiZGV2X2Zpbmkoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwotCWlmICghZGV2X3ByaXYtPmZiZGV2KQorCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfZmJkZXYgKmlmYmRl djsKKworCWlmYmRldiA9IGRldl9wcml2LT5mYmRldjsKKwlpZiAoaWZiZGV2ID09IE5VTEwpCiAJ CXJldHVybjsKIAotCWZsdXNoX3dvcmsoJmRldl9wcml2LT5mYmRldl9zdXNwZW5kX3dvcmspOwor CWRldl9wcml2LT5mYmRldiA9IE5VTEw7CiAKIAlpZiAoIWN1cnJlbnRfaXNfYXN5bmMoKSkKIAkJ YXN5bmNfc3luY2hyb25pemVfZnVsbCgpOwotCWludGVsX2ZiZGV2X2Rlc3Ryb3koZGV2LCBkZXZf cHJpdi0+ZmJkZXYpOwotCWtmcmVlKGRldl9wcml2LT5mYmRldik7Ci0JZGV2X3ByaXYtPmZiZGV2 ID0gTlVMTDsKKwlmbHVzaF93b3JrKCZpZmJkZXYtPnN1c3BlbmRfd29yayk7CisKKwlpbnRlbF9m YmRldl9kZXN0cm95KGlmYmRldik7CisJa2ZyZWUoaWZiZGV2KTsKIH0KIAogc3RhdGljIHN0cnVj dCBpbnRlbF9mYmRldiAqaW50ZWxfZmJkZXZfZ2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCkBA IC03ODgsNTMgKzgzNCwxNiBAQCBzdGF0aWMgc3RydWN0IGludGVsX2ZiZGV2ICppbnRlbF9mYmRl dl9nZXRfaWZfYWN0aXZlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJcmV0dXJuIGlmYmRldjsK IH0KIAotdm9pZCBpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBpbnQgc3RhdGUsIGJvb2wgc3luY2hyb25vdXMpCit2b2lkIGludGVsX2ZiZGV2X3NldF9zdXNw ZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBzdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9m YmRldiAqaWZiZGV2OwogCiAJaWZiZGV2ID0gaW50ZWxfZmJkZXZfZ2V0KGRldik7CiAJaWYgKGlm YmRldiA9PSBOVUxMKQogCQlyZXR1cm47CiAKLQlpZiAoc3luY2hyb25vdXMpIHsKLQkJLyogRmx1 c2ggYW55IHBlbmRpbmcgd29yayB0byB0dXJuIHRoZSBjb25zb2xlIG9uLCBhbmQgdGhlbgotCQkg KiB3YWl0IHRvIHR1cm4gaXQgb2ZmLiBJdCBtdXN0IGJlIHN5bmNocm9ub3VzIGFzIHdlIGFyZQot CQkgKiBhYm91dCB0byBzdXNwZW5kIG9yIHVubG9hZCB0aGUgZHJpdmVyLgotCQkgKgotCQkgKiBO b3RlIHRoYXQgZnJvbSB3aXRoaW4gdGhlIHdvcmstaGFuZGxlciwgd2UgY2Fubm90IGZsdXNoCi0J CSAqIG91cnNlbHZlcywgc28gb25seSBmbHVzaCBvdXRzdGFuZGluZyB3b3JrIHVwb24gc3VzcGVu ZCEKLQkJICovCi0JCWlmIChzdGF0ZSAhPSBGQklORk9fU1RBVEVfUlVOTklORykKLQkJCWZsdXNo X3dvcmsoJmRldl9wcml2LT5mYmRldl9zdXNwZW5kX3dvcmspOwotCQljb25zb2xlX2xvY2soKTsK LQl9IGVsc2UgewotCQkvKgotCQkgKiBUaGUgY29uc29sZSBsb2NrIGNhbiBiZSBwcmV0dHkgY29u dGVudGVkIG9uIHJlc3VtZSBkdWUKLQkJICogdG8gYWxsIHRoZSBwcmludGsgYWN0aXZpdHkuICBU cnkgdG8ga2VlcCBpdCBvdXQgb2YgdGhlIGhvdAotCQkgKiBwYXRoIG9mIHJlc3VtZSBpZiBwb3Nz aWJsZS4KLQkJICovCi0JCVdBUk5fT04oc3RhdGUgIT0gRkJJTkZPX1NUQVRFX1JVTk5JTkcpOwot CQlpZiAoIWNvbnNvbGVfdHJ5bG9jaygpKSB7Ci0JCQkvKiBEb24ndCBibG9jayBvdXIgb3duIHdv cmtxdWV1ZSBhcyB0aGlzIGNhbgotCQkJICogYmUgcnVuIGluIHBhcmFsbGVsIHdpdGggb3RoZXIg aTkxNS5rbyB0YXNrcy4KLQkJCSAqLwotCQkJc2NoZWR1bGVfd29yaygmZGV2X3ByaXYtPmZiZGV2 X3N1c3BlbmRfd29yayk7Ci0JCQlyZXR1cm47Ci0JCX0KLQl9Ci0KLQkvKiBPbiByZXN1bWUgZnJv bSBoaWJlcm5hdGlvbjogSWYgdGhlIG9iamVjdCBpcyBzaG1lbWZzIGJhY2tlZCwgaXQgaGFzCi0J ICogYmVlbiByZXN0b3JlZCBmcm9tIHN3YXAuIElmIHRoZSBvYmplY3QgaXMgc3RvbGVuIGhvd2V2 ZXIsIGl0IHdpbGwgYmUKLQkgKiBmdWxsIG9mIHdoYXRldmVyIGdhcmJhZ2Ugd2FzIGxlZnQgaW4g dGhlcmUuCi0JICovCi0JaWYgKHN0YXRlID09IEZCSU5GT19TVEFURV9SVU5OSU5HICYmIGlmYmRl di0+ZmItPm9iai0+c3RvbGVuKSB7Ci0JCXN0cnVjdCBmYl9pbmZvICppbmZvID0gaWZiZGV2LT5o ZWxwZXIuZmJkZXY7Ci0JCW1lbXNldF9pbyhpbmZvLT5zY3JlZW5fYmFzZSwgMCwgaW5mby0+c2Ny ZWVuX3NpemUpOwotCX0KLQotCWRybV9mYl9oZWxwZXJfc2V0X3N1c3BlbmQoJmlmYmRldi0+aGVs cGVyLCBzdGF0ZSk7Ci0JY29uc29sZV91bmxvY2soKTsKKwlfX2ludGVsX2ZiZGV2X3NldF9zdXNw ZW5kKGlmYmRldiwgc3RhdGUsCisJCQkJICBzdGF0ZSAhPSBGQklORk9fU1RBVEVfUlVOTklORyk7 CiB9CiAKIHZvaWQgaW50ZWxfZmJkZXZfb3V0cHV0X3BvbGxfY2hhbmdlZChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQotLSAKMi44LjAucmMzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK