From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 05/35] drm/i915: Move intel_(pre_disable/post_enable)_primary to intel_display.c, and use it there. Date: Tue, 21 Apr 2015 17:12:54 +0300 Message-ID: <1429625604-22252-6-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1429625604-22252-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 6C1B36E5C8 for ; Tue, 21 Apr 2015 07:13:32 -0700 (PDT) In-Reply-To: <1429625604-22252-1-git-send-email-ander.conselvan.de.oliveira@intel.com> 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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KClRoZXkncmUgdGhlIHNhbWUgY29kZSwgc28gd2h5IG5vdD8KClNpZ25lZC1vZmYtYnk6IE1h YXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClJldmll d2VkLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5v bGl2ZWlyYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgMTU4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgIDIgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc3ByaXRlLmMgIHwgIDY4IC0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAx MDIgaW5zZXJ0aW9ucygrKSwgMTI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCA0MGUzYzYyLi44YzljZWRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC0yMjQwLDE0ICsyMjQwLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5h YmxlX3ByaW1hcnlfaHdfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAKIAlkZXZfcHJp di0+ZGlzcGxheS51cGRhdGVfcHJpbWFyeV9wbGFuZShjcnRjLCBwbGFuZS0+ZmIsCiAJCQkJCSAg ICAgICBjcnRjLT54LCBjcnRjLT55KTsKLQotCS8qCi0JICogQkRXIHNpZ25hbHMgZmxpcCBkb25l IGltbWVkaWF0ZWx5IGlmIHRoZSBwbGFuZQotCSAqIGlzIGRpc2FibGVkLCBldmVuIGlmIHRoZSBw bGFuZSBlbmFibGUgaXMgYWxyZWFkeQotCSAqIGFybWVkIHRvIG9jY3VyIGF0IHRoZSBuZXh0IHZi bGFuayA6KAotCSAqLwotCWlmIChJU19CUk9BRFdFTEwoZGV2KSkKLQkJaW50ZWxfd2FpdF9mb3Jf dmJsYW5rKGRldiwgaW50ZWxfY3J0Yy0+cGlwZSk7CiB9CiAKIHN0YXRpYyBib29sIG5lZWRfdnRk X3dhKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCkBAIC00NjU4LDE3ICs0NjUwLDM4IEBAIHN0YXRp YyB2b2lkIGludGVsX2NydGNfZHBtc19vdmVybGF5KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjLCBib29sIGVuYWJsZSkKIAkgKi8KIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19lbmFi bGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKKy8qKgorICogaW50ZWxfcG9zdF9lbmFi bGVfcHJpbWFyeSAtIFBlcmZvcm0gb3BlcmF0aW9ucyBhZnRlciBlbmFibGluZyBwcmltYXJ5IHBs YW5lCisgKiBAY3J0YzogdGhlIENSVEMgd2hvc2UgcHJpbWFyeSBwbGFuZSB3YXMganVzdCBlbmFi bGVkCisgKgorICogUGVyZm9ybXMgcG90ZW50aWFsbHkgc2xlZXBpbmcgb3BlcmF0aW9ucyB0aGF0 IG11c3QgYmUgZG9uZSBhZnRlciB0aGUgcHJpbWFyeQorICogcGxhbmUgaXMgZW5hYmxlZCwgc3Vj aCBhcyB1cGRhdGluZyBGQkMgYW5kIElQUy4gIE5vdGUgdGhhdCB0aGlzIG1heSBiZQorICogY2Fs bGVkIGR1ZSB0byBhbiBleHBsaWNpdCBwcmltYXJ5IHBsYW5lIHVwZGF0ZSwgb3IgZHVlIHRvIGFu IGltcGxpY2l0CisgKiByZS1lbmFibGUgdGhhdCBpcyBjYXVzZWQgd2hlbiBhIHNwcml0ZSBwbGFu ZSBpcyB1cGRhdGVkIHRvIG5vIGxvbmdlcgorICogY29tcGxldGVseSBoaWRlIHRoZSBwcmltYXJ5 IHBsYW5lLgorICovCitzdGF0aWMgdm9pZAoraW50ZWxfcG9zdF9lbmFibGVfcHJpbWFyeShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRl djsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsK IAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAKLQlpbnRlbF9lbmFibGVfcHJpbWFyeV9o d19wbGFuZShjcnRjLT5wcmltYXJ5LCBjcnRjKTsKLQlpbnRlbF9lbmFibGVfc3ByaXRlX3BsYW5l cyhjcnRjKTsKLQlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0YywgdHJ1ZSk7Ci0JaW50ZWxf Y3J0Y19kcG1zX292ZXJsYXkoaW50ZWxfY3J0YywgdHJ1ZSk7CisJLyoKKwkgKiBCRFcgc2lnbmFs cyBmbGlwIGRvbmUgaW1tZWRpYXRlbHkgaWYgdGhlIHBsYW5lCisJICogaXMgZGlzYWJsZWQsIGV2 ZW4gaWYgdGhlIHBsYW5lIGVuYWJsZSBpcyBhbHJlYWR5CisJICogYXJtZWQgdG8gb2NjdXIgYXQg dGhlIG5leHQgdmJsYW5rIDooCisJICovCisJaWYgKElTX0JST0FEV0VMTChkZXYpKQorCQlpbnRl bF93YWl0X2Zvcl92YmxhbmsoZGV2LCBwaXBlKTsKIAorCS8qCisJICogRklYTUUgSVBTIHNob3Vs ZCBiZSBmaW5lIGFzIGxvbmcgYXMgb25lIHBsYW5lIGlzCisJICogZW5hYmxlZCwgYnV0IGluIHBy YWN0aWNlIGl0IHNlZW1zIHRvIGhhdmUgcHJvYmxlbXMKKwkgKiB3aGVuIGdvaW5nIGZyb20gcHJp bWFyeSBvbmx5IHRvIHNwcml0ZSBvbmx5IGFuZCB2aWNlCisJICogdmVyc2EuCisJICovCiAJaHN3 X2VuYWJsZV9pcHMoaW50ZWxfY3J0Yyk7CiAKIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRl eCk7CkBAIC00Njc2LDI3ICs0Njg5LDk1IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZW5hYmxl X3BsYW5lcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVj dF9tdXRleCk7CiAKIAkvKgotCSAqIEZJWE1FOiBPbmNlIHdlIGdyb3cgcHJvcGVyIG51Y2xlYXIg ZmxpcCBzdXBwb3J0IG91dCBvZiB0aGlzIHdlIG5lZWQKLQkgKiB0byBjb21wdXRlIHRoZSBtYXNr IG9mIGZsaXAgcGxhbmVzIHByZWNpc2VseS4gRm9yIHRoZSB0aW1lIGJlaW5nCi0JICogY29uc2lk ZXIgdGhpcyBhIGZsaXAgZnJvbSBhIE5VTEwgcGxhbmUuCisJICogR2VuMiByZXBvcnRzIHBpcGUg dW5kZXJydW5zIHdoZW5ldmVyIGFsbCBwbGFuZXMgYXJlIGRpc2FibGVkLgorCSAqIFNvIGRvbid0 IGVuYWJsZSB1bmRlcnJ1biByZXBvcnRpbmcgYmVmb3JlIGF0IGxlYXN0IHNvbWUgcGxhbmVzCisJ ICogYXJlIGVuYWJsZWQuCisJICogRklYTUU6IE5lZWQgdG8gZml4IHRoZSBsb2dpYyB0byB3b3Jr IHdoZW4gd2UgdHVybiBvZmYgYWxsIHBsYW5lcworCSAqIGJ1dCBsZWF2ZSB0aGUgcGlwZSBydW5u aW5nLgogCSAqLwotCWludGVsX2Zyb250YnVmZmVyX2ZsaXAoZGV2LCBJTlRFTF9GUk9OVEJVRkZF Ul9BTExfTUFTSyhwaXBlKSk7CisJaWYgKElTX0dFTjIoZGV2KSkKKwkJaW50ZWxfc2V0X2NwdV9m aWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CisKKwkvKiBVbmRl cnJ1bnMgZG9uJ3QgcmFpc2UgaW50ZXJydXB0cywgc28gY2hlY2sgbWFudWFsbHkuICovCisJaWYg KEhBU19HTUNIX0RJU1BMQVkoZGV2KSkKKwkJaTl4eF9jaGVja19maWZvX3VuZGVycnVucyhkZXZf cHJpdik7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9wbGFuZXMoc3RydWN0 IGRybV9jcnRjICpjcnRjKQorLyoqCisgKiBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5IC0gUGVy Zm9ybSBvcGVyYXRpb25zIGJlZm9yZSBkaXNhYmxpbmcgcHJpbWFyeSBwbGFuZQorICogQGNydGM6 IHRoZSBDUlRDIHdob3NlIHByaW1hcnkgcGxhbmUgaXMgdG8gYmUgZGlzYWJsZWQKKyAqCisgKiBQ ZXJmb3JtcyBwb3RlbnRpYWxseSBzbGVlcGluZyBvcGVyYXRpb25zIHRoYXQgbXVzdCBiZSBkb25l IGJlZm9yZSB0aGUKKyAqIHByaW1hcnkgcGxhbmUgaXMgZGlzYWJsZWQsIHN1Y2ggYXMgdXBkYXRp bmcgRkJDIGFuZCBJUFMuICBOb3RlIHRoYXQgdGhpcyBtYXkKKyAqIGJlIGNhbGxlZCBkdWUgdG8g YW4gZXhwbGljaXQgcHJpbWFyeSBwbGFuZSB1cGRhdGUsIG9yIGR1ZSB0byBhbiBpbXBsaWNpdAor ICogZGlzYWJsZSB0aGF0IGlzIGNhdXNlZCB3aGVuIGEgc3ByaXRlIHBsYW5lIGNvbXBsZXRlbHkg aGlkZXMgdGhlIHByaW1hcnkKKyAqIHBsYW5lLgorICovCitzdGF0aWMgdm9pZAoraW50ZWxfcHJl X2Rpc2FibGVfcHJpbWFyeShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lOwog CWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAotCWludGVsX2NydGNfd2FpdF9mb3JfcGVu ZGluZ19mbGlwcyhjcnRjKTsKKwkvKgorCSAqIEdlbjIgcmVwb3J0cyBwaXBlIHVuZGVycnVucyB3 aGVuZXZlciBhbGwgcGxhbmVzIGFyZSBkaXNhYmxlZC4KKwkgKiBTbyBkaWFzYmxlIHVuZGVycnVu IHJlcG9ydGluZyBiZWZvcmUgYWxsIHRoZSBwbGFuZXMgZ2V0IGRpc2FibGVkLgorCSAqIEZJWE1F OiBOZWVkIHRvIGZpeCB0aGUgbG9naWMgdG8gd29yayB3aGVuIHdlIHR1cm4gb2ZmIGFsbCBwbGFu ZXMKKwkgKiBidXQgbGVhdmUgdGhlIHBpcGUgcnVubmluZy4KKwkgKi8KKwlpZiAoSVNfR0VOMihk ZXYpKQorCQlpbnRlbF9zZXRfY3B1X2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBw aXBlLCBmYWxzZSk7CisKKwkvKgorCSAqIFZibGFuayB0aW1lIHVwZGF0ZXMgZnJvbSB0aGUgc2hh ZG93IHRvIGxpdmUgcGxhbmUgY29udHJvbCByZWdpc3RlcgorCSAqIGFyZSBibG9ja2VkIGlmIHRo ZSBtZW1vcnkgc2VsZi1yZWZyZXNoIG1vZGUgaXMgYWN0aXZlIGF0IHRoYXQKKwkgKiBtb21lbnQu IFNvIHRvIG1ha2Ugc3VyZSB0aGUgcGxhbmUgZ2V0cyB0cnVseSBkaXNhYmxlZCwgZGlzYWJsZQor CSAqIGZpcnN0IHRoZSBzZWxmLXJlZnJlc2ggbW9kZS4gVGhlIHNlbGYtcmVmcmVzaCBlbmFibGUg Yml0IGluIHR1cm4KKwkgKiB3aWxsIGJlIGNoZWNrZWQvYXBwbGllZCBieSB0aGUgSFcgb25seSBh dCB0aGUgbmV4dCBmcmFtZSBzdGFydAorCSAqIGV2ZW50IHdoaWNoIGlzIGFmdGVyIHRoZSB2Ymxh bmsgc3RhcnQgZXZlbnQsIHNvIHdlIG5lZWQgdG8gaGF2ZSBhCisJICogd2FpdC1mb3ItdmJsYW5r IGJldHdlZW4gZGlzYWJsaW5nIHRoZSBwbGFuZSBhbmQgdGhlIHBpcGUuCisJICovCisJaWYgKEhB U19HTUNIX0RJU1BMQVkoZGV2KSkKKwkJaW50ZWxfc2V0X21lbW9yeV9jeHNyKGRldl9wcml2LCBm YWxzZSk7CiAKKwltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJaWYgKGRldl9wcml2 LT5mYmMuY3J0YyA9PSBpbnRlbF9jcnRjKQogCQlpbnRlbF9mYmNfZGlzYWJsZShkZXYpOworCW11 dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCisJLyoKKwkgKiBGSVhNRSBJUFMgc2hv dWxkIGJlIGZpbmUgYXMgbG9uZyBhcyBvbmUgcGxhbmUgaXMKKwkgKiBlbmFibGVkLCBidXQgaW4g cHJhY3RpY2UgaXQgc2VlbXMgdG8gaGF2ZSBwcm9ibGVtcworCSAqIHdoZW4gZ29pbmcgZnJvbSBw cmltYXJ5IG9ubHkgdG8gc3ByaXRlIG9ubHkgYW5kIHZpY2UKKwkgKiB2ZXJzYS4KKwkgKi8KIAlo c3dfZGlzYWJsZV9pcHMoaW50ZWxfY3J0Yyk7Cit9CisKK3N0YXRpYyB2b2lkIGludGVsX2NydGNf ZW5hYmxlX3BsYW5lcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCisJaW50ZWxfZW5hYmxlX3By aW1hcnlfaHdfcGxhbmUoY3J0Yy0+cHJpbWFyeSwgY3J0Yyk7CisJaW50ZWxfZW5hYmxlX3Nwcml0 ZV9wbGFuZXMoY3J0Yyk7CisJaW50ZWxfY3J0Y191cGRhdGVfY3Vyc29yKGNydGMsIHRydWUpOwor CWludGVsX2NydGNfZHBtc19vdmVybGF5KGludGVsX2NydGMsIHRydWUpOworCisJaW50ZWxfcG9z dF9lbmFibGVfcHJpbWFyeShjcnRjKTsKK30KKworc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNh YmxlX3BsYW5lcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGNydGMtPmRldjsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Yyk7CisJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZTsKKwlpbnQg cGlwZSA9IGludGVsX2NydGMtPnBpcGU7CisKKwlpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdf ZmxpcHMoY3J0Yyk7CisKKwlpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KGNydGMpOwogCiAJaW50 ZWxfY3J0Y19kcG1zX292ZXJsYXkoaW50ZWxfY3J0YywgZmFsc2UpOwogCWZvcl9lYWNoX2ludGVs X3BsYW5lKGRldiwgaW50ZWxfcGxhbmUpIHsKQEAgLTU3NTEsOSArNTgzMiw2IEBAIHN0YXRpYyB2 b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQllbmNv ZGVyLT5lbmFibGUoZW5jb2Rlcik7CiAKIAlpbnRlbF9jcnRjX2VuYWJsZV9wbGFuZXMoY3J0Yyk7 Ci0KLQkvKiBVbmRlcnJ1bnMgZG9uJ3QgcmFpc2UgaW50ZXJydXB0cywgc28gY2hlY2sgbWFudWFs bHkuICovCi0JaTl4eF9jaGVja19maWZvX3VuZGVycnVucyhkZXZfcHJpdik7CiB9CiAKIHN0YXRp YyB2b2lkIGk5eHhfc2V0X3BsbF9kaXZpZGVycyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKQEAg LTU4MTIsMTkgKzU4OTAsNiBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKIAkJZW5jb2Rlci0+ZW5hYmxlKGVuY29kZXIpOwogCiAJaW50ZWxfY3J0 Y19lbmFibGVfcGxhbmVzKGNydGMpOwotCi0JLyoKLQkgKiBHZW4yIHJlcG9ydHMgcGlwZSB1bmRl cnJ1bnMgd2hlbmV2ZXIgYWxsIHBsYW5lcyBhcmUgZGlzYWJsZWQuCi0JICogU28gZG9uJ3QgZW5h YmxlIHVuZGVycnVuIHJlcG9ydGluZyBiZWZvcmUgYXQgbGVhc3Qgc29tZSBwbGFuZXMKLQkgKiBh cmUgZW5hYmxlZC4KLQkgKiBGSVhNRTogTmVlZCB0byBmaXggdGhlIGxvZ2ljIHRvIHdvcmsgd2hl biB3ZSB0dXJuIG9mZiBhbGwgcGxhbmVzCi0JICogYnV0IGxlYXZlIHRoZSBwaXBlIHJ1bm5pbmcu Ci0JICovCi0JaWYgKElTX0dFTjIoZGV2KSkKLQkJaW50ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVu X3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7Ci0KLQkvKiBVbmRlcnJ1bnMgZG9uJ3Qg cmFpc2UgaW50ZXJydXB0cywgc28gY2hlY2sgbWFudWFsbHkuICovCi0JaTl4eF9jaGVja19maWZv X3VuZGVycnVucyhkZXZfcHJpdik7CiB9CiAKIHN0YXRpYyB2b2lkIGk5eHhfcGZpdF9kaXNhYmxl KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQpAQCAtNTg1MywyNSArNTkxOCw2IEBAIHN0YXRpYyB2 b2lkIGk5eHhfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlpZiAoIWludGVs X2NydGMtPmFjdGl2ZSkKIAkJcmV0dXJuOwogCi0JLyoKLQkgKiBHZW4yIHJlcG9ydHMgcGlwZSB1 bmRlcnJ1bnMgd2hlbmV2ZXIgYWxsIHBsYW5lcyBhcmUgZGlzYWJsZWQuCi0JICogU28gZGlhc2Js ZSB1bmRlcnJ1biByZXBvcnRpbmcgYmVmb3JlIGFsbCB0aGUgcGxhbmVzIGdldCBkaXNhYmxlZC4K LQkgKiBGSVhNRTogTmVlZCB0byBmaXggdGhlIGxvZ2ljIHRvIHdvcmsgd2hlbiB3ZSB0dXJuIG9m ZiBhbGwgcGxhbmVzCi0JICogYnV0IGxlYXZlIHRoZSBwaXBlIHJ1bm5pbmcuCi0JICovCi0JaWYg KElTX0dFTjIoZGV2KSkKLQkJaW50ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhk ZXZfcHJpdiwgcGlwZSwgZmFsc2UpOwotCi0JLyoKLQkgKiBWYmxhbmsgdGltZSB1cGRhdGVzIGZy b20gdGhlIHNoYWRvdyB0byBsaXZlIHBsYW5lIGNvbnRyb2wgcmVnaXN0ZXIKLQkgKiBhcmUgYmxv Y2tlZCBpZiB0aGUgbWVtb3J5IHNlbGYtcmVmcmVzaCBtb2RlIGlzIGFjdGl2ZSBhdCB0aGF0Ci0J ICogbW9tZW50LiBTbyB0byBtYWtlIHN1cmUgdGhlIHBsYW5lIGdldHMgdHJ1bHkgZGlzYWJsZWQs IGRpc2FibGUKLQkgKiBmaXJzdCB0aGUgc2VsZi1yZWZyZXNoIG1vZGUuIFRoZSBzZWxmLXJlZnJl c2ggZW5hYmxlIGJpdCBpbiB0dXJuCi0JICogd2lsbCBiZSBjaGVja2VkL2FwcGxpZWQgYnkgdGhl IEhXIG9ubHkgYXQgdGhlIG5leHQgZnJhbWUgc3RhcnQKLQkgKiBldmVudCB3aGljaCBpcyBhZnRl ciB0aGUgdmJsYW5rIHN0YXJ0IGV2ZW50LCBzbyB3ZSBuZWVkIHRvIGhhdmUgYQotCSAqIHdhaXQt Zm9yLXZibGFuayBiZXR3ZWVuIGRpc2FibGluZyB0aGUgcGxhbmUgYW5kIHRoZSBwaXBlLgotCSAq LwotCWludGVsX3NldF9tZW1vcnlfY3hzcihkZXZfcHJpdiwgZmFsc2UpOwogCWludGVsX2NydGNf ZGlzYWJsZV9wbGFuZXMoY3J0Yyk7CiAKIAkvKgpAQCAtMTI4MjAsNyArMTI4NjYsNyBAQCBzdGF0 aWMgaW50IGludGVsX2NydGNfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQpCiAJ CXBsYW5lX3N0YXRlID0gdG9faW50ZWxfcGxhbmVfc3RhdGUocHJpbWFyeS0+c3RhdGUpOwogCQlp ZiAocmV0ID09IDAgJiYgIXdhc192aXNpYmxlICYmIHBsYW5lX3N0YXRlLT52aXNpYmxlKSB7CiAJ CQlXQVJOX09OKCFpbnRlbF9jcnRjLT5hY3RpdmUpOwotCQkJaW50ZWxfZW5hYmxlX3ByaW1hcnlf aHdfcGxhbmUoc2V0LT5jcnRjLT5wcmltYXJ5LCBzZXQtPmNydGMpOworCQkJaW50ZWxfcG9zdF9l bmFibGVfcHJpbWFyeShzZXQtPmNydGMpOwogCQl9CiAKIAkJLyoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKaW5kZXggY2IwZjI5ZS4uNGM0ODQ1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK QEAgLTEzNzYsOCArMTM3Niw2IEBAIGludCBpbnRlbF9zcHJpdGVfc2V0X2NvbG9ya2V5KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiBib29sIGludGVsX3BpcGVfdXBkYXRlX3N0 YXJ0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkJICAgICB1aW50MzJfdCAqc3RhcnRfdmJs X2NvdW50KTsKIHZvaWQgaW50ZWxfcGlwZV91cGRhdGVfZW5kKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjLCB1MzIgc3RhcnRfdmJsX2NvdW50KTsKLXZvaWQgaW50ZWxfcG9zdF9lbmFibGVfcHJpbWFy eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwotdm9pZCBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5 KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiAKIC8qIGludGVsX3R2LmMgKi8KIHZvaWQgaW50ZWxf dHZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3By aXRlLmMKaW5kZXggNjMxNjQ1NC4uNzQxOWUwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3By aXRlLmMKQEAgLTc5NCw3NCArNzk0LDYgQEAgaWxrX2Rpc2FibGVfcGxhbmUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBmb3JjZSkKIAlpbnRlbF9m bHVzaF9wcmltYXJ5X3BsYW5lKGRldl9wcml2LCBpbnRlbF9jcnRjLT5wbGFuZSk7CiB9CiAKLS8q KgotICogaW50ZWxfcG9zdF9lbmFibGVfcHJpbWFyeSAtIFBlcmZvcm0gb3BlcmF0aW9ucyBhZnRl ciBlbmFibGluZyBwcmltYXJ5IHBsYW5lCi0gKiBAY3J0YzogdGhlIENSVEMgd2hvc2UgcHJpbWFy eSBwbGFuZSB3YXMganVzdCBlbmFibGVkCi0gKgotICogUGVyZm9ybXMgcG90ZW50aWFsbHkgc2xl ZXBpbmcgb3BlcmF0aW9ucyB0aGF0IG11c3QgYmUgZG9uZSBhZnRlciB0aGUgcHJpbWFyeQotICog cGxhbmUgaXMgZW5hYmxlZCwgc3VjaCBhcyB1cGRhdGluZyBGQkMgYW5kIElQUy4gIE5vdGUgdGhh dCB0aGlzIG1heSBiZQotICogY2FsbGVkIGR1ZSB0byBhbiBleHBsaWNpdCBwcmltYXJ5IHBsYW5l IHVwZGF0ZSwgb3IgZHVlIHRvIGFuIGltcGxpY2l0Ci0gKiByZS1lbmFibGUgdGhhdCBpcyBjYXVz ZWQgd2hlbiBhIHNwcml0ZSBwbGFuZSBpcyB1cGRhdGVkIHRvIG5vIGxvbmdlcgotICogY29tcGxl dGVseSBoaWRlIHRoZSBwcmltYXJ5IHBsYW5lLgotICovCi12b2lkCi1pbnRlbF9wb3N0X2VuYWJs ZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKLXsKLQlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+ZGV2OwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKLQotCS8qCi0JICogQkRXIHNpZ25hbHMgZmxpcCBkb25lIGltbWVkaWF0 ZWx5IGlmIHRoZSBwbGFuZQotCSAqIGlzIGRpc2FibGVkLCBldmVuIGlmIHRoZSBwbGFuZSBlbmFi bGUgaXMgYWxyZWFkeQotCSAqIGFybWVkIHRvIG9jY3VyIGF0IHRoZSBuZXh0IHZibGFuayA6KAot CSAqLwotCWlmIChJU19CUk9BRFdFTEwoZGV2KSkKLQkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRl diwgaW50ZWxfY3J0Yy0+cGlwZSk7Ci0KLQkvKgotCSAqIEZJWE1FIElQUyBzaG91bGQgYmUgZmlu ZSBhcyBsb25nIGFzIG9uZSBwbGFuZSBpcwotCSAqIGVuYWJsZWQsIGJ1dCBpbiBwcmFjdGljZSBp dCBzZWVtcyB0byBoYXZlIHByb2JsZW1zCi0JICogd2hlbiBnb2luZyBmcm9tIHByaW1hcnkgb25s eSB0byBzcHJpdGUgb25seSBhbmQgdmljZQotCSAqIHZlcnNhLgotCSAqLwotCWhzd19lbmFibGVf aXBzKGludGVsX2NydGMpOwotCi0JbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCWlu dGVsX2ZiY191cGRhdGUoZGV2KTsKLQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsK LX0KLQotLyoqCi0gKiBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5IC0gUGVyZm9ybSBvcGVyYXRp b25zIGJlZm9yZSBkaXNhYmxpbmcgcHJpbWFyeSBwbGFuZQotICogQGNydGM6IHRoZSBDUlRDIHdo b3NlIHByaW1hcnkgcGxhbmUgaXMgdG8gYmUgZGlzYWJsZWQKLSAqCi0gKiBQZXJmb3JtcyBwb3Rl bnRpYWxseSBzbGVlcGluZyBvcGVyYXRpb25zIHRoYXQgbXVzdCBiZSBkb25lIGJlZm9yZSB0aGUK LSAqIHByaW1hcnkgcGxhbmUgaXMgZGlzYWJsZWQsIHN1Y2ggYXMgdXBkYXRpbmcgRkJDIGFuZCBJ UFMuICBOb3RlIHRoYXQgdGhpcyBtYXkKLSAqIGJlIGNhbGxlZCBkdWUgdG8gYW4gZXhwbGljaXQg cHJpbWFyeSBwbGFuZSB1cGRhdGUsIG9yIGR1ZSB0byBhbiBpbXBsaWNpdAotICogZGlzYWJsZSB0 aGF0IGlzIGNhdXNlZCB3aGVuIGEgc3ByaXRlIHBsYW5lIGNvbXBsZXRlbHkgaGlkZXMgdGhlIHBy aW1hcnkKLSAqIHBsYW5lLgotICovCi12b2lkCi1pbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKLXsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMp OwotCi0JbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCWlmIChkZXZfcHJpdi0+ZmJj LmNydGMgPT0gaW50ZWxfY3J0YykKLQkJaW50ZWxfZmJjX2Rpc2FibGUoZGV2KTsKLQltdXRleF91 bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQotCS8qCi0JICogRklYTUUgSVBTIHNob3VsZCBi ZSBmaW5lIGFzIGxvbmcgYXMgb25lIHBsYW5lIGlzCi0JICogZW5hYmxlZCwgYnV0IGluIHByYWN0 aWNlIGl0IHNlZW1zIHRvIGhhdmUgcHJvYmxlbXMKLQkgKiB3aGVuIGdvaW5nIGZyb20gcHJpbWFy eSBvbmx5IHRvIHNwcml0ZSBvbmx5IGFuZCB2aWNlCi0JICogdmVyc2EuCi0JICovCi0JaHN3X2Rp c2FibGVfaXBzKGludGVsX2NydGMpOwotfQotCiBzdGF0aWMgaW50CiBpbnRlbF9jaGVja19zcHJp dGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkgc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICpzdGF0ZSkKLS0gCjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=