From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 2/4] efi/libstub: detect panel-id Date: Sun, 30 Jun 2019 13:36:06 -0700 Message-ID: <20190630203614.5290-3-robdclark@gmail.com> References: <20190630203614.5290-1-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190630203614.5290-1-robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Rob Clark , aarch64-laptops-cunTk1MwBs8s++Sfvej+rw@public.gmane.org, Julien Thierry , linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Ard Biesheuvel , Will Deacon , Steve Capper , Alexander Graf , Leif Lindholm , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Lukas Wunner , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Ingo Molnar List-Id: dri-devel@lists.freedesktop.org RnJvbTogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21pdW0ub3JnPgoKT24gc25hcGRyYWdvbiBh YXJjaDY0IGxhcHRvcHMsIGEgJ1VFRklEaXNwbGF5SW5mbycgdmFyaWFibGUgaXMgcHJvdmlkZWQK dG8gY29tbXVuaWNhdGUgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGlzcGxheS4gIENydXRp YWxseSBpdCBoYXMgdGhlCnBhbmVsLWlkLCBzbyB0aGUgYXBwcm9wcmlhdGUgcGFuZWwgZHJpdmVy IGNhbiBiZSBzZWxlY3RlZC4gIFJlYWQgdGhpcwpvdXQgYW5kIHN0YXNoIGluIC9jaG9zZW4vcGFu ZWwtaWQgc28gdGhhdCBkaXNwbGF5IGRyaXZlciBjYW4gdXNlIGl0IHRvCnBpY2sgdGhlIGFwcHJv cHJpYXRlIHBhbmVsLgoKU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21p dW0ub3JnPgotLS0KIGRyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIvYXJtLXN0dWIuYyB8IDQ5 ICsrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIv ZWZpc3R1Yi5oICB8ICAyICsKIGRyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIvZmR0LmMgICAg ICB8ICA5ICsrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJzdHViL2FybS1zdHViLmMgYi9kcml2ZXJzL2Zp cm13YXJlL2VmaS9saWJzdHViL2FybS1zdHViLmMKaW5kZXggMDRlNmVjZDcyY2Q5Li45OTk4MTMy NTJlMGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIvYXJtLXN0dWIu YworKysgYi9kcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJzdHViL2FybS1zdHViLmMKQEAgLTY5LDYg KzY5LDUzIEBAIHN0YXRpYyBzdHJ1Y3Qgc2NyZWVuX2luZm8gKnNldHVwX2dyYXBoaWNzKGVmaV9z eXN0ZW1fdGFibGVfdCAqc3lzX3RhYmxlX2FyZykKIAlyZXR1cm4gc2k7CiB9CiAKKy8qCisgKiBX ZSAoYXQgbGVhc3QgY3VycmVudGx5KSBkb24ndCBjYXJlIGFib3V0IG1vc3Qgb2YgdGhlIGZpZWxk cywganVzdAorICogcGFuZWxfaWQ6CisgKi8KK3N0cnVjdCBtZHBfZGlzcF9pbmZvIHsKKwl1MzIg dmVyc2lvbl9pbmZvOworCXUzMiBwYWQwWzldOworCXUzMiBwYW5lbF9pZDsKKwl1MzIgcGFkMVsx N107Cit9OworCisjZGVmaW5lIE1EUF9ESVNQX0lORk9fVkVSU0lPTl9NQUdJQyAweGFhCisKK3N0 YXRpYyB2b2lkIGdldF9wYW5lbF9pZChlZmlfc3lzdGVtX3RhYmxlX3QgKnN5c190YWJsZV9hcmcs CisJCQkgdW5zaWduZWQgbG9uZyBmZHRfYWRkcikKK3sKKwllZmlfZ3VpZF90IGdvcF9wcm90byA9 IEVGSV9HUkFQSElDU19PVVRQVVRfUFJPVE9DT0xfR1VJRDsKKwllZmlfc3RhdHVzX3Qgc3RhdHVz OworCXN0cnVjdCBtZHBfZGlzcF9pbmZvICpkaXNwX2luZm87CisJdW5zaWduZWQgbG9uZyBzaXpl ID0gMDsKKworCXN0YXR1cyA9IGVmaV9jYWxsX3J1bnRpbWUoZ2V0X3ZhcmlhYmxlLCBMIlVFRklE aXNwbGF5SW5mbyIsCisJCQkJICAmZ29wX3Byb3RvLCBOVUxMLCAmc2l6ZSwgTlVMTCk7CisJaWYg KHN0YXR1cyA9PSBFRklfTk9UX0ZPVU5EKQorCQlyZXR1cm47CisKKwlzdGF0dXMgPSBlZmlfY2Fs bF9lYXJseShhbGxvY2F0ZV9wb29sLCBFRklfTE9BREVSX0RBVEEsIHNpemUsCisJCQkJKHZvaWQg KiopJmRpc3BfaW5mbyk7CisJaWYgKHN0YXR1cyAhPSBFRklfU1VDQ0VTUykKKwkJcmV0dXJuOwor CisJc3RhdHVzID0gZWZpX2NhbGxfcnVudGltZShnZXRfdmFyaWFibGUsIEwiVUVGSURpc3BsYXlJ bmZvIiwKKwkJCQkgICZnb3BfcHJvdG8sIE5VTEwsICZzaXplLCBkaXNwX2luZm8pOworCWlmIChz dGF0dXMgIT0gRUZJX1NVQ0NFU1MpCisJCWdvdG8gY2xlYW51cDsKKworCWlmICgoZGlzcF9pbmZv LT52ZXJzaW9uX2luZm8gPj4gMTYpICE9IE1EUF9ESVNQX0lORk9fVkVSU0lPTl9NQUdJQykKKwkJ Z290byBjbGVhbnVwOworCisJZWZpX3ByaW50ayhzeXNfdGFibGVfYXJnLCAiZm91bmQgYSBwYW5l bC1pZCFcbiIpOworCisJc2V0X2Nob3Nlbl9wYW5lbF9pZChmZHRfYWRkciwgZGlzcF9pbmZvLT5w YW5lbF9pZCk7CisKK2NsZWFudXA6CisJZWZpX2NhbGxfZWFybHkoZnJlZV9wb29sLCBkaXNwX2lu Zm8pOworfQorCiB2b2lkIGluc3RhbGxfbWVtcmVzZXJ2ZV90YWJsZShlZmlfc3lzdGVtX3RhYmxl X3QgKnN5c190YWJsZV9hcmcpCiB7CiAJc3RydWN0IGxpbnV4X2VmaV9tZW1yZXNlcnZlICpyc3Y7 CkBAIC0yMjksNiArMjc2LDggQEAgdW5zaWduZWQgbG9uZyBlZmlfZW50cnkodm9pZCAqaGFuZGxl LCBlZmlfc3lzdGVtX3RhYmxlX3QgKnN5c190YWJsZSwKIAlpZiAoIWZkdF9hZGRyKQogCQlwcl9l Zmkoc3lzX3RhYmxlLCAiR2VuZXJhdGluZyBlbXB0eSBEVEJcbiIpOwogCisJZ2V0X3BhbmVsX2lk KHN5c190YWJsZSwgZmR0X2FkZHIpOworCiAJc3RhdHVzID0gaGFuZGxlX2NtZGxpbmVfZmlsZXMo c3lzX3RhYmxlLCBpbWFnZSwgY21kbGluZV9wdHIsICJpbml0cmQ9IiwKIAkJCQkgICAgICBlZmlf Z2V0X21heF9pbml0cmRfYWRkcihkcmFtX2Jhc2UsCiAJCQkJCQkJICAgICAgKmltYWdlX2FkZHIp LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9lZmkvbGlic3R1Yi9lZmlzdHViLmggYi9k cml2ZXJzL2Zpcm13YXJlL2VmaS9saWJzdHViL2VmaXN0dWIuaAppbmRleCAxYjFkZmNhYTZmYjku Ljg4MzJjYjlhN2E0MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9lZmkvbGlic3R1Yi9l ZmlzdHViLmgKKysrIGIvZHJpdmVycy9maXJtd2FyZS9lZmkvbGlic3R1Yi9lZmlzdHViLmgKQEAg LTM5LDYgKzM5LDggQEAgdm9pZCBlZmlfY2hhcjE2X3ByaW50ayhlZmlfc3lzdGVtX3RhYmxlX3Qg KiwgZWZpX2NoYXIxNl90ICopOwogCiB1bnNpZ25lZCBsb25nIGdldF9kcmFtX2Jhc2UoZWZpX3N5 c3RlbV90YWJsZV90ICpzeXNfdGFibGVfYXJnKTsKIAordm9pZCBzZXRfY2hvc2VuX3BhbmVsX2lk KHVuc2lnbmVkIGxvbmcgZmR0X2FkZHIsIHVuc2lnbmVkIHBhbmVsX2lkKTsKKwogZWZpX3N0YXR1 c190IGFsbG9jYXRlX25ld19mZHRfYW5kX2V4aXRfYm9vdChlZmlfc3lzdGVtX3RhYmxlX3QgKnN5 c190YWJsZSwKIAkJCQkJICAgIHZvaWQgKmhhbmRsZSwKIAkJCQkJICAgIHVuc2lnbmVkIGxvbmcg Km5ld19mZHRfYWRkciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIv ZmR0LmMgYi9kcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJzdHViL2ZkdC5jCmluZGV4IDU0NDBiYTE3 YTFjNS4uY2I2ZWExNjBhNDBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJz dHViL2ZkdC5jCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIvZmR0LmMKQEAgLTIw MCw2ICsyMDAsMTUgQEAgc3RhdGljIGVmaV9zdGF0dXNfdCB1cGRhdGVfZmR0X21lbW1hcCh2b2lk ICpmZHQsIHN0cnVjdCBlZmlfYm9vdF9tZW1tYXAgKm1hcCkKIAlyZXR1cm4gRUZJX1NVQ0NFU1M7 CiB9CiAKK3ZvaWQgc2V0X2Nob3Nlbl9wYW5lbF9pZCh1bnNpZ25lZCBsb25nIGZkdF9hZGRyLCB1 bnNpZ25lZCBwYW5lbF9pZCkKK3sKKwl2b2lkICpmZHQgPSAodm9pZCAqKWZkdF9hZGRyOworCWlu dCBub2RlID0gZmR0X3N1Ym5vZGVfb2Zmc2V0KGZkdCwgMCwgImNob3NlbiIpOworCXUzMiBmZHRf dmFsMzIgPSBjcHVfdG9fZmR0MzIocGFuZWxfaWQpOworCisJZmR0X3NldHByb3BfdmFyKGZkdCwg bm9kZSwgInBhbmVsLWlkIiwgZmR0X3ZhbDMyKTsKK30KKwogI2lmbmRlZiBFRklfRkRUX0FMSUdO CiAjIGRlZmluZSBFRklfRkRUX0FMSUdOIEVGSV9QQUdFX1NJWkUKICNlbmRpZgotLSAKMi4yMC4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJl bm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8=