From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 30.1/49] drm/i915/bxt: add display initialize/uninitialize sequence (PHY) Date: Wed, 15 Apr 2015 16:42:57 +0300 Message-ID: <1429105378-12535-2-git-send-email-imre.deak@intel.com> References: <1429105378-12535-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 3AE517202B for ; Wed, 15 Apr 2015 06:43:02 -0700 (PDT) In-Reply-To: <1429105378-12535-1-git-send-email-imre.deak@intel.com> In-Reply-To: <1426585215-8788-31-git-send-email-imre.deak@intel.com> References: <1426585215-8788-31-git-send-email-imre.deak@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 RnJvbTogVmFuZGFuYSBLYW5uYW4gPHZhbmRhbmEua2FubmFuQGludGVsLmNvbT4KCkFkZCBQSFkg c3BlY2lmaWMgZGlzcGxheSBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSBhcyBwZXIgQlNwZWMuCgpO b3RlIHRoYXQgdGhlIFBIWSBpbml0aWFsaXphdGlvbi91bmluaXRpYWxpemF0aW9uIGFyZSBkb25l CmF0IHRoZWlyIGN1cnJlbnQgcGxhY2Ugb25seSBmb3Igc2ltcGxpY2l0eSwgaW4gYSBmdXR1cmUg cGF0Y2ggLSB3aGVuIG1vcmUKb2YgdGhlIHJ1bnRpbWUgUE0gZmVhdHVyZXMgd2lsbCBiZSBlbmFi bGVkIC0gdGhlc2Ugd2lsbCBiZSBtb3ZlZCB0bwpwb3dlciB3ZWxsIzEgYW5kIG1vZGVzZXQgZW5j b2RlciBlbmFibGluZy9kaXNhYmxpbmcgaG9va3MgcmVzcGVjdGl2ZWx5LgoKVGhlIGNhbGwgdG8g dW5pbml0aWFsaXplIHRoZSBQSFkgZHVyaW5nIHN5c3RlbS9ydW50aW1lIHN1c3BlbmQgd2lsbCBi ZQphZGRlZCBsYXRlciBpbiB0aGlzIHBhdGNoc2V0LgoKdjE6IEFkZGVkIGZ1bmN0aW9uIGRlZmlu aXRpb25zIGluIGhlYWRlciBmaWxlcwp2MjogSW1yZSdzIHJldmlldyBjb21tZW50cyBhZGRyZXNz ZWQKLSBNb3ZlZCBDRENMSyByZWxhdGVkIGRlZmluaXRpb25zIHRvIGk5MTVfcmVnLmgKLSBSZW1v dmVkIGRlZmludGlvbnMgZm9yIENEQ0xLIGZyZXF1ZW5jeQotIFNwbGl0IHVuaW5pdF9jZGNsaygp IGJ5IGFkZGluZyBhIHBoeV91bmluaXQgZnVuY3Rpb24KLSBDYWxjdWxhdGUgZnJlcSBhbmQgZGVj aW1hbCBiYXNlZCBvbiBpbnB1dCBmcmVxdWVuY3kKLSBQcm9ncmFtIFNTQSBwcmVjaGFyZ2UgYmFz ZWQgb24gaW5wdXQgZnJlcXVlbmN5Ci0gVXNlIHdhaXRfZm9yIDFtcyBpbnN0ZWFkIDIwMHVzIHVk ZWxheSBmb3IgREUgUExMIGxvY2tpbmcKLSBSZW1vdmVkIGluaXRpYWwgdmFsdWUgZm9yIGRpdmlk ZXIsIGZyZXEsIGRlY2ltYWwsIHJhdGlvLgotIFJlcGxhY2VkIHBvbGxpbmcgbG9vcHMgd2l0aCB3 YWl0X2ZvcgotIFBhcmFtZXRlcml6ZWQgbGF0ZW5jeSBvcHRpbSBzZXR0aW5nCi0gRml4IHRoZSBw YXJ0cyB3aGVyZSBERSBQTEwgaGFzIHRvIGJlIGRpc2FibGVkLgotIENhbGwgQ0RDTEsgc2VsZWN0 aW9uIGZyb20gbW9kZSBzZXQKCnYzOiAoaW1yZSkKLSBhZGQgbm90ZSBhYm91dCB0aGUgcGxhbiB0 byBtb3ZlIHRoZSBjZGNsay9waHkgaW5pdCB0byBhIGJldHRlciBwbGFjZQotIHRha2UgcnBzLmh3 X2xvY2sgYXJvdW5kIHBjb2RlIGFjY2VzcwotIGZpeCBEREkgUEhZIHRpbWVvdXQgdmFsdWUKLSBz cXVhc2ggaW4gVmFuZGFuYSdzICJQT1JUX0NMMkNNX0RXNl9BIEJVTiBmaXgiLAogICJEREkgUEhZ IHByb2dyYW1taW5nIHJlZ2lzdGVyIGRlZm4iLCAiRG8gZGRpX3BoeV9pbml0IGFsd2F5cyIsCi0g bW92ZSBQSFkgcmVnaXN0ZXIgbWFjcm9zIG5leHQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgQ0hWL1ZM ViBtYWNyb3MKLSBtb3ZlIERFIFBMTCByZWdpc3RlciBtYWNyb3MgaGVyZSBmcm9tIGFub3RoZXIg cGF0Y2ggc2luY2UgdGhleSBhcmUKICB1c2VkIGhlcmUgZmlyc3QKLSBhZGQgQlhUXyBwcmVmaXgg dG8gQ0RDTEsgZmxhZ3MKLSBzL0NPTU1PTl9SRVNFVC9DT01NT05fUkVTRVRfRElTLyBhbmQgY2xh cmlmeSByZWxhdGVkIGNvZGUgY29tbWVudHMKLSBmaXggaW5jb3JyZWN0IHJlYWQgdmFsdWUgZm9y IHRoZSBSTVcgb2YgQlhUX1BIWV9DVExfRkFNSUxZX0RESQotIGZpeCB1c2luZyBHVF9ESVNQTEFZ X0VEUF9QT1dFUl9PTiB2cy4gR1RfRElTUExBWV9ERElfUE9XRVJfT04KICB3aGVuIHBvd2VyaW5n IG9uIERESSBwb3J0cwotIGZpeCBpbmNvcnJlY3QgcG9ydCB3aGVuIHNldHRpbmcgQlhUX1BPUlRf VFhfRFcxNF9MTiBmb3IgRERJIHBvcnRzCi0gYWRkIG1pc3NpbmcgbWFza2luZyB3aGVuIHByb2dy YW1taW5nIENEQ0xLX0ZSRVFfREVDSU1BTAotIGFkZCBtaXNzaW5nIHBvd2VyaW5nIG9uIGZvciBE REktQyBwb3J0LCByZW5hbWUgT0NMMl9MRE9GVVNFX1BXUl9FTgogIHRvIE9DTDJfTERPRlVTRV9Q V1JfRElTIHRvIHJlZHVjZSBjb25mdXNpb24KLSBhZGQgbm90ZSBhYm91dCBtaXNtYXRjaCB3aXRo IGJzcGVjIGluIHRoZSBQT1JUX1JFRl9EVzYgZmllbGRzCi0gZmFjdG9yIG91dCBQSFkgaW5pdCBj b2RlIHRvIGEgbmV3IGZ1bmN0aW9uLCBzbyB3ZSBjYW4gY2FsbCBpdCBmb3IKICBQSFkxIGFuZCBQ SFkwLCBpbnN0ZWFkIG9mIG9wZW4tY29kaW5nIHRoZSBzYW1lCgp2NDogKHZpbGxlKQotIHNwbGl0 IHRoZSBDRENMSy9QSFkgcGFydHMgaW50byB0d28gcGF0Y2hlcywgdXBkYXRlIGNvbW1pdCBtZXNz YWdlCiAgYWNjb3JkaW5nbHkKLSB1c2UgdGhlIGV4aXN0aW5nIGRwaW9fcGh5IGVudW0gaW5zdGVh ZCBvZiBhZGRpbmcgYSBuZXcgb25lIGZvciB0aGUKICBzYW1lIHB1cnBvc2UKLSBmbGlwIHRoZSBt ZWFuaW5nIG9mIFBIWXMgc28gdGhhdCBQSFlfQSBpcyBQSFkxIGFuZCBQSFlfQkMgaXMgUEhZMCB0 bwogIGJldHRlciBtYXRjaCBDSFYKLSBzL0JYVF9QSFkvX0JYVF9QSFkvCi0gdXNlIF9QSVBFIGZv ciBfQlhUX1BIWSBpbnN0ZWFkIG9mIG9wZW4tY29kaW5nIGl0Ci0gZHJvcCBfMF8yXzBfR1RUTU1B RFIgc3VmZml4IGZyb20gQlhUX1BfQ1JfR1RfRElTUF9QV1JPTgotIGRlZmluZSBHVF9ESVNQTEFZ X1BPV0VSX09OIGluIGEgbW9yZSBzdGFuZGFyZCB3YXkKLSBtYWtlIGEgbm90ZSB0aGF0IHRoZSBD SFYgQ29uZmlnREIgYWxzbyBkaXNhZ3JlZXMgYWJvdXQgR1JDX0NPREUgZmllbGQKICBkZWZpbml0 aW9ucwotIGZpeCBsYW5lIG9wdGltaXphdGlvbiByZWZhY3RvcmluZyBmdW1ibGUgZnJvbSB2Mwot IGFkZCBwZXIgUEhZIHVuaW5pdCBmdW5jdGlvbnMgdG8gbWF0Y2ggdGhlIGluaXQgY291bnRlcnBh cnRzCgpTaWduZWQtb2ZmLWJ5OiBWYW5kYW5hIEthbm5hbiA8dmFuZGFuYS5rYW5uYW5AaW50ZWwu Y29tPiAodjIpClNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICB8ICA5NiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIHwgMTI1 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggfCAgIDIgKwogMyBmaWxlcyBjaGFuZ2VkLCAyMjMgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IGM3OWJmOGQuLjE5MDNlMzcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtMTExNyw2ICsxMTE3LDEwMiBAQCBlbnVtIHNrbF9kaXNw X3Bvd2VyX3dlbGxzIHsKICNkZWZpbmUgICBEUElPX0ZSQ19MQVRFTkNZX1NIRklUCTgKICNkZWZp bmUgQ0hWX1RYX0RXMTQoY2gsIGxhbmUpIF9UWExBTkUoY2gsIGxhbmUsIDB4YjgpCiAjZGVmaW5l ICAgRFBJT19VUEFSX1NISUZUCQkzMAorCisvKiBCWFQgUEhZIHJlZ2lzdGVycyAqLworI2RlZmlu ZSBfQlhUX1BIWShwaHksIGEsIGIpCQlfUElQRSgocGh5KSwgKGEpLCAoYikpCisKKyNkZWZpbmUg QlhUX1BfQ1JfR1RfRElTUF9QV1JPTgkJMHgxMzgwOTAKKyNkZWZpbmUgICBHVF9ESVNQTEFZX1BP V0VSX09OKHBoeSkJKDEgPDwgKHBoeSkpCisKKyNkZWZpbmUgX1BIWV9DVExfRkFNSUxZX0VEUAkJ MHg2NEM4MAorI2RlZmluZSBfUEhZX0NUTF9GQU1JTFlfRERJCQkweDY0QzkwCisjZGVmaW5lICAg Q09NTU9OX1JFU0VUX0RJUwkJKDEgPDwgMzEpCisjZGVmaW5lIEJYVF9QSFlfQ1RMX0ZBTUlMWShw aHkpCQlfQlhUX1BIWSgocGh5KSwgX1BIWV9DVExfRkFNSUxZX0RESSwgXAorCQkJCQkJCV9QSFlf Q1RMX0ZBTUlMWV9FRFApCisKKy8qIEJYVCBQSFkgY29tbW9uIGxhbmUgcmVnaXN0ZXJzICovCisj ZGVmaW5lIF9QT1JUX0NMMUNNX0RXMF9BCQkweDE2MjAwMAorI2RlZmluZSBfUE9SVF9DTDFDTV9E VzBfQkMJCTB4NkMwMDAKKyNkZWZpbmUgICBQSFlfUE9XRVJfR09PRAkJKDEgPDwgMTYpCisjZGVm aW5lIEJYVF9QT1JUX0NMMUNNX0RXMChwaHkpCQlfQlhUX1BIWSgocGh5KSwgX1BPUlRfQ0wxQ01f RFcwX0JDLCBcCisJCQkJCQkJX1BPUlRfQ0wxQ01fRFcwX0EpCisKKyNkZWZpbmUgX1BPUlRfQ0wx Q01fRFc5X0EJCTB4MTYyMDI0CisjZGVmaW5lIF9QT1JUX0NMMUNNX0RXOV9CQwkJMHg2QzAyNAor I2RlZmluZSAgIElSRUYwUkNfT0ZGU0VUX1NISUZUCQk4CisjZGVmaW5lICAgSVJFRjBSQ19PRkZT RVRfTUFTSwkJKDB4RkYgPDwgSVJFRjBSQ19PRkZTRVRfU0hJRlQpCisjZGVmaW5lIEJYVF9QT1JU X0NMMUNNX0RXOShwaHkpCQlfQlhUX1BIWSgocGh5KSwgX1BPUlRfQ0wxQ01fRFc5X0JDLCBcCisJ CQkJCQkJX1BPUlRfQ0wxQ01fRFc5X0EpCisKKyNkZWZpbmUgX1BPUlRfQ0wxQ01fRFcxMF9BCQkw eDE2MjAyOAorI2RlZmluZSBfUE9SVF9DTDFDTV9EVzEwX0JDCQkweDZDMDI4CisjZGVmaW5lICAg SVJFRjFSQ19PRkZTRVRfU0hJRlQJCTgKKyNkZWZpbmUgICBJUkVGMVJDX09GRlNFVF9NQVNLCQko MHhGRiA8PCBJUkVGMVJDX09GRlNFVF9TSElGVCkKKyNkZWZpbmUgQlhUX1BPUlRfQ0wxQ01fRFcx MChwaHkpCV9CWFRfUEhZKChwaHkpLCBfUE9SVF9DTDFDTV9EVzEwX0JDLCBcCisJCQkJCQkJX1BP UlRfQ0wxQ01fRFcxMF9BKQorCisjZGVmaW5lIF9QT1JUX0NMMUNNX0RXMjhfQQkJMHgxNjIwNzAK KyNkZWZpbmUgX1BPUlRfQ0wxQ01fRFcyOF9CQwkJMHg2QzA3MAorI2RlZmluZSAgIE9DTDFfUE9X RVJfRE9XTl9FTgkJKDEgPDwgMjMpCisjZGVmaW5lICAgRFcyOF9PTERPX0RZTl9QV1JfRE9XTl9F TgkoMSA8PCAyMikKKyNkZWZpbmUgICBTVVNfQ0xLX0NPTkZJRwkJMHgzCisjZGVmaW5lIEJYVF9Q T1JUX0NMMUNNX0RXMjgocGh5KQlfQlhUX1BIWSgocGh5KSwgX1BPUlRfQ0wxQ01fRFcyOF9CQywg XAorCQkJCQkJCV9QT1JUX0NMMUNNX0RXMjhfQSkKKworI2RlZmluZSBfUE9SVF9DTDFDTV9EVzMw X0EJCTB4MTYyMDc4CisjZGVmaW5lIF9QT1JUX0NMMUNNX0RXMzBfQkMJCTB4NkMwNzgKKyNkZWZp bmUgICBPQ0wyX0xET0ZVU0VfUFdSX0RJUwkJKDEgPDwgNikKKyNkZWZpbmUgQlhUX1BPUlRfQ0wx Q01fRFczMChwaHkpCV9CWFRfUEhZKChwaHkpLCBfUE9SVF9DTDFDTV9EVzMwX0JDLCBcCisJCQkJ CQkJX1BPUlRfQ0wxQ01fRFczMF9BKQorCisvKiBEZWZpbmVkIGZvciBQSFkwIG9ubHkgKi8KKyNk ZWZpbmUgQlhUX1BPUlRfQ0wyQ01fRFc2X0JDCQkweDZDMzU4CisjZGVmaW5lICAgRFc2X09MRE9f RFlOX1BXUl9ET1dOX0VOCSgxIDw8IDI4KQorCisvKiBCWFQgUEhZIFJlZiByZWdpc3RlcnMgKi8K KyNkZWZpbmUgX1BPUlRfUkVGX0RXM19BCQkJMHgxNjIxOEMKKyNkZWZpbmUgX1BPUlRfUkVGX0RX M19CQwkJMHg2QzE4QworI2RlZmluZSAgIEdSQ19ET05FCQkJKDEgPDwgMjIpCisjZGVmaW5lIEJY VF9QT1JUX1JFRl9EVzMocGh5KQkJX0JYVF9QSFkoKHBoeSksIF9QT1JUX1JFRl9EVzNfQkMsIFwK KwkJCQkJCQlfUE9SVF9SRUZfRFczX0EpCisKKyNkZWZpbmUgX1BPUlRfUkVGX0RXNl9BCQkJMHgx NjIxOTgKKyNkZWZpbmUgX1BPUlRfUkVGX0RXNl9CQwkJMHg2QzE5OAorLyoKKyAqIEZJWE1FOiBC U3BlYy9DSFYgQ29uZmlnREIgZGlzYWdyZWVzIG9uIHRoZSBmb2xsb3dpbmcgdHdvIGZpZWxkcywg Zml4IHRoZW0KKyAqIGFmdGVyIHRlc3RpbmcuCisgKi8KKyNkZWZpbmUgICBHUkNfQ09ERV9TSElG VAkJMjMKKyNkZWZpbmUgICBHUkNfQ09ERV9NQVNLCQkJKDB4MUZGIDw8IEdSQ19DT0RFX1NISUZU KQorI2RlZmluZSAgIEdSQ19DT0RFX0ZBU1RfU0hJRlQJCTE2CisjZGVmaW5lICAgR1JDX0NPREVf RkFTVF9NQVNLCQkoMHg3RiA8PCBHUkNfQ09ERV9GQVNUX1NISUZUKQorI2RlZmluZSAgIEdSQ19D T0RFX1NMT1dfU0hJRlQJCTgKKyNkZWZpbmUgICBHUkNfQ09ERV9TTE9XX01BU0sJCSgweEZGIDw8 IEdSQ19DT0RFX1NMT1dfU0hJRlQpCisjZGVmaW5lICAgR1JDX0NPREVfTk9NX01BU0sJCTB4RkYK KyNkZWZpbmUgQlhUX1BPUlRfUkVGX0RXNihwaHkpCQlfQlhUX1BIWSgocGh5KSwgX1BPUlRfUkVG X0RXNl9CQywJXAorCQkJCQkJICAgICAgX1BPUlRfUkVGX0RXNl9BKQorCisjZGVmaW5lIF9QT1JU X1JFRl9EVzhfQQkJCTB4MTYyMUEwCisjZGVmaW5lIF9QT1JUX1JFRl9EVzhfQkMJCTB4NkMxQTAK KyNkZWZpbmUgICBHUkNfRElTCQkJKDEgPDwgMTUpCisjZGVmaW5lICAgR1JDX1JEWV9PVlJECQkJ KDEgPDwgMSkKKyNkZWZpbmUgQlhUX1BPUlRfUkVGX0RXOChwaHkpCQlfQlhUX1BIWSgocGh5KSwg X1BPUlRfUkVGX0RXOF9CQywJXAorCQkJCQkJICAgICAgX1BPUlRfUkVGX0RXOF9BKQorCisvKiBC WFQgUEhZIFRYIHJlZ2lzdGVycyAqLworI2RlZmluZSBfQlhUX0xBTkVfT0ZGU0VUKGxhbmUpICAg ICAgICAgICAoKChsYW5lKSA+PiAxKSAqIDB4MjAwICsJXAorCQkJCQkgICgobGFuZSkgJiAxKSAq IDB4ODApCisKKyNkZWZpbmUgX1BPUlRfVFhfRFcxNF9MTjBfQQkJMHgxNjI1MzgKKyNkZWZpbmUg X1BPUlRfVFhfRFcxNF9MTjBfQgkJMHg2QzUzOAorI2RlZmluZSBfUE9SVF9UWF9EVzE0X0xOMF9D CQkweDZDOTM4CisjZGVmaW5lICAgTEFURU5DWV9PUFRJTV9TSElGVAkJMzAKKyNkZWZpbmUgICBM QVRFTkNZX09QVElNCQkJKDEgPDwgTEFURU5DWV9PUFRJTV9TSElGVCkKKyNkZWZpbmUgQlhUX1BP UlRfVFhfRFcxNF9MTihwb3J0LCBsYW5lKQkoX1BPUlQzKChwb3J0KSwgX1BPUlRfVFhfRFcxNF9M TjBfQSwgICBcCisJCQkJCQkJX1BPUlRfVFhfRFcxNF9MTjBfQiwgICBcCisJCQkJCQkJX1BPUlRf VFhfRFcxNF9MTjBfQykgKyBcCisJCQkJCSBfQlhUX0xBTkVfT0ZGU0VUKGxhbmUpKQorCiAvKgog ICogRmVuY2UgcmVnaXN0ZXJzCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5kZXggMjVk Njk3Yi4uMzFjYWRiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTE4NjQsNiArMTg2 NCwxMzAgQEAgc3RhdGljIHZvaWQgc2tsX3NoYXJlZF9kcGxsc19pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAl9CiB9CiAKK3N0YXRpYyB2b2lkIGJyb3h0b25fcGh5X2lu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJICAgICBlbnVtIGRwaW9f cGh5IHBoeSkKK3sKKwllbnVtIHBvcnQgcG9ydDsKKwl1aW50MzJfdCB2YWw7CisKKwl2YWwgPSBJ OTE1X1JFQUQoQlhUX1BfQ1JfR1RfRElTUF9QV1JPTik7CisJdmFsIHw9IEdUX0RJU1BMQVlfUE9X RVJfT04ocGh5KTsKKwlJOTE1X1dSSVRFKEJYVF9QX0NSX0dUX0RJU1BfUFdST04sIHZhbCk7CisK KwkvKiBDb25zaWRlcmluZyAxMG1zIHRpbWVvdXQgdW50aWwgQlNwZWMgaXMgdXBkYXRlZCAqLwor CWlmICh3YWl0X2ZvcihJOTE1X1JFQUQoQlhUX1BPUlRfQ0wxQ01fRFcwKHBoeSkpICYgUEhZX1BP V0VSX0dPT0QsIDEwKSkKKwkJRFJNX0VSUk9SKCJ0aW1lb3V0IGR1cmluZyBQSFklZCBwb3dlciBv blxuIiwgcGh5KTsKKworCWZvciAocG9ydCA9ICAocGh5ID09IERQSU9fUEhZMCA/IFBPUlRfQiA6 IFBPUlRfQSk7CisJICAgICBwb3J0IDw9IChwaHkgPT0gRFBJT19QSFkwID8gUE9SVF9DIDogUE9S VF9BKTsgcG9ydCsrKSB7CisJCWludCBsYW5lOworCisJCWZvciAobGFuZSA9IDA7IGxhbmUgPCA0 OyBsYW5lKyspIHsKKwkJCXZhbCA9IEk5MTVfUkVBRChCWFRfUE9SVF9UWF9EVzE0X0xOKHBvcnQs IGxhbmUpKTsKKwkJCS8qCisJCQkgKiBOb3RlIHRoYXQgb24gQ0hWIHRoaXMgZmxhZyBpcyBjYWxs ZWQgVVBBUiwgYnV0IGhhcworCQkJICogdGhlIHNhbWUgZnVuY3Rpb24uCisJCQkgKi8KKwkJCXZh bCAmPSB+TEFURU5DWV9PUFRJTTsKKwkJCWlmIChsYW5lICE9IDEpCisJCQkJdmFsIHw9IExBVEVO Q1lfT1BUSU07CisKKwkJCUk5MTVfV1JJVEUoQlhUX1BPUlRfVFhfRFcxNF9MTihwb3J0LCBsYW5l KSwgdmFsKTsKKwkJfQorCX0KKworCS8qIFByb2dyYW0gUExMIFJjb21wIGNvZGUgb2Zmc2V0ICov CisJdmFsID0gSTkxNV9SRUFEKEJYVF9QT1JUX0NMMUNNX0RXOShwaHkpKTsKKwl2YWwgJj0gfklS RUYwUkNfT0ZGU0VUX01BU0s7CisJdmFsIHw9IDB4RTQgPDwgSVJFRjBSQ19PRkZTRVRfU0hJRlQ7 CisJSTkxNV9XUklURShCWFRfUE9SVF9DTDFDTV9EVzkocGh5KSwgdmFsKTsKKworCXZhbCA9IEk5 MTVfUkVBRChCWFRfUE9SVF9DTDFDTV9EVzEwKHBoeSkpOworCXZhbCAmPSB+SVJFRjFSQ19PRkZT RVRfTUFTSzsKKwl2YWwgfD0gMHhFNCA8PCBJUkVGMVJDX09GRlNFVF9TSElGVDsKKwlJOTE1X1dS SVRFKEJYVF9QT1JUX0NMMUNNX0RXMTAocGh5KSwgdmFsKTsKKworCS8qIFByb2dyYW0gcG93ZXIg Z2F0aW5nICovCisJdmFsID0gSTkxNV9SRUFEKEJYVF9QT1JUX0NMMUNNX0RXMjgocGh5KSk7CisJ dmFsIHw9IE9DTDFfUE9XRVJfRE9XTl9FTiB8IERXMjhfT0xET19EWU5fUFdSX0RPV05fRU4gfAor CQlTVVNfQ0xLX0NPTkZJRzsKKwlJOTE1X1dSSVRFKEJYVF9QT1JUX0NMMUNNX0RXMjgocGh5KSwg dmFsKTsKKworCWlmIChwaHkgPT0gRFBJT19QSFkwKSB7CisJCXZhbCA9IEk5MTVfUkVBRChCWFRf UE9SVF9DTDJDTV9EVzZfQkMpOworCQl2YWwgfD0gRFc2X09MRE9fRFlOX1BXUl9ET1dOX0VOOwor CQlJOTE1X1dSSVRFKEJYVF9QT1JUX0NMMkNNX0RXNl9CQywgdmFsKTsKKwl9CisKKwl2YWwgPSBJ OTE1X1JFQUQoQlhUX1BPUlRfQ0wxQ01fRFczMChwaHkpKTsKKwl2YWwgJj0gfk9DTDJfTERPRlVT RV9QV1JfRElTOworCS8qCisJICogT24gUEhZMSBkaXNhYmxlIHBvd2VyIG9uIHRoZSBzZWNvbmQg Y2hhbm5lbCwgc2luY2Ugbm8gcG9ydCBpcworCSAqIGNvbm5lY3RlZCB0aGVyZS4gT24gUEhZMCBi b3RoIGNoYW5uZWxzIGhhdmUgYSBwb3J0LCBzbyBsZWF2ZSBpdAorCSAqIGVuYWJsZWQuCisJICog VE9ETzogcG9ydCBDIGlzIG9ubHkgY29ubmVjdGVkIG9uIEJYVC1QLCBzbyBvbiBCWFQwLzEgd2Ug c2hvdWxkCisJICogcG93ZXIgZG93biB0aGUgc2Vjb25kIGNoYW5uZWwgb24gUEhZMCBhcyB3ZWxs LgorCSAqLworCWlmIChwaHkgPT0gRFBJT19QSFkxKQorCQl2YWwgfD0gT0NMMl9MRE9GVVNFX1BX Ul9ESVM7CisJSTkxNV9XUklURShCWFRfUE9SVF9DTDFDTV9EVzMwKHBoeSksIHZhbCk7CisKKwlp ZiAocGh5ID09IERQSU9fUEhZMCkgeworCQl1aW50MzJfdCBncmNfY29kZTsKKwkJLyoKKwkJICog UEhZMCBpc24ndCBjb25uZWN0ZWQgdG8gYW4gUkNPTVAgcmVzaXN0b3Igc28gY29weSBvdmVyCisJ CSAqIHRoZSBjb3JyZXNwb25kaW5nIGNhbGlicmF0ZWQgdmFsdWUgZnJvbSBQSFkxLCBhbmQgZGlz YWJsZQorCQkgKiB0aGUgYXV0b21hdGljIGNhbGlicmF0aW9uIG9uIFBIWTAuCisJCSAqLworCQlp ZiAod2FpdF9mb3IoSTkxNV9SRUFEKEJYVF9QT1JUX1JFRl9EVzMoRFBJT19QSFkxKSkgJiBHUkNf RE9ORSwKKwkJCSAgICAgMTApKQorCQkJRFJNX0VSUk9SKCJ0aW1lb3V0IHdhaXRpbmcgZm9yIFBI WTEgR1JDXG4iKTsKKworCQl2YWwgPSBJOTE1X1JFQUQoQlhUX1BPUlRfUkVGX0RXNihEUElPX1BI WTEpKTsKKwkJdmFsID0gKHZhbCAmIEdSQ19DT0RFX01BU0spID4+IEdSQ19DT0RFX1NISUZUOwor CQlncmNfY29kZSA9IHZhbCA8PCBHUkNfQ09ERV9GQVNUX1NISUZUIHwKKwkJCSAgIHZhbCA8PCBH UkNfQ09ERV9TTE9XX1NISUZUIHwKKwkJCSAgIHZhbDsKKwkJSTkxNV9XUklURShCWFRfUE9SVF9S RUZfRFc2KERQSU9fUEhZMCksIGdyY19jb2RlKTsKKworCQl2YWwgPSBJOTE1X1JFQUQoQlhUX1BP UlRfUkVGX0RXOChEUElPX1BIWTApKTsKKwkJdmFsIHw9IEdSQ19ESVMgfCBHUkNfUkRZX09WUkQ7 CisJCUk5MTVfV1JJVEUoQlhUX1BPUlRfUkVGX0RXOChEUElPX1BIWTApLCB2YWwpOworCX0KKwor CXZhbCA9IEk5MTVfUkVBRChCWFRfUEhZX0NUTF9GQU1JTFkocGh5KSk7CisJdmFsIHw9IENPTU1P Tl9SRVNFVF9ESVM7CisJSTkxNV9XUklURShCWFRfUEhZX0NUTF9GQU1JTFkocGh5KSwgdmFsKTsK K30KKwordm9pZCBicm94dG9uX2RkaV9waHlfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQor eworCS8qIEVuYWJsZSBQSFkxIGZpcnN0IHNpbmNlIGl0IHByb3ZpZGVzIFJjb21wIGZvciBQSFkw ICovCisJYnJveHRvbl9waHlfaW5pdChkZXYtPmRldl9wcml2YXRlLCBEUElPX1BIWTEpOworCWJy b3h0b25fcGh5X2luaXQoZGV2LT5kZXZfcHJpdmF0ZSwgRFBJT19QSFkwKTsKK30KKworc3RhdGlj IHZvaWQgYnJveHRvbl9waHlfdW5pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKKwkJCSAgICAgICBlbnVtIGRwaW9fcGh5IHBoeSkKK3sKKwl1aW50MzJfdCB2YWw7CisKKwl2 YWwgPSBJOTE1X1JFQUQoQlhUX1BIWV9DVExfRkFNSUxZKHBoeSkpOworCXZhbCAmPSB+Q09NTU9O X1JFU0VUX0RJUzsKKwlJOTE1X1dSSVRFKEJYVF9QSFlfQ1RMX0ZBTUlMWShwaHkpLCB2YWwpOwor fQorCit2b2lkIGJyb3h0b25fZGRpX3BoeV91bmluaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OworCisJYnJveHRvbl9waHlfdW5pbml0KGRldl9wcml2LCBEUElPX1BIWTEpOworCWJyb3h0b25f cGh5X3VuaW5pdChkZXZfcHJpdiwgRFBJT19QSFkwKTsKKworCS8qIEZJWE1FOiBkbyB0aGlzIGlu IGJyb3h0b25fcGh5X3VuaW5pdCBwZXIgcGh5ICovCisJSTkxNV9XUklURShCWFRfUF9DUl9HVF9E SVNQX1BXUk9OLCAwKTsKK30KKwogdm9pZCBpbnRlbF9kZGlfcGxsX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwpAQCAtMTg4Miw2ICsyMDA2LDcgQEAgdm9pZCBpbnRlbF9kZGlfcGxsX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCURSTV9FUlJPUigiTENQTEwxIGlzIGRpc2Fi bGVkXG4iKTsKIAl9IGVsc2UgaWYgKElTX0JST1hUT04oZGV2KSkgewogCQlicm94dG9uX2luaXRf Y2RjbGsoZGV2KTsKKwkJYnJveHRvbl9kZGlfcGh5X2luaXQoZGV2KTsKIAl9IGVsc2UgewogCQkv KgogCQkgKiBUaGUgTENQTEwgcmVnaXN0ZXIgc2hvdWxkIGJlIHR1cm5lZCBvbiBieSB0aGUgQklP Uy4gRm9yIG5vdwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCA1YmE4OGViLi41MjY2OTg1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTExNSw2ICsxMTE1LDggQEAgdm9pZCBo c3dfZGlzYWJsZV9wYzgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQg YnJveHRvbl9pbml0X2NkY2xrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBicm94dG9u X3VuaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgYnJveHRvbl9zZXRf Y2RjbGsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGZyZXF1ZW5jeSk7Cit2b2lkIGJyb3h0 b25fZGRpX3BoeV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCBicm94dG9uX2Rk aV9waHlfdW5pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBpbnRlbF9kcF9nZXRf bV9uKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcpOwogdm9pZCBpbnRlbF9kcF9zZXRfbV9uKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjLCBlbnVtIGxpbmtfbV9uX3NldCBtX24pOwotLSAKMi4xLjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==