From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Francis Subject: [PATCH v2 11/14] drm/amd/display: Validate DSC caps on MST endpoints Date: Tue, 20 Aug 2019 15:12:00 -0400 Message-ID: <20190820191203.25807-12-David.Francis@amd.com> References: <20190820191203.25807-1-David.Francis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190820191203.25807-1-David.Francis-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: David Francis , Wenjing Liu , Nikola Cornij VGhlIGZpcnN0IHN0ZXAgaW4gTVNUIERTQyBpcyBjaGVja2luZyBNU1QgZW5kcG9pbnRzCnRvIHNl ZSBob3cgRFNDIGNhbiBiZSBlbmFibGVkCgpDYXNlIDE6IERQLXRvLURQIHBlZXIgZGV2aWNlCmlm IHRoZSBicmFuY2ggaW1tZWRpYXRlbHkgdXBzdHJlYW0gaGFzCiAtIFBEVCA9IERQX1BFRVJfREVW SUNFX0RQX01TVF9CUkFOQ0hJTkcgKDIpCiAtIERQQ0QgcmV2LiA+PSBEUCAxLjQKIC0gRXhhY3Rs eSBvbmUgaW5wdXQgYW5kIG9uZSBvdXRwdXQKIC0gVGhlIG91dHB1dCBoYXMgUERUID0gRFBfUEVF Ul9ERVZJQ0VfU1NUX1NJTksgKDMpCgpJbiB0aGlzIGNhc2UsIERTQyBjb3VsZCBiZSBwb3NzaWJs ZSBlaXRoZXIgb24gdGhlIGVuZHBvaW50Cm9yIHRoZSBwZWVyIGRldmljZS4gUHJlZmVyIHRoZSBl bmRwb2ludCwgd2hpY2ggaXMgcG9zc2libGUgaWYKIC0gVGhlIGVuZHBvaW50IGhhcyBEUF9EU0Nf REVDT01QUkVTU0lPTl9JU19TVVBQT1JURUQgYml0IHNldAogLSBUaGUgZW5kcG9pbnQgaGFzIERQ X0ZFQ19DQVBBQkxFIGJpdCBzZXQKIC0gVGhlIHBlZXIgZGV2aWNlIGhhcyBEU0NfUEFTU1RIUk9V R0hfQ0FQQUJJTElUWSBiaXQgc2V0IChmcm9tIERQIHYyLjApCgpPdGhlcndpc2UsIHVzZSB0aGUg cGVlciBkZXZpY2UKCkNhc2UgMjogRFAtdG8tSERNSSBwZWVyIGRldmljZQpJZiB0aGUgb3V0cHV0 IHBvcnQgaGFzCiAtIFBEVCA9IERQX1BFRVJfREVWSUNFX0RQX0xFR0FDWV9DT05WICg0KQogLSBE UENEIHJldi4gPj0gRFAgMS40CiAtIExEUFMgPSB0cnVlCiAtIE1DUyA9IGZhbHNlCgpJbiB0aGlz IGNhc2UsIERTQyBjYW4gb25seSBiZSBhdHRlbXB0ZWQgb24gdGhlIHBlZXIgZGV2aWNlCih0aGUg b3V0cHV0IHBvcnQpCgpDYXNlIDM6IFZpcnR1YWwgRFAgU2luayAoSW50ZXJuYWwgRGlzcGxheSBQ YW5lbCkKSWYgdGhlIG91dHB1dCBwb3J0IGhhcwogLSBEUENEIHJldi4gPj0gRFAgMS40CiAtIHBv cnRfbnVtID49IDgKCkluIHRoaXMgY2FzZSwgRFNDIGNhbiBvbmx5IGJlIGF0dGVtcHRlZCBvbiB0 aGUgcGVlciBkZXZpY2UKKHRoZSBvdXRwdXQgcG9ydCkKCkNhc2UgNDogU3luYXB0aXggV29ya2Fy b3VuZApJZiB0aGUgb3V0cHV0IGhhcwogLSBsaW5rIERQQ0QgcmV2LiA+PSBEUCAxLjQKIC0gbGlu ayBicmFuY2hfZGV2X2lkID0gMHg5MENDMjQgKFN5bmFwdGl4KQogLSBUaGVyZSBpcyBleGFjdGx5 IG9uZSBicmFuY2ggZGV2aWNlIGJldHdlZW4gdGhlIGxpbmsgYW5kIG91dHB1dAoKSW4gdGhpcyBj YXNlLCBEU0MgY2FuIGJlIGF0dGVtcHRlZCwgYnV0IG9ubHkgdXNpbmcgdGhlICpsaW5rKgphdXgg ZGV2aWNlJ3MgY2Fwcy4gVGhpcyBpcyBhIHF1aXJrLgoKVGVzdCBmb3IgdGhlc2UgY2FzZXMgYXMg bW9kZXMgYXJlIGVudW1lcmF0ZWQgZm9yIGFuIE1TVCBlbmRwb2ludC4KV2UgY2Fubm90IGRvIHRo aXMgZHVyaW5nIGxpbmsgYXR0YWNoIGJlY2F1c2UgdGhlIGRjX3Npbmsgb2JqZWN0CndpbGwgbm90 IGhhdmUgYmVlbiBjcmVhdGVkIHlldAoKSWYgbm8gRFNDIGlzIGF0dGVtcHRlZCwgemVybyB0aGUg RFNDIGNhcHMKCkNjOiBXZW5qaW5nIExpdSA8V2VuamluZy5MaXVAYW1kLmNvbT4KQ2M6IE5pa29s YSBDb3JuaWogPE5pa29sYS5Db3JuaWpAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgRnJh bmNpcyA8RGF2aWQuRnJhbmNpc0BhbWQuY29tPgotLS0KIC4uLi9kaXNwbGF5L2FtZGdwdV9kbS9h bWRncHVfZG1fbXN0X3R5cGVzLmMgICB8IDEyMyArKysrKysrKysrKysrKysrKy0KIC4uLi9kaXNw bGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5cGVzLmggICB8ICAgMyArCiAyIGZpbGVzIGNo YW5nZWQsIDEyNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5cGVzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlw ZXMuYwppbmRleCAxNjIxOGEyMDJiNTkuLjU4NTcxODQ0ZjZkNSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5cGVzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5 cGVzLmMKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KICNp bmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX2RwX21z dF9oZWxwZXIuaD4KICNpbmNsdWRlICJkbV9zZXJ2aWNlcy5oIgogI2luY2x1ZGUgImFtZGdwdS5o IgogI2luY2x1ZGUgImFtZGdwdV9kbS5oIgpAQCAtMTg5LDYgKzE5MCwxMjAgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGRtX2RwX21zdF9jb25uZWN0b3JfZnVuY3Mg PSB7CiAJLmVhcmx5X3VucmVnaXN0ZXIgPSBhbWRncHVfZG1fbXN0X2Nvbm5lY3Rvcl9lYXJseV91 bnJlZ2lzdGVyLAogfTsKIAorYm9vbCBpc192aXJ0dWFsX2RwY2Qoc3RydWN0IGRybV9kcF9tc3Rf cG9ydCAqcG9ydCkKK3sKKwlzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpkb3duc3RyZWFtX3BvcnQ7 CisKKwlpZiAoIXBvcnQpCisJCXJldHVybiBmYWxzZTsKKworCWlmIChwb3J0LT5wb3J0X251bSA+ PSA4ICYmCisJCXBvcnQtPmRwY2RfcmV2ID49IERQX0RQQ0RfUkVWXzE0KSB7CisJCS8qIFZpcnR1 YWwgRFAgU2luayAoSW50ZXJuYWwgRGlzcGxheSBQYW5lbCkgKi8KKwkJcmV0dXJuIHRydWU7CisJ fSBlbHNlIGlmIChwb3J0LT5wZHQgPT0gRFBfUEVFUl9ERVZJQ0VfRFBfTEVHQUNZX0NPTlYgJiYK KwkJCSFwb3J0LT5tY3MgJiYKKwkJCXBvcnQtPmxkcHMgJiYKKwkJCXBvcnQtPmRwY2RfcmV2ID49 IERQX0RQQ0RfUkVWXzE0KSB7CisJCS8qIERQLXRvLUhETUkgUHJvdG9jb2wgQ29udmVydGVyICov CisJCXJldHVybiB0cnVlOworCX0gZWxzZSBpZiAocG9ydC0+cGR0ID09IERQX1BFRVJfREVWSUNF X01TVF9CUkFOQ0hJTkcgJiYKKwkJCXBvcnQtPm1zdGIgJiYKKwkJCXBvcnQtPmRwY2RfcmV2ID49 IERQX0RQQ0RfUkVWXzE0KSB7CisJCS8qIERQLXRvLURQICovCisJCWlmIChwb3J0LT5tc3RiLT5u dW1fcG9ydHMgPT0gMikgeworCQkJbGlzdF9mb3JfZWFjaF9lbnRyeShkb3duc3RyZWFtX3BvcnQs ICZwb3J0LT5tc3RiLT5wb3J0cywgbmV4dCkgeworCQkJCWlmICghZG93bnN0cmVhbV9wb3J0LT5p bnB1dCAmJgorCQkJCQkJZG93bnN0cmVhbV9wb3J0LT5wZHQgPT0gRFBfUEVFUl9ERVZJQ0VfU1NU X1NJTkspCisJCQkJCXJldHVybiB0cnVlOworCQkJfQorCQl9CisJfQorCXJldHVybiBmYWxzZTsK K30KKworYm9vbCBzeW5hcHRpeF93b3JrYXJvdW5kKHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9y ICphY29ubmVjdG9yKQoreworCXN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQgPSBhY29ubmVj dG9yLT5wb3J0OworCXN0cnVjdCBkY19saW5rICpsaW5rID0gYWNvbm5lY3Rvci0+ZGNfc2luay0+ bGluazsKKwl1OCBkb3duX3N0cmVhbV9wb3J0X2RhdGE7CisKKwlpZiAocG9ydC0+bWdyLT5tc3Rf cHJpbWFyeSA9PSBwb3J0LT5wYXJlbnQgJiYKKwkJCWxpbmstPmRwY2RfY2Fwcy5icmFuY2hfZGV2 X2lkID09IDB4OTBDQzI0ICYmCisJCQlsaW5rLT5kcGNkX2NhcHMuZHBjZF9yZXYucmF3ID49IERQ X0RQQ0RfUkVWXzE0KSB7CisJCWRybV9kcF9tc3RfZHBjZF9yZWFkKCZwb3J0LT5hdXgsIERQX0RP V05TVFJFQU1QT1JUX1BSRVNFTlQsICZkb3duX3N0cmVhbV9wb3J0X2RhdGEsIDEpOworCQlpZiAo KGRvd25fc3RyZWFtX3BvcnRfZGF0YSAmIDcpICE9IDMpCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CisJ cmV0dXJuIGZhbHNlOworfQorCisjaWZkZWYgQ09ORklHX0RSTV9BTURfRENfRFNDX1NVUFBPUlQK K3N0YXRpYyBib29sIHZhbGlkYXRlX2RzY19jYXBzX29uX2Nvbm5lY3RvcihzdHJ1Y3QgYW1kZ3B1 X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcikKK3sKKwl1OCB1cHN0cmVhbV9kc2NfY2Fwc1sxNl0g PSB7IDAgfTsKKwl1OCBlbmRwb2ludF9kc2NfY2Fwc1sxNl0gPSB7IDAgfTsKKwl1OCBlbmRwb2lu dF9mZWNfY2FwcyA9IDA7CisJc3RydWN0IGRjX3NpbmsgKmRjX3NpbmsgPSBhY29ubmVjdG9yLT5k Y19zaW5rOworCXN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKm91dHB1dF9wb3J0ID0gYWNvbm5lY3Rv ci0+cG9ydDsKKwlzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICppbW1lZGlhdGVfdXBzdHJlYW1fcG9y dDsKKwlzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpmZWNfcG9ydDsKKworCWlmIChhY29ubmVjdG9y LT5wb3J0ICYmIGFjb25uZWN0b3ItPnBvcnQtPnBhcmVudCkKKwkJaW1tZWRpYXRlX3Vwc3RyZWFt X3BvcnQgPSBhY29ubmVjdG9yLT5wb3J0LT5wYXJlbnQtPnBvcnRfcGFyZW50OworCWVsc2UKKwkJ aW1tZWRpYXRlX3Vwc3RyZWFtX3BvcnQgPSBOVUxMOworCisJZmVjX3BvcnQgPSBpbW1lZGlhdGVf dXBzdHJlYW1fcG9ydDsKKwl3aGlsZSAoZmVjX3BvcnQpIHsKKwkJaWYgKCFmZWNfcG9ydC0+ZmVj X2NhcGFibGUpCisJCQlyZXR1cm4gZmFsc2U7CisKKwkJZmVjX3BvcnQgPSBmZWNfcG9ydC0+cGFy ZW50LT5wb3J0X3BhcmVudDsKKwl9CisKKwlpZiAoaW1tZWRpYXRlX3Vwc3RyZWFtX3BvcnQpCisJ CWRybV9kcF9tc3RfZHBjZF9yZWFkKCZpbW1lZGlhdGVfdXBzdHJlYW1fcG9ydC0+YXV4LCBEUF9E U0NfU1VQUE9SVCwgdXBzdHJlYW1fZHNjX2NhcHMsIDE2KTsKKwlkcm1fZHBfbXN0X2RwY2RfcmVh ZCgmb3V0cHV0X3BvcnQtPmF1eCwgRFBfRFNDX1NVUFBPUlQsIGVuZHBvaW50X2RzY19jYXBzLCAx Nik7CisJZHJtX2RwX21zdF9kcGNkX3JlYWQoJm91dHB1dF9wb3J0LT5hdXgsIERQX0ZFQ19DQVBB QklMSVRZLCAmZW5kcG9pbnRfZmVjX2NhcHMsIDEpOworCisJaWYgKGlzX3ZpcnR1YWxfZHBjZChp bW1lZGlhdGVfdXBzdHJlYW1fcG9ydCkKKwkJCSYmICh1cHN0cmVhbV9kc2NfY2Fwc1swXSAmIDB4 MikgLyogRFNDIHBhc3N0aHJvdWdoIGNhcGFiaWxpdHkgKi8KKwkJCSYmIChlbmRwb2ludF9mZWNf Y2FwcyAmIERQX0ZFQ19DQVBBQkxFKQorCQkJJiYgKGVuZHBvaW50X2RzY19jYXBzWzBdICYgRFBf RFNDX0RFQ09NUFJFU1NJT05fSVNfU1VQUE9SVEVEKSkgeworCQkvKiBFbnBvaW50IGRlY29tcHJl c3Npb24gd2l0aCBEUC10by1EUCBwZWVyIGRldmljZSAqLworCQlpZiAoIWRjX2RzY19wYXJzZV9k c2NfZHBjZChlbmRwb2ludF9kc2NfY2FwcywgTlVMTCwgJmRjX3NpbmstPnNpbmtfZHNjX2NhcHMu ZHNjX2RlY19jYXBzKSkKKwkJCXJldHVybiBmYWxzZTsKKworCQlkY19zaW5rLT5zaW5rX2RzY19j YXBzLmlzX3ZpcnR1YWxfZHBjZF9kc2MgPSBmYWxzZTsKKwl9IGVsc2UgaWYgKGlzX3ZpcnR1YWxf ZHBjZChpbW1lZGlhdGVfdXBzdHJlYW1fcG9ydCkpIHsKKwkJLyogVmlydHVhbCBEUENEIGRlY29t cHJlc3Npb24gd2l0aCBEUC10by1EUCBwZWVyIGRldmljZSAqLworCQlpZiAoIWRjX2RzY19wYXJz ZV9kc2NfZHBjZCh1cHN0cmVhbV9kc2NfY2FwcywgTlVMTCwgJmRjX3NpbmstPnNpbmtfZHNjX2Nh cHMuZHNjX2RlY19jYXBzKSkKKwkJCXJldHVybiBmYWxzZTsKKworCQlkY19zaW5rLT5zaW5rX2Rz Y19jYXBzLmlzX3ZpcnR1YWxfZHBjZF9kc2MgPSB0cnVlOworCX0gZWxzZSBpZiAoaXNfdmlydHVh bF9kcGNkKG91dHB1dF9wb3J0KSkgeworCQkvKiBWaXJ0dWFsIERQQ0QgZGVjb21wcmVzc2lvbiB3 aXRoIERQLXRvLUhETUkgb3IgVmlydHVhbCBEUCBTaW5rICovCisJCWlmICghZGNfZHNjX3BhcnNl X2RzY19kcGNkKGVuZHBvaW50X2RzY19jYXBzLCBOVUxMLCAmZGNfc2luay0+c2lua19kc2NfY2Fw cy5kc2NfZGVjX2NhcHMpKQorCQkJcmV0dXJuIGZhbHNlOworCisJCWRjX3NpbmstPnNpbmtfZHNj X2NhcHMuaXNfdmlydHVhbF9kcGNkX2RzYyA9IHRydWU7CisJfSBlbHNlIGlmIChzeW5hcHRpeF93 b3JrYXJvdW5kKGFjb25uZWN0b3IpKSB7CisJCS8qIFN5bmFwdGl4IHdvcmthcm91bmQgKi8KKwkJ YWNvbm5lY3RvciA9IGRjX3NpbmstPmxpbmstPnByaXY7CisJCWRybV9kcF9kcGNkX3JlYWQoJmFj b25uZWN0b3ItPmRtX2RwX2F1eC5hdXgsIERQX0RTQ19TVVBQT1JULCB1cHN0cmVhbV9kc2NfY2Fw cywgMTYpOworCQlpZiAoIWRjX2RzY19wYXJzZV9kc2NfZHBjZCh1cHN0cmVhbV9kc2NfY2Fwcywg TlVMTCwgJmRjX3NpbmstPnNpbmtfZHNjX2NhcHMuZHNjX2RlY19jYXBzKSkKKwkJCXJldHVybiBm YWxzZTsKKworCQlkY19zaW5rLT5zaW5rX2RzY19jYXBzLmlzX3ZpcnR1YWxfZHBjZF9kc2MgPSB0 cnVlOworCX0gZWxzZSB7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30K KyNlbmRpZgorCiBzdGF0aWMgaW50IGRtX2RwX21zdF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5l Y3RvciA9IHRvX2FtZGdwdV9kbV9jb25uZWN0b3IoY29ubmVjdG9yKTsKQEAgLTIzMSwxMCArMzQ2 LDE2IEBAIHN0YXRpYyBpbnQgZG1fZHBfbXN0X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQogCQkvKiBkY19saW5rX2FkZF9yZW1vdGVfc2luayByZXR1cm5zIGEgbmV3 IHJlZmVyZW5jZSAqLwogCQlhY29ubmVjdG9yLT5kY19zaW5rID0gZGNfc2luazsKIAotCQlpZiAo YWNvbm5lY3Rvci0+ZGNfc2luaykKKwkJaWYgKGFjb25uZWN0b3ItPmRjX3NpbmspIHsKIAkJCWFt ZGdwdV9kbV91cGRhdGVfZnJlZXN5bmNfY2FwcygKIAkJCQkJY29ubmVjdG9yLCBhY29ubmVjdG9y LT5lZGlkKTsKIAorI2lmZGVmIENPTkZJR19EUk1fQU1EX0RDX0RTQ19TVVBQT1JUCisJCQlpZiAo IXZhbGlkYXRlX2RzY19jYXBzX29uX2Nvbm5lY3RvcihhY29ubmVjdG9yKSkKKwkJCQltZW1zZXQo JmFjb25uZWN0b3ItPmRjX3NpbmstPnNpbmtfZHNjX2NhcHMsCisJCQkJICAgICAgIDAsIHNpemVv ZihhY29ubmVjdG9yLT5kY19zaW5rLT5zaW5rX2RzY19jYXBzKSk7CisjZW5kaWYKKwkJfQogCX0K IAogCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuaCBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBl cy5oCmluZGV4IDJkYTg1MWI0MDA0Mi4uOGRlM2Q4YzMwZjhkIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlw ZXMuaApAQCAtMzIsNCArMzIsNyBAQCBzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvcjsKIHZvaWQg YW1kZ3B1X2RtX2luaXRpYWxpemVfZHBfY29ubmVjdG9yKHN0cnVjdCBhbWRncHVfZGlzcGxheV9t YW5hZ2VyICpkbSwKIAkJCQkgICAgICAgc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFjb25u ZWN0b3IpOwogCitib29sIGlzX3ZpcnR1YWxfZHBjZChzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpw b3J0KTsKK2Jvb2wgc3luYXB0aXhfd29ya2Fyb3VuZChzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3Rv ciAqYWNvbm5lY3Rvcik7CisKICNlbmRpZgotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZng=