From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v2 7/9] drm/nouveau: secboot: Read WPR configuration from GPU registers Date: Sat, 2 Nov 2019 18:56:35 +0100 Message-ID: <20191102175637.3065-8-thierry.reding@gmail.com> References: <20191102175637.3065-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191102175637.3065-1-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ben Skeggs , Joerg Roedel Cc: linux-tegra@vger.kernel.org, nouveau@lists.freedesktop.org, Ben Dooks , dri-devel@lists.freedesktop.org List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoZSBHUFVzIGZvdW5k IG9uIFRlZ3JhIFNvQ3MgaGF2ZSByZWdpc3RlcnMgdGhhdCBjYW4gYmUgdXNlZCB0byByZWFkIHRo ZQpXUFIgY29uZmlndXJhdGlvbi4gVXNlIHRoZXNlIHJlZ2lzdGVycyBpbnN0ZWFkIG9mIHJlYWNo aW5nIGludG8gdGhlCm1lbW9yeSBjb250cm9sbGVyJ3MgcmVnaXN0ZXIgc3BhY2UgdG8gcmVhZCB0 aGUgc2FtZSBpbmZvcm1hdGlvbi4KClNpZ25lZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVk aW5nQG52aWRpYS5jb20+Ci0tLQogLi4uL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3Qv Z20yMDAuaCAgIHwgIDIgKy0KIC4uLi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2dt MjBiLmMgICB8IDgxICsrKysrKysrKysrKy0tLS0tLS0KIC4uLi9kcm0vbm91dmVhdS9udmttL3N1 YmRldi9zZWNib290L2dwMTBiLmMgICB8ICA0ICstCiAzIGZpbGVzIGNoYW5nZWQsIDUzIGluc2Vy dGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvZ20yMDAuaCBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L252a20vc3ViZGV2L3NlY2Jvb3QvZ20yMDAuaAppbmRleCA2MmM1ZTE2MjA5OWEuLjI4MGIx NDQ4ZGY4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYv c2VjYm9vdC9nbTIwMC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2 L3NlY2Jvb3QvZ20yMDAuaApAQCAtNDEsNiArNDEsNiBAQCBpbnQgZ20yMDBfc2VjYm9vdF9ydW5f YmxvYihzdHJ1Y3QgbnZrbV9zZWNib290ICosIHN0cnVjdCBudmttX2dwdW9iaiAqLAogCQkJICAg c3RydWN0IG52a21fZmFsY29uICopOwogCiAvKiBUZWdyYS1vbmx5ICovCi1pbnQgZ20yMGJfc2Vj Ym9vdF90ZWdyYV9yZWFkX3dwcihzdHJ1Y3QgZ20yMDBfc2VjYm9vdCAqLCB1MzIpOworaW50IGdt MjBiX3NlY2Jvb3RfdGVncmFfcmVhZF93cHIoc3RydWN0IGdtMjAwX3NlY2Jvb3QgKik7CiAKICNl bmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2Vj Ym9vdC9nbTIwYi5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9v dC9nbTIwYi5jCmluZGV4IGRmOGI5MTlkY2YwOS4uZjhhNTQzMTIyMjE5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9zZWNib290L2dtMjBiLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9nbTIwYi5jCkBAIC0y MywzOSArMjMsNjUgQEAKICNpbmNsdWRlICJhY3IuaCIKICNpbmNsdWRlICJnbTIwMC5oIgogCi0j ZGVmaW5lIFRFR1JBMjEwX01DX0JBU0UJCQkweDcwMDE5MDAwCi0KICNpZmRlZiBDT05GSUdfQVJD SF9URUdSQQotI2RlZmluZSBNQ19TRUNVUklUWV9DQVJWRU9VVDJfQ0ZHMAkJMHhjNTgKLSNkZWZp bmUgTUNfU0VDVVJJVFlfQ0FSVkVPVVQyX0JPTV8wCQkweGM1YwotI2RlZmluZSBNQ19TRUNVUklU WV9DQVJWRU9VVDJfQk9NX0hJXzAJCTB4YzYwCi0jZGVmaW5lIE1DX1NFQ1VSSVRZX0NBUlZFT1VU Ml9TSVpFXzEyOEsJCTB4YzY0Ci0jZGVmaW5lIFRFR1JBX01DX1NFQ1VSSVRZX0NBUlZFT1VUX0NG R19MT0NLRUQJKDEgPDwgMSkKIC8qKgogICogZ20yMGJfc2VjYm9vdF90ZWdyYV9yZWFkX3dwcigp IC0gcmVhZCB0aGUgV1BSIHJlZ2lzdGVycyBvbiBUZWdyYQogICoKLSAqIE9uIGRHUFUsIHdlIGNh biBtYW5hZ2UgdGhlIFdQUiByZWdpb24gb3Vyc2VsdmVzLCBidXQgb24gVGVncmEgdGhlIFdQUiBy ZWdpb24KLSAqIGlzIHJlc2VydmVkIGZyb20gc3lzdGVtIG1lbW9yeSBieSB0aGUgYm9vdGxvYWRl ciBhbmQgaXJyZXZlcnNpYmx5IGxvY2tlZC4KLSAqIFRoaXMgZnVuY3Rpb24gcmVhZHMgdGhlIGFk ZHJlc3MgYW5kIHNpemUgb2YgdGhlIHByZS1jb25maWd1cmVkIFdQUiByZWdpb24uCisgKiBPbiBk R1BVLCB3ZSBjYW4gbWFuYWdlIHRoZSBXUFIgcmVnaW9uIG91cnNlbHZlcywgYnV0IG9uIFRlZ3Jh IHRoaXMgcmVnaW9uCisgKiBpcyBhbGxvY2F0ZWQgZnJvbSBzeXN0ZW0gbWVtb3J5IGJ5IHRoZSBz ZWN1cmUgZmlybXdhcmUuIFRoZSByZWdpb24gaXMgdGhlbgorICogbWFya2VkIGFzIGEgInNlY3Vy ZSBjYXJ2ZW91dCIgYW5kIGlycmV2ZXJzaWJseSBsb2NrZWQuIEZ1cnRoZXJtb3JlLCB0aGUgV1BS CisgKiBzZWN1cmUgY2FydmVvdXQgaXMgYWxzbyBjb25maWd1cmVkIHRvIGJlIHNlbnQgdG8gdGhl IEdQVSB2aWEgYSBkZWRpY2F0ZWQKKyAqIHNlcmlhbCBidXMgYmV0d2VlbiB0aGUgbWVtb3J5IGNv bnRyb2xsZXIgYW5kIHRoZSBHUFUuIFRoZSBHUFUgcmVxdWVzdHMgdGhpcworICogaW5mb3JtYXRp b24gdXBvbiBsZWF2aW5nIHJlc2V0IGFuZCBleHBvc2VzIGl0IHRocm91Z2ggYSBGSUZPIHJlZ2lz dGVyIGF0CisgKiBvZmZzZXQgMHgxMDBjZDQuCisgKgorICogVGhlIEZJRk8gcmVnaXN0ZXIncyBs b3dlciA0IGJpdHMgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSByZWFkIGluZGV4IGludG8gdGhlCisg KiBGSUZPLiBBZnRlciBlYWNoIHJlYWQgb2YgdGhlIEZJRk8gcmVnaXN0ZXIsIHRoZSByZWFkIGlu ZGV4IGlzIGluY3JlbWVudGVkLgorICoKKyAqIEluZGljZXMgMiBhbmQgMyBjb250YWluIHRoZSBs b3dlciBhbmQgdXBwZXIgYWRkcmVzc2VzIG9mIHRoZSBXUFIuIFRoZXNlIGFyZQorICogc3RvcmVk IGluIHVuaXRzIG9mIDI1NiBCLiBUaGUgV1BSIGlzIGluY2x1c2l2ZSBvZiBib3RoIGFkZHJlc3Nl cy4KKyAqCisgKiBVbmZvcnR1bmF0ZWx5LCBmb3Igc29tZSByZWFzb24gdGhlIFdQUiBpbmZvIHJl Z2lzdGVyIGRvZXNuJ3QgY29udGFpbiB0aGUKKyAqIGNvcnJlY3QgdmFsdWVzIGZvciB0aGUgc2Vj dXJlIGNhcnZlb3V0LiBJdCBzZWVtcyBsaWtlIHRoZSB1cHBlciBhZGRyZXNzIGlzCisgKiBhbHdh eXMgdG9vIHNtYWxsIGJ5IDEyOCBLaUIgLSAxLiBHaXZlbiB0aGF0IHRoZSBzZWN1cmUgY2Fydm91 dCBzaXplIGluIHRoZQorICogbWVtb3J5IGNvbnRyb2xsZXIgY29uZmlndXJhdGlvbiBpcyBzcGVj aWZpZWQgaW4gdW5pdHMgb2YgMTI4IEtpQiwgaXQncworICogcG9zc2libGUgdGhhdCB0aGUgY29t cHV0YXRpb24gb2YgdGhlIHVwcGVyIGFkZHJlc3Mgb2YgdGhlIFdQUiBpcyB3cm9uZyBhbmQKKyAq IGNhdXNlcyB0aGlzIGRpZmZlcmVuY2UuCiAgKi8KIGludAotZ20yMGJfc2VjYm9vdF90ZWdyYV9y ZWFkX3dwcihzdHJ1Y3QgZ20yMDBfc2VjYm9vdCAqZ3NiLCB1MzIgbWNfYmFzZSkKK2dtMjBiX3Nl Y2Jvb3RfdGVncmFfcmVhZF93cHIoc3RydWN0IGdtMjAwX3NlY2Jvb3QgKmdzYikKIHsKKwlzdHJ1 Y3QgbnZrbV9kZXZpY2UgKmRldmljZSA9IGdzYi0+YmFzZS5zdWJkZXYuZGV2aWNlOwogCXN0cnVj dCBudmttX3NlY2Jvb3QgKnNiID0gJmdzYi0+YmFzZTsKLQl2b2lkIF9faW9tZW0gKm1jOwotCXUz MiBjZmc7CisJdTY0IGJhc2UsIGxpbWl0OworCXUzMiB2YWx1ZTsKIAotCW1jID0gaW9yZW1hcCht Y19iYXNlLCAweGQwMCk7Ci0JaWYgKCFtYykgewotCQludmttX2Vycm9yKCZzYi0+c3ViZGV2LCAi Q2Fubm90IG1hcCBUZWdyYSBNQyByZWdpc3RlcnNcbiIpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9 Ci0Jc2ItPndwcl9hZGRyID0gaW9yZWFkMzJfbmF0aXZlKG1jICsgTUNfU0VDVVJJVFlfQ0FSVkVP VVQyX0JPTV8wKSB8Ci0JICAgICAgKCh1NjQpaW9yZWFkMzJfbmF0aXZlKG1jICsgTUNfU0VDVVJJ VFlfQ0FSVkVPVVQyX0JPTV9ISV8wKSA8PCAzMik7Ci0Jc2ItPndwcl9zaXplID0gaW9yZWFkMzJf bmF0aXZlKG1jICsgTUNfU0VDVVJJVFlfQ0FSVkVPVVQyX1NJWkVfMTI4SykKLQkJPDwgMTc7Ci0J Y2ZnID0gaW9yZWFkMzJfbmF0aXZlKG1jICsgTUNfU0VDVVJJVFlfQ0FSVkVPVVQyX0NGRzApOwot CWlvdW5tYXAobWMpOworCS8qIHNldCBXUFIgaW5mbyByZWdpc3RlciB0byBwb2ludCBhdCBXUFIg YmFzZSBhZGRyZXNzIHJlZ2lzdGVyICovCisJdmFsdWUgPSBudmttX3JkMzIoZGV2aWNlLCAweDEw MGNkNCk7CisJdmFsdWUgJj0gfjB4ZjsKKwl2YWx1ZSB8PSAweDI7CisJbnZrbV93cjMyKGRldmlj ZSwgMHgxMDBjZDQsIHZhbHVlKTsKKworCS8qIHJlYWQgYmFzZSBhZGRyZXNzICovCisJdmFsdWUg PSBudmttX3JkMzIoZGV2aWNlLCAweDEwMGNkNCk7CisJYmFzZSA9ICh1NjQpKHZhbHVlID4+IDQp IDw8IDEyOworCisJLyogcmVhZCBsaW1pdCAqLworCXZhbHVlID0gbnZrbV9yZDMyKGRldmljZSwg MHgxMDBjZDQpOworCWxpbWl0ID0gKHU2NCkodmFsdWUgPj4gNCkgPDwgMTI7CisKKwkvKgorCSAq IFRoZSB1cHBlciBhZGRyZXNzIG9mIHRoZSBXUFIgc2VlbXMgdG8gYmUgY29tcHV0ZWQgd3Jvbmds eSBhbmQgaXMKKwkgKiBhY3R1YWxseSBTWl8xMjhLIC0gMSBieXRlcyBsb3dlciB0aGFuIGl0IHNo b3VsZCBiZS4gQWRqdXN0IHRoZQorCSAqIHZhbHVlIGFjY29yZGluZ2x5LgorCSAqLworCWxpbWl0 ICs9IFNaXzEyOEsgLSAxOworCisJc2ItPndwcl9zaXplID0gbGltaXQgLSBiYXNlICsgMTsKKwlz Yi0+d3ByX2FkZHIgPSBiYXNlOworCisJbnZrbV9pbmZvKCZzYi0+c3ViZGV2LCAiV1BSOiAlMDE2 bGx4LSUwMTZsbHhcbiIsIHNiLT53cHJfYWRkciwKKwkJICBzYi0+d3ByX2FkZHIgKyBzYi0+d3By X3NpemUgLSAxKTsKIAogCS8qIENoZWNrIHRoYXQgV1BSIHNldHRpbmdzIGFyZSB2YWxpZCAqLwog CWlmIChzYi0+d3ByX3NpemUgPT0gMCkgewpAQCAtNjMsMTEgKzg5LDYgQEAgZ20yMGJfc2VjYm9v dF90ZWdyYV9yZWFkX3dwcihzdHJ1Y3QgZ20yMDBfc2VjYm9vdCAqZ3NiLCB1MzIgbWNfYmFzZSkK IAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JaWYgKCEoY2ZnICYgVEVHUkFfTUNfU0VDVVJJVFlf Q0FSVkVPVVRfQ0ZHX0xPQ0tFRCkpIHsKLQkJbnZrbV9lcnJvcigmc2ItPnN1YmRldiwgIldQUiBy ZWdpb24gbm90IGxvY2tlZFxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQogCXJldHVybiAw OwogfQogI2Vsc2UKQEAgLTg1LDcgKzEwNiw3IEBAIGdtMjBiX3NlY2Jvb3Rfb25laW5pdChzdHJ1 Y3QgbnZrbV9zZWNib290ICpzYikKIAlzdHJ1Y3QgZ20yMDBfc2VjYm9vdCAqZ3NiID0gZ20yMDBf c2VjYm9vdChzYik7CiAJaW50IHJldDsKIAotCXJldCA9IGdtMjBiX3NlY2Jvb3RfdGVncmFfcmVh ZF93cHIoZ3NiLCBURUdSQTIxMF9NQ19CQVNFKTsKKwlyZXQgPSBnbTIwYl9zZWNib290X3RlZ3Jh X3JlYWRfd3ByKGdzYik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9ncDEwYi5jIGIvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9ncDEwYi5jCmluZGV4IDI4 Y2EyOWQwZWVlZS4uZDg0ZTg1ODI1OTk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9udmttL3N1YmRldi9zZWNib290L2dwMTBiLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnZrbS9zdWJkZXYvc2VjYm9vdC9ncDEwYi5jCkBAIC0yMywxNSArMjMsMTMgQEAKICNp bmNsdWRlICJhY3IuaCIKICNpbmNsdWRlICJnbTIwMC5oIgogCi0jZGVmaW5lIFRFR1JBMTg2X01D X0JBU0UJCQkweDAyYzEwMDAwCi0KIHN0YXRpYyBpbnQKIGdwMTBiX3NlY2Jvb3Rfb25laW5pdChz dHJ1Y3QgbnZrbV9zZWNib290ICpzYikKIHsKIAlzdHJ1Y3QgZ20yMDBfc2VjYm9vdCAqZ3NiID0g Z20yMDBfc2VjYm9vdChzYik7CiAJaW50IHJldDsKIAotCXJldCA9IGdtMjBiX3NlY2Jvb3RfdGVn cmFfcmVhZF93cHIoZ3NiLCBURUdSQTE4Nl9NQ19CQVNFKTsKKwlyZXQgPSBnbTIwYl9zZWNib290 X3RlZ3JhX3JlYWRfd3ByKGdzYik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotLSAKMi4y My4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=