From: Alexandre Courbot Subject: [PATCH 04/15] secboot: start LS firmware in post-run hook Date: Wed, 29 Mar 2017 18:31:12 +0900 Message-ID: <20170329093123.24656-5-acourbot@nvidia.com> References: <20170329093123.24656-1-acourbot@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170329093123.24656-1-acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ben Skeggs Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org VGhlIExTIGZpcm13YXJlIHBvc3QtcnVuIGhvb2sgaXMgdGhlIHJpZ2h0IHBsYWNlIHRvIHN0YXJ0 IHNhaWQgTFMKZmlybXdhcmUuIE1vdmluZyBpdCBoZXJlIGFsc28gYWxsb3dzIHRvIHJlbW92ZSBz cGVjaWFsIGhhbmRsaW5nIGluIHRoZQpBQ1IgY29kZS4KClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRy ZSBDb3VyYm90IDxhY291cmJvdEBudmlkaWEuY29tPgotLS0KIGRybS9ub3V2ZWF1L252a20vc3Vi ZGV2L3NlY2Jvb3QvYWNyX3IzNTIuYyAgICAgICAgIHwgNDYgLS0tLS0tLS0tLS0tLS0tLS0tLS0K IC4uLi9udmttL3N1YmRldi9zZWNib290L2xzX3Vjb2RlX21zZ3F1ZXVlLmMgICAgICAgIHwgNDkg KysrKysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCsp LCA0OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9z ZWNib290L2Fjcl9yMzUyLmMgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2Fjcl9y MzUyLmMKaW5kZXggYWZkMzUwMjdmZDNhLi5hNzIxMzU0MjQ5Y2UgMTAwNjQ0Ci0tLSBhL2RybS9u b3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvYWNyX3IzNTIuYworKysgYi9kcm0vbm91dmVhdS9u dmttL3N1YmRldi9zZWNib290L2Fjcl9yMzUyLmMKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRl IDxjb3JlL2dwdW9iai5oPgogI2luY2x1ZGUgPGNvcmUvZmlybXdhcmUuaD4KICNpbmNsdWRlIDxl bmdpbmUvZmFsY29uLmg+Ci0jaW5jbHVkZSA8c3ViZGV2L21jLmg+Ci0jaW5jbHVkZSA8c3ViZGV2 L3RpbWVyLmg+CiAjaW5jbHVkZSA8c3ViZGV2L3BtdS5oPgogI2luY2x1ZGUgPGNvcmUvbXNncXVl dWUuaD4KICNpbmNsdWRlIDxlbmdpbmUvc2VjMi5oPgpAQCAtODg1LDcgKzg4Myw2IEBAIGFjcl9y MzUyX2Jvb3RzdHJhcChzdHJ1Y3QgYWNyX3IzNTIgKmFjciwgc3RydWN0IG52a21fc2VjYm9vdCAq c2IpCiB7CiAJY29uc3Qgc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYgPSAmc2ItPnN1YmRldjsK IAl1bnNpZ25lZCBsb25nIG1hbmFnZWRfZmFsY29ucyA9IGFjci0+YmFzZS5tYW5hZ2VkX2ZhbGNv bnM7Ci0JdTMyIHJlZzsKIAlpbnQgZmFsY29uX2lkOwogCWludCByZXQ7CiAKQEAgLTkyNCw1MiAr OTIxLDkgQEAgYWNyX3IzNTJfYm9vdHN0cmFwKHN0cnVjdCBhY3JfcjM1MiAqYWNyLCBzdHJ1Y3Qg bnZrbV9zZWNib290ICpzYikKIAkJCXJldCA9IGZ1bmMtPnBvc3RfcnVuKCZhY3ItPmJhc2UsIHNi KTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKLQl9Ci0KLQkvKiBSZS1zdGFydCBvdXJz ZWx2ZXMgaWYgd2UgYXJlIG1hbmFnZWQgKi8KLQlpZiAoIW52a21fc2VjYm9vdF9pc19tYW5hZ2Vk KHNiLCBhY3ItPmJhc2UuYm9vdF9mYWxjb24pKQotCQlyZXR1cm4gMDsKLQotCS8qIEVuYWJsZSBp bnRlcnJ1cHRzICovCi0JbnZrbV9mYWxjb25fd3IzMihzYi0+Ym9vdF9mYWxjb24sIDB4MTAsIDB4 ZmYpOwotCW52a21fbWNfaW50cl9tYXNrKHN1YmRldi0+ZGV2aWNlLCBzYi0+Ym9vdF9mYWxjb24t Pm93bmVyLT5pbmRleCwgdHJ1ZSk7Ci0KLQkvKiBTdGFydCBMUyBmaXJtd2FyZSBvbiBib290IGZh bGNvbiAqLwotCW52a21fZmFsY29uX3N0YXJ0KHNiLT5ib290X2ZhbGNvbik7Ci0KLQkvKgotCSAq IFRoZXJlIGlzIGEgYnVnIHdoZXJlIHRoZSBMUyBmaXJtd2FyZSBzb21ldGltZXMgcmVxdWlyZSB0 byBiZSBzdGFydGVkCi0JICogdHdpY2UgKHRoaXMgaGFwcGVucyBvbmx5IG9uIFNFQykuIERldGVj dCBhbmQgd29ya2Fyb3VuZCB0aGF0Ci0JICogY29uZGl0aW9uLgotCSAqCi0JICogT25jZSBzdGFy dGVkLCB0aGUgZmFsY29uIHdpbGwgZW5kIHVwIGluIFNUT1BQRUQgY29uZGl0aW9uIChiaXQgNSkK LQkgKiBpZiBzdWNjZXNzZnVsLCBvciBpbiBIQUxUIGNvbmRpdGlvbiAoYml0IDQpIGlmIG5vdC4K LQkgKi8KLQludmttX21zZWMoc3ViZGV2LT5kZXZpY2UsIDEsCi0JCSAgaWYgKChyZWcgPSBudmtt X3JkMzIoc3ViZGV2LT5kZXZpY2UsCi0JCQkJICAgICAgIHNiLT5ib290X2ZhbGNvbi0+YWRkciAr IDB4MTAwKQotCQkgICAgICAgJiAweDMwKSAhPSAwKQotCQkJICBicmVhazsKLQkpOwotCWlmIChy ZWcgJiBCSVQoNCkpIHsKLQkJbnZrbV9kZWJ1ZyhzdWJkZXYsICJhcHBseWluZyB3b3JrYXJvdW5k IGZvciBzdGFydCBidWcuLi4iKTsKLQkJbnZrbV9mYWxjb25fc3RhcnQoc2ItPmJvb3RfZmFsY29u KTsKLQkJbnZrbV9tc2VjKHN1YmRldi0+ZGV2aWNlLCAxLAotCQkJaWYgKChyZWcgPSBudmttX3Jk MzIoc3ViZGV2LT5kZXZpY2UsCi0JCQkJCSAgICAgc2ItPmJvb3RfZmFsY29uLT5hZGRyICsgMHgx MDApCi0JCQkgICAgICYgMHgzMCkgIT0gMCkKLQkJCQlicmVhazsKLQkJKTsKLQkJaWYgKHJlZyAm IEJJVCg0KSkgewotCQkJbnZrbV9lcnJvcihzdWJkZXYsICIlcyBmYWlsZWQgdG8gc3RhcnRcbiIs Ci0JCQkgICAgICAgbnZrbV9zZWNib290X2ZhbGNvbl9uYW1lW2Fjci0+YmFzZS5ib290X2ZhbGNv bl0pOwotCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAl9CiAKLQludmttX2RlYnVnKHN1YmRldiwg IiVzIHN0YXJ0ZWRcbiIsCi0JCSAgIG52a21fc2VjYm9vdF9mYWxjb25fbmFtZVthY3ItPmJhc2Uu Ym9vdF9mYWxjb25dKTsKLQogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcm0vbm91dmVh dS9udmttL3N1YmRldi9zZWNib290L2xzX3Vjb2RlX21zZ3F1ZXVlLmMgYi9kcm0vbm91dmVhdS9u dmttL3N1YmRldi9zZWNib290L2xzX3Vjb2RlX21zZ3F1ZXVlLmMKaW5kZXggYTRkZDVmMTk4ZDU1 Li5lZTk4OTIxMDcyNWUgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jv b3QvbHNfdWNvZGVfbXNncXVldWUuYworKysgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNi b290L2xzX3Vjb2RlX21zZ3F1ZXVlLmMKQEAgLTI4LDYgKzI4LDggQEAKICNpbmNsdWRlIDxjb3Jl L21zZ3F1ZXVlLmg+CiAjaW5jbHVkZSA8c3ViZGV2L3BtdS5oPgogI2luY2x1ZGUgPGVuZ2luZS9z ZWMyLmg+CisjaW5jbHVkZSA8c3ViZGV2L21jLmg+CisjaW5jbHVkZSA8c3ViZGV2L3RpbWVyLmg+ CiAKIC8qKgogICogYWNyX2xzX3Vjb2RlX2xvYWRfbXNncXVldWUgLSBsb2FkIGFuZCBwcmVwYXJl IGEgdWNvZGUgaW1nIGZvciBhIG1zZ3F1ZXVlIGZ3CkBAIC03Nyw2ICs3OSw3IEBAIHN0YXRpYyBp bnQKIGFjcl9sc19tc2dxdWV1ZV9wb3N0X3J1bihzdHJ1Y3QgbnZrbV9tc2dxdWV1ZSAqcXVldWUs CiAJCQkgc3RydWN0IG52a21fZmFsY29uICpmYWxjb24sIHUzMiBhZGRyX2FyZ3MpCiB7CisJc3Ry dWN0IG52a21fZGV2aWNlICpkZXZpY2UgPSBmYWxjb24tPm93bmVyLT5kZXZpY2U7CiAJdTMyIGNt ZGxpbmVfc2l6ZSA9IE5WS01fTVNHUVVFVUVfQ01ETElORV9TSVpFOwogCXU4IGJ1ZltjbWRsaW5l X3NpemVdOwogCkBAIC04Niw2ICs4OSwxMyBAQCBhY3JfbHNfbXNncXVldWVfcG9zdF9ydW4oc3Ry dWN0IG52a21fbXNncXVldWUgKnF1ZXVlLAogCS8qIHJlYXJtIHRoZSBxdWV1ZSBzbyBpdCB3aWxs IHdhaXQgZm9yIHRoZSBpbml0IG1lc3NhZ2UgKi8KIAludmttX21zZ3F1ZXVlX3JlaW5pdChxdWV1 ZSk7CiAKKwkvKiBFbmFibGUgaW50ZXJydXB0cyAqLworCW52a21fZmFsY29uX3dyMzIoZmFsY29u LCAweDEwLCAweGZmKTsKKwludmttX21jX2ludHJfbWFzayhkZXZpY2UsIGZhbGNvbi0+b3duZXIt PmluZGV4LCB0cnVlKTsKKworCS8qIFN0YXJ0IExTIGZpcm13YXJlIG9uIGJvb3QgZmFsY29uICov CisJbnZrbV9mYWxjb25fc3RhcnQoZmFsY29uKTsKKwogCXJldHVybiAwOwogfQogCkBAIC0xMjAs NiArMTMwLDkgQEAgYWNyX2xzX3BtdV9wb3N0X3J1bihjb25zdCBzdHJ1Y3QgbnZrbV9hY3IgKmFj ciwgY29uc3Qgc3RydWN0IG52a21fc2VjYm9vdCAqc2IpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJl dDsKIAorCW52a21fZGVidWcoJnNiLT5zdWJkZXYsICIlcyBzdGFydGVkXG4iLAorCQkgICBudmtt X3NlY2Jvb3RfZmFsY29uX25hbWVbYWNyLT5ib290X2ZhbGNvbl0pOworCiAJcmV0dXJuIDA7CiB9 CiAKQEAgLTE0NSwxNiArMTU4LDQ4IEBAIGFjcl9sc191Y29kZV9sb2FkX3NlYzIoY29uc3Qgc3Ry dWN0IG52a21fc2VjYm9vdCAqc2IsIHN0cnVjdCBsc191Y29kZV9pbWcgKmltZykKIGludAogYWNy X2xzX3NlYzJfcG9zdF9ydW4oY29uc3Qgc3RydWN0IG52a21fYWNyICphY3IsIGNvbnN0IHN0cnVj dCBudmttX3NlY2Jvb3QgKnNiKQogewotCXN0cnVjdCBudmttX2RldmljZSAqZGV2aWNlID0gc2It PnN1YmRldi5kZXZpY2U7CisJY29uc3Qgc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYgPSAmc2It PnN1YmRldjsKKwlzdHJ1Y3QgbnZrbV9kZXZpY2UgKmRldmljZSA9IHN1YmRldi0+ZGV2aWNlOwog CXN0cnVjdCBudmttX3NlYzIgKnNlYyA9IGRldmljZS0+c2VjMjsKIAkvKiBvbiBTRUMgYXJndW1l bnRzIGFyZSBhbHdheXMgYXQgdGhlIGJlZ2lubmluZyBvZiBFTUVNICovCi0JdTMyIGFkZHJfYXJn cyA9IDB4MDEwMDAwMDA7CisJY29uc3QgdTMyIGFkZHJfYXJncyA9IDB4MDEwMDAwMDA7CisJdTMy IHJlZzsKIAlpbnQgcmV0OwogCiAJcmV0ID0gYWNyX2xzX21zZ3F1ZXVlX3Bvc3RfcnVuKHNlYy0+ cXVldWUsIHNlYy0+ZmFsY29uLCBhZGRyX2FyZ3MpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7 CiAKKwkvKgorCSAqIFRoZXJlIGlzIGEgYnVnIHdoZXJlIHRoZSBMUyBmaXJtd2FyZSBzb21ldGlt ZXMgcmVxdWlyZSB0byBiZSBzdGFydGVkCisJICogdHdpY2UgKHRoaXMgaGFwcGVucyBvbmx5IG9u IFNFQykuIERldGVjdCBhbmQgd29ya2Fyb3VuZCB0aGF0CisJICogY29uZGl0aW9uLgorCSAqCisJ ICogT25jZSBzdGFydGVkLCB0aGUgZmFsY29uIHdpbGwgZW5kIHVwIGluIFNUT1BQRUQgY29uZGl0 aW9uIChiaXQgNSkKKwkgKiBpZiBzdWNjZXNzZnVsLCBvciBpbiBIQUxUIGNvbmRpdGlvbiAoYml0 IDQpIGlmIG5vdC4KKwkgKi8KKwludmttX21zZWMoZGV2aWNlLCAxLAorCQkgIGlmICgocmVnID0g bnZrbV9mYWxjb25fcmQzMihzYi0+Ym9vdF9mYWxjb24sIDB4MTAwKSAmIDB4MzApICE9IDApCisJ CQkgIGJyZWFrOworCSk7CisJaWYgKHJlZyAmIEJJVCg0KSkgeworCQludmttX2RlYnVnKHN1YmRl diwgImFwcGx5aW5nIHdvcmthcm91bmQgZm9yIHN0YXJ0IGJ1Zy4uLiIpOworCQludmttX2ZhbGNv bl9zdGFydChzYi0+Ym9vdF9mYWxjb24pOworCQludmttX21zZWMoc3ViZGV2LT5kZXZpY2UsIDEs CisJCQlpZiAoKHJlZyA9IG52a21fcmQzMihzdWJkZXYtPmRldmljZSwKKwkJCQkJICAgICBzYi0+ Ym9vdF9mYWxjb24tPmFkZHIgKyAweDEwMCkKKwkJCSAgICAgJiAweDMwKSAhPSAwKQorCQkJCWJy ZWFrOworCQkpOworCQlpZiAocmVnICYgQklUKDQpKSB7CisJCQludmttX2Vycm9yKHN1YmRldiwg IiVzIGZhaWxlZCB0byBzdGFydFxuIiwKKwkJCSAgICAgICBudmttX3NlY2Jvb3RfZmFsY29uX25h bWVbYWNyLT5ib290X2ZhbGNvbl0pOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9CisKKwlu dmttX2RlYnVnKCZzYi0+c3ViZGV2LCAiJXMgc3RhcnRlZFxuIiwKKwkJICAgbnZrbV9zZWNib290 X2ZhbGNvbl9uYW1lW2Fjci0+Ym9vdF9mYWxjb25dKTsKIAogCXJldHVybiAwOwogfQotLSAKMi4x Mi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOb3V2 ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK