From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Francis Subject: [PATCH v2 3/3] drm/dsc: Split DSC PPS and SDP header initialisations Date: Thu, 21 Feb 2019 15:20:01 -0500 Message-ID: <20190221202001.28430-4-David.Francis@amd.com> References: <20190221202001.28430-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: <20190221202001.28430-1-David.Francis@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, nikola.cornij@amd.com, harry.wentland@amd.com, David Francis List-Id: intel-gfx@lists.freedesktop.org VGhlIERQIDEuNCBzcGVjIGRlZmluZXMgdGhlIFNEUCBoZWFkZXIgYW5kIFNEUCBjb250ZW50cyBm b3IKYSBQaWN0dXJlIFBhcmFtZXRlciBTZXQgKFBQUykgdGhhdCBtdXN0IGJlIHNlbnQgaW4gYWR2 YW5jZQpvZiBEU0MgdHJhbnNtaXNzaW9uIHRvIGRlZmluZSB0aGUgZW5jb2RpbmcgY2hhcmFjdGVy aXN0aWNzLgoKVGhpcyB3YXMgZG9uZSBpbiBvbmUgc3RydWN0LCBkcm1fZHNjX3Bwc19pbmZvZnJh bWUsIHdoaWNoCmNvbmF0aW5lZCB0aGUgU0RQIGhlYWRlciBhbmQgUFBTLiAgQmVjYXVzZSB0aGUg UFBTIGlzCmEgcHJvcGVydHkgb2YgRFNDIG92ZXIgYW55IGNvbm5lY3Rvciwgbm90IGp1c3QgRFAs IGFuZCBiZWNhdXNlCmRybSBkcml2ZXJzIG1heSBoYXZlIHRoZWlyIG93biBTRFAgc3RydWN0cyB0 aGV5IHdpc2ggdG8gdXNlLAptYWtlIHRoZSBmdW5jdGlvbnMgdGhhdCBpbml0aWFsaXNlIFNEUCBh bmQgUFBTIGhlYWRlcnMgdGFrZQp0aGUgY29tcG9uZW50cyB0aGV5IG9wZXJhdGUgb24sIG5vdCBk cm1fZHNjX3Bwc19pbmZvZnJhbWUsCgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBGcmFuY2lzIDxEYXZp ZC5GcmFuY2lzQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyAgICAgICAg IHwgMTE3ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdmRzYy5jIHwgICA0ICstCiBpbmNsdWRlL2RybS9kcm1fZHNjLmggICAgICAgICAg ICAgfCAgIDQgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fZHNjLmMKaW5kZXggZDc3NTcwYmY2YWM0Li43N2Y0ZTVhZTQxOTcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9kc2MuYwpAQCAtMzIsNjYgKzMyLDY1IEBACiAvKioKICAqIGRybV9kc2NfZHBfcHBzX2hlYWRl cl9pbml0KCkgLSBJbml0aWFsaXplcyB0aGUgUFBTIEhlYWRlcgogICogZm9yIERpc3BsYXlQb3J0 IGFzIHBlciB0aGUgRFAgMS40IHNwZWMuCi0gKiBAcHBzX3NkcDogU2Vjb25kYXJ5IGRhdGEgcGFj a2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0Ci0gKiAgICAgICAgICAgYXMgZGVmaW5l ZCBpbiAmc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZQorICogQHBwc19oZWFkZXI6IFNlY29u ZGFyeSBkYXRhIHBhY2tldCBoZWFkZXIgZm9yIERTQyBQaWN0dXJlCisgKiAgICAgICAgICAgICAg UGFyYW1ldGVyIFNldCBhcyBkZWZpbmVkIGluICZzdHJ1Y3QgZHBfc2RwX2hlYWRlcgogICoKICAq IERQIDEuNCBzcGVjIGRlZmluZXMgdGhlIHNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3Igc2VuZGlu ZyB0aGUKICAqIHBpY3R1cmUgcGFyYW1ldGVyIGluZm9mcmFtZXMgZnJvbSB0aGUgc291cmNlIHRv IHRoZSBzaW5rLgotICogVGhpcyBmdW5jdGlvbiBwb3B1bGF0ZXMgdGhlIHBwcyBoZWFkZXIgZGVm aW5lZCBpbgotICogJnN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgYXMgcGVyIHRoZSBoZWFk ZXIgYnl0ZXMgZGVmaW5lZAotICogaW4gJnN0cnVjdCBkcF9zZHBfaGVhZGVyLgorICogVGhpcyBm dW5jdGlvbiBwb3B1bGF0ZXMgdGhlIFNEUCBoZWFkZXIgZGVmaW5lZCBpbgorICogJnN0cnVjdCBk cF9zZHBfaGVhZGVyLgogICovCi12b2lkIGRybV9kc2NfZHBfcHBzX2hlYWRlcl9pbml0KHN0cnVj dCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHApCit2b2lkIGRybV9kc2NfZHBfcHBzX2hl YWRlcl9pbml0KHN0cnVjdCBkcF9zZHBfaGVhZGVyICpwcHNfaGVhZGVyKQogewotCW1lbXNldCgm cHBzX3NkcC0+cHBzX2hlYWRlciwgMCwgc2l6ZW9mKHBwc19zZHAtPnBwc19oZWFkZXIpKTsKKwlt ZW1zZXQocHBzX2hlYWRlciwgMCwgc2l6ZW9mKCpwcHNfaGVhZGVyKSk7CiAKLQlwcHNfc2RwLT5w cHNfaGVhZGVyLkhCMSA9IERQX1NEUF9QUFM7Ci0JcHBzX3NkcC0+cHBzX2hlYWRlci5IQjIgPSBE UF9TRFBfUFBTX0hFQURFUl9QQVlMT0FEX0JZVEVTX01JTlVTXzE7CisJcHBzX2hlYWRlci0+SEIx ID0gRFBfU0RQX1BQUzsKKwlwcHNfaGVhZGVyLT5IQjIgPSBEUF9TRFBfUFBTX0hFQURFUl9QQVlM T0FEX0JZVEVTX01JTlVTXzE7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9kc2NfZHBfcHBzX2hlYWRl cl9pbml0KTsKIAogLyoqCi0gKiBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjaygpIC0gUG9wdWxh dGVzIHRoZSBEU0MgUFBTIGluZm9mcmFtZQorICogZHJtX2RzY19wcHNfcGF5bG9hZF9wYWNrKCkg LSBQb3B1bGF0ZXMgdGhlIERTQyBQUFMKICAqCi0gKiBAcHBzX3NkcDoKLSAqIFNlY29uZGFyeSBk YXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1cmUgUGFyYW1ldGVyIFNldC4gVGhpcyBpcyBkZWZpbmVk Ci0gKiBieSAmc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZQorICogQHBwc19wYXlsb2FkOgor ICogQml0d2lzZSBzdHJ1Y3QgZm9yIERTQyBQaWN0dXJlIFBhcmFtZXRlciBTZXQuIFRoaXMgaXMg ZGVmaW5lZAorICogYnkgJnN0cnVjdCBkcm1fZHNjX3BpY3R1cmVfcGFyYW1ldGVyX3NldAogICog QGRzY19jZmc6CiAgKiBEU0MgQ29uZmlndXJhdGlvbiBkYXRhIGZpbGxlZCBieSBkcml2ZXIgYXMg ZGVmaW5lZCBieQogICogJnN0cnVjdCBkcm1fZHNjX2NvbmZpZwogICoKLSAqIERTQyBzb3VyY2Ug ZGV2aWNlIHNlbmRzIGEgc2Vjb25kYXJ5IGRhdGEgcGFja2V0IGZpbGxlZCB3aXRoIGFsbCB0aGUK LSAqIHBpY3R1cmUgcGFyYW1ldGVyIHNldCAoUFBTKSBpbmZvcm1hdGlvbiByZXF1aXJlZCBieSB0 aGUgc2luayB0byBkZWNvZGUKLSAqIHRoZSBjb21wcmVzc2VkIGZyYW1lLiBEcml2ZXIgcG9wdWxh dGVzIHRoZSBkc0MgUFBTIGluZm9mcmFtZSB1c2luZyB0aGUgRFNDCi0gKiBjb25maWd1cmF0aW9u IHBhcmFtZXRlcnMgaW4gdGhlIG9yZGVyIGV4cGVjdGVkIGJ5IHRoZSBEU0MgRGlzcGxheSBTaW5r Ci0gKiBkZXZpY2UuIEZvciB0aGUgRFNDLCB0aGUgc2luayBkZXZpY2UgZXhwZWN0cyB0aGUgUFBT IHBheWxvYWQgaW4gdGhlIGJpZwotICogZW5kaWFuIGZvcm1hdCBmb3IgdGhlIGZpZWxkcyB0aGF0 IHNwYW4gbW9yZSB0aGFuIDEgYnl0ZS4KKyAqIERTQyBzb3VyY2UgZGV2aWNlIHNlbmRzIGEgcGlj dHVyZSBwYXJhbWV0ZXIgc2V0IChQUFMpIGNvbnRhaW5pbmcgdGhlCisgKiBpbmZvcm1hdGlvbiBy ZXF1aXJlZCBieSB0aGUgc2luayB0byBkZWNvZGUgdGhlIGNvbXByZXNzZWQgZnJhbWUuIERyaXZl cgorICogcG9wdWxhdGVzIHRoZSBEU0MgUFBTIHN0cnVjdCB1c2luZyB0aGUgRFNDIGNvbmZpZ3Vy YXRpb24gcGFyYW1ldGVycyBpbgorICogdGhlIG9yZGVyIGV4cGVjdGVkIGJ5IHRoZSBEU0MgRGlz cGxheSBTaW5rIGRldmljZS4gRm9yIHRoZSBEU0MsIHRoZSBzaW5rCisgKiBkZXZpY2UgZXhwZWN0 cyB0aGUgUFBTIHBheWxvYWQgaW4gYmlnIGVuZGlhbiBmb3JtYXQgZm9yIGZpZWxkcworICogdGhh dCBzcGFuIG1vcmUgdGhhbiAxIGJ5dGUuCiAgKi8KLXZvaWQgZHJtX2RzY19wcHNfaW5mb2ZyYW1l X3BhY2soc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBzX3NkcCwKK3ZvaWQgZHJtX2Rz Y19wcHNfcGF5bG9hZF9wYWNrKHN0cnVjdCBkcm1fZHNjX3BpY3R1cmVfcGFyYW1ldGVyX3NldCAq cHBzX3BheWxvYWQsCiAJCQkJY29uc3Qgc3RydWN0IGRybV9kc2NfY29uZmlnICpkc2NfY2ZnKQog ewogCWludCBpOwogCiAJLyogUHJvdGVjdCBhZ2FpbnN0IHNvbWVvbmUgYWNjaWRlbnRseSBjaGFu Z2luZyBzdHJ1Y3Qgc2l6ZSAqLwotCUJVSUxEX0JVR19PTihzaXplb2YocHBzX3NkcC0+cHBzX3Bh eWxvYWQpICE9CisJQlVJTERfQlVHX09OKHNpemVvZigqcHBzX3BheWxvYWQpICE9CiAJCSAgICAg RFBfU0RQX1BQU19IRUFERVJfUEFZTE9BRF9CWVRFU19NSU5VU18xICsgMSk7CiAKLQltZW1zZXQo JnBwc19zZHAtPnBwc19wYXlsb2FkLCAwLCBzaXplb2YocHBzX3NkcC0+cHBzX3BheWxvYWQpKTsK KwltZW1zZXQocHBzX3BheWxvYWQsIDAsIHNpemVvZigqcHBzX3BheWxvYWQpKTsKIAogCS8qIFBQ UyAwICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuZHNjX3ZlcnNpb24gPQorCXBwc19wYXlsb2Fk LT5kc2NfdmVyc2lvbiA9CiAJCWRzY19jZmctPmRzY192ZXJzaW9uX21pbm9yIHwKIAkJZHNjX2Nm Zy0+ZHNjX3ZlcnNpb25fbWFqb3IgPDwgRFNDX1BQU19WRVJTSU9OX01BSk9SX1NISUZUOwogCiAJ LyogUFBTIDEsIDIgaXMgMCAqLwogCiAJLyogUFBTIDMgKi8KLQlwcHNfc2RwLT5wcHNfcGF5bG9h ZC5wcHNfMyA9CisJcHBzX3BheWxvYWQtPnBwc18zID0KIAkJZHNjX2NmZy0+bGluZV9idWZfZGVw dGggfAogCQlkc2NfY2ZnLT5iaXRzX3Blcl9jb21wb25lbnQgPDwgRFNDX1BQU19CUENfU0hJRlQ7 CiAKIAkvKiBQUFMgNCAqLwotCXBwc19zZHAtPnBwc19wYXlsb2FkLnBwc180ID0KKwlwcHNfcGF5 bG9hZC0+cHBzXzQgPQogCQkoKGRzY19jZmctPmJpdHNfcGVyX3BpeGVsICYgRFNDX1BQU19CUFBf SElHSF9NQVNLKSA+PgogCQkgRFNDX1BQU19NU0JfU0hJRlQpIHwKIAkJZHNjX2NmZy0+dmJyX2Vu YWJsZSA8PCBEU0NfUFBTX1ZCUl9FTl9TSElGVCB8CkBAIC0xMDAsNyArOTksNyBAQCB2b2lkIGRy bV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBw c19zZHAsCiAJCWRzY19jZmctPmJsb2NrX3ByZWRfZW5hYmxlIDw8IERTQ19QUFNfQkxPQ0tfUFJF RF9FTl9TSElGVDsKIAogCS8qIFBQUyA1ICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuYml0c19w ZXJfcGl4ZWxfbG93ID0KKwlwcHNfcGF5bG9hZC0+Yml0c19wZXJfcGl4ZWxfbG93ID0KIAkJKGRz Y19jZmctPmJpdHNfcGVyX3BpeGVsICYgRFNDX1BQU19MU0JfTUFTSyk7CiAKIAkvKgpAQCAtMTEx LDEwMyArMTEwLDEwMyBAQCB2b2lkIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKHN0cnVjdCBk cm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19zZHAsCiAJICovCiAKIAkvKiBQUFMgNiwgNyAqLwot CXBwc19zZHAtPnBwc19wYXlsb2FkLnBpY19oZWlnaHQgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5w aWNfaGVpZ2h0KTsKKwlwcHNfcGF5bG9hZC0+cGljX2hlaWdodCA9IGNwdV90b19iZTE2KGRzY19j ZmctPnBpY19oZWlnaHQpOwogCiAJLyogUFBTIDgsIDkgKi8KLQlwcHNfc2RwLT5wcHNfcGF5bG9h ZC5waWNfd2lkdGggPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5waWNfd2lkdGgpOworCXBwc19wYXls b2FkLT5waWNfd2lkdGggPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5waWNfd2lkdGgpOwogCiAJLyog UFBTIDEwLCAxMSAqLwotCXBwc19zZHAtPnBwc19wYXlsb2FkLnNsaWNlX2hlaWdodCA9IGNwdV90 b19iZTE2KGRzY19jZmctPnNsaWNlX2hlaWdodCk7CisJcHBzX3BheWxvYWQtPnNsaWNlX2hlaWdo dCA9IGNwdV90b19iZTE2KGRzY19jZmctPnNsaWNlX2hlaWdodCk7CiAKIAkvKiBQUFMgMTIsIDEz ICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuc2xpY2Vfd2lkdGggPSBjcHVfdG9fYmUxNihkc2Nf Y2ZnLT5zbGljZV93aWR0aCk7CisJcHBzX3BheWxvYWQtPnNsaWNlX3dpZHRoID0gY3B1X3RvX2Jl MTYoZHNjX2NmZy0+c2xpY2Vfd2lkdGgpOwogCiAJLyogUFBTIDE0LCAxNSAqLwotCXBwc19zZHAt PnBwc19wYXlsb2FkLmNodW5rX3NpemUgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5zbGljZV9jaHVu a19zaXplKTsKKwlwcHNfcGF5bG9hZC0+Y2h1bmtfc2l6ZSA9IGNwdV90b19iZTE2KGRzY19jZmct PnNsaWNlX2NodW5rX3NpemUpOwogCiAJLyogUFBTIDE2ICovCi0JcHBzX3NkcC0+cHBzX3BheWxv YWQuaW5pdGlhbF94bWl0X2RlbGF5X2hpZ2ggPQorCXBwc19wYXlsb2FkLT5pbml0aWFsX3htaXRf ZGVsYXlfaGlnaCA9CiAJCSgoZHNjX2NmZy0+aW5pdGlhbF94bWl0X2RlbGF5ICYKIAkJICBEU0Nf UFBTX0lOSVRfWE1JVF9ERUxBWV9ISUdIX01BU0spID4+CiAJCSBEU0NfUFBTX01TQl9TSElGVCk7 CiAKIAkvKiBQUFMgMTcgKi8KLQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0aWFsX3htaXRfZGVs YXlfbG93ID0KKwlwcHNfcGF5bG9hZC0+aW5pdGlhbF94bWl0X2RlbGF5X2xvdyA9CiAJCShkc2Nf Y2ZnLT5pbml0aWFsX3htaXRfZGVsYXkgJiBEU0NfUFBTX0xTQl9NQVNLKTsKIAogCS8qIFBQUyAx OCwgMTkgKi8KLQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5pbml0aWFsX2RlY19kZWxheSA9CisJcHBz X3BheWxvYWQtPmluaXRpYWxfZGVjX2RlbGF5ID0KIAkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+aW5p dGlhbF9kZWNfZGVsYXkpOwogCiAJLyogUFBTIDIwIGlzIDAgKi8KIAogCS8qIFBQUyAyMSAqLwot CXBwc19zZHAtPnBwc19wYXlsb2FkLmluaXRpYWxfc2NhbGVfdmFsdWUgPQorCXBwc19wYXlsb2Fk LT5pbml0aWFsX3NjYWxlX3ZhbHVlID0KIAkJZHNjX2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZTsK IAogCS8qIFBQUyAyMiwgMjMgKi8KLQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5zY2FsZV9pbmNyZW1l bnRfaW50ZXJ2YWwgPQorCXBwc19wYXlsb2FkLT5zY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWwgPQog CQljcHVfdG9fYmUxNihkc2NfY2ZnLT5zY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWwpOwogCiAJLyog UFBTIDI0ICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuc2NhbGVfZGVjcmVtZW50X2ludGVydmFs X2hpZ2ggPQorCXBwc19wYXlsb2FkLT5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWxfaGlnaCA9CiAJ CSgoZHNjX2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVydmFsICYKIAkJICBEU0NfUFBTX1NDQUxF X0RFQ19JTlRfSElHSF9NQVNLKSA+PgogCQkgRFNDX1BQU19NU0JfU0hJRlQpOwogCiAJLyogUFBT IDI1ICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuc2NhbGVfZGVjcmVtZW50X2ludGVydmFsX2xv dyA9CisJcHBzX3BheWxvYWQtPnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbF9sb3cgPQogCQkoZHNj X2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVydmFsICYgRFNDX1BQU19MU0JfTUFTSyk7CiAKIAkv KiBQUFMgMjZbNzowXSwgUFBTIDI3Wzc6NV0gUkVTRVJWRUQgKi8KIAogCS8qIFBQUyAyNyAqLwot CXBwc19zZHAtPnBwc19wYXlsb2FkLmZpcnN0X2xpbmVfYnBnX29mZnNldCA9CisJcHBzX3BheWxv YWQtPmZpcnN0X2xpbmVfYnBnX29mZnNldCA9CiAJCWRzY19jZmctPmZpcnN0X2xpbmVfYnBnX29m ZnNldDsKIAogCS8qIFBQUyAyOCwgMjkgKi8KLQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5uZmxfYnBn X29mZnNldCA9CisJcHBzX3BheWxvYWQtPm5mbF9icGdfb2Zmc2V0ID0KIAkJY3B1X3RvX2JlMTYo ZHNjX2NmZy0+bmZsX2JwZ19vZmZzZXQpOwogCiAJLyogUFBTIDMwLCAzMSAqLwotCXBwc19zZHAt PnBwc19wYXlsb2FkLnNsaWNlX2JwZ19vZmZzZXQgPQorCXBwc19wYXlsb2FkLT5zbGljZV9icGdf b2Zmc2V0ID0KIAkJY3B1X3RvX2JlMTYoZHNjX2NmZy0+c2xpY2VfYnBnX29mZnNldCk7CiAKIAkv KiBQUFMgMzIsIDMzICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuaW5pdGlhbF9vZmZzZXQgPQor CXBwc19wYXlsb2FkLT5pbml0aWFsX29mZnNldCA9CiAJCWNwdV90b19iZTE2KGRzY19jZmctPmlu aXRpYWxfb2Zmc2V0KTsKIAogCS8qIFBQUyAzNCwgMzUgKi8KLQlwcHNfc2RwLT5wcHNfcGF5bG9h ZC5maW5hbF9vZmZzZXQgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5maW5hbF9vZmZzZXQpOworCXBw c19wYXlsb2FkLT5maW5hbF9vZmZzZXQgPSBjcHVfdG9fYmUxNihkc2NfY2ZnLT5maW5hbF9vZmZz ZXQpOwogCiAJLyogUFBTIDM2ICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuZmxhdG5lc3NfbWlu X3FwID0gZHNjX2NmZy0+ZmxhdG5lc3NfbWluX3FwOworCXBwc19wYXlsb2FkLT5mbGF0bmVzc19t aW5fcXAgPSBkc2NfY2ZnLT5mbGF0bmVzc19taW5fcXA7CiAKIAkvKiBQUFMgMzcgKi8KLQlwcHNf c2RwLT5wcHNfcGF5bG9hZC5mbGF0bmVzc19tYXhfcXAgPSBkc2NfY2ZnLT5mbGF0bmVzc19tYXhf cXA7CisJcHBzX3BheWxvYWQtPmZsYXRuZXNzX21heF9xcCA9IGRzY19jZmctPmZsYXRuZXNzX21h eF9xcDsKIAogCS8qIFBQUyAzOCwgMzkgKi8KLQlwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19tb2Rl bF9zaXplID0KKwlwcHNfcGF5bG9hZC0+cmNfbW9kZWxfc2l6ZSA9CiAJCWNwdV90b19iZTE2KERT Q19SQ19NT0RFTF9TSVpFX0NPTlNUKTsKIAogCS8qIFBQUyA0MCAqLwotCXBwc19zZHAtPnBwc19w YXlsb2FkLnJjX2VkZ2VfZmFjdG9yID0gRFNDX1JDX0VER0VfRkFDVE9SX0NPTlNUOworCXBwc19w YXlsb2FkLT5yY19lZGdlX2ZhY3RvciA9IERTQ19SQ19FREdFX0ZBQ1RPUl9DT05TVDsKIAogCS8q IFBQUyA0MSAqLwotCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3F1YW50X2luY3JfbGltaXQwID0K KwlwcHNfcGF5bG9hZC0+cmNfcXVhbnRfaW5jcl9saW1pdDAgPQogCQlkc2NfY2ZnLT5yY19xdWFu dF9pbmNyX2xpbWl0MDsKIAogCS8qIFBQUyA0MiAqLwotCXBwc19zZHAtPnBwc19wYXlsb2FkLnJj X3F1YW50X2luY3JfbGltaXQxID0KKwlwcHNfcGF5bG9hZC0+cmNfcXVhbnRfaW5jcl9saW1pdDEg PQogCQlkc2NfY2ZnLT5yY19xdWFudF9pbmNyX2xpbWl0MTsKIAogCS8qIFBQUyA0MyAqLwotCXBw c19zZHAtPnBwc19wYXlsb2FkLnJjX3RndF9vZmZzZXQgPSBEU0NfUkNfVEdUX09GRlNFVF9MT19D T05TVCB8CisJcHBzX3BheWxvYWQtPnJjX3RndF9vZmZzZXQgPSBEU0NfUkNfVEdUX09GRlNFVF9M T19DT05TVCB8CiAJCURTQ19SQ19UR1RfT0ZGU0VUX0hJX0NPTlNUIDw8IERTQ19QUFNfUkNfVEdU X09GRlNFVF9ISV9TSElGVDsKIAogCS8qIFBQUyA0NCAtIDU3ICovCiAJZm9yIChpID0gMDsgaSA8 IERTQ19OVU1fQlVGX1JBTkdFUyAtIDE7IGkrKykKLQkJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNf YnVmX3RocmVzaFtpXSA9CisJCXBwc19wYXlsb2FkLT5yY19idWZfdGhyZXNoW2ldID0KIAkJCWRz Y19jZmctPnJjX2J1Zl90aHJlc2hbaV07CiAKIAkvKiBQUFMgNTggLSA4NyAqLwpAQCAtMjE2LDM1 ICsyMTUsMzUgQEAgdm9pZCBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayhzdHJ1Y3QgZHJtX2Rz Y19wcHNfaW5mb2ZyYW1lICpwcHNfc2RwLAogCSAqIGFyZSBhcyBmb2xsb3dzOiBNaW5fcXBbMTU6 MTFdLCBtYXhfcXBbMTA6Nl0sIG9mZnNldFs1OjBdCiAJICovCiAJZm9yIChpID0gMDsgaSA8IERT Q19OVU1fQlVGX1JBTkdFUzsgaSsrKSB7Ci0JCXBwc19zZHAtPnBwc19wYXlsb2FkLnJjX3Jhbmdl X3BhcmFtZXRlcnNbaV0gPQorCQlwcHNfcGF5bG9hZC0+cmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9 CiAJCQkoKGRzY19jZmctPnJjX3JhbmdlX3BhcmFtc1tpXS5yYW5nZV9taW5fcXAgPDwKIAkJCSAg RFNDX1BQU19SQ19SQU5HRV9NSU5RUF9TSElGVCkgfAogCQkJIChkc2NfY2ZnLT5yY19yYW5nZV9w YXJhbXNbaV0ucmFuZ2VfbWF4X3FwIDw8CiAJCQkgIERTQ19QUFNfUkNfUkFOR0VfTUFYUVBfU0hJ RlQpIHwKIAkJCSAoZHNjX2NmZy0+cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX2JwZ19vZmZzZXQp KTsKLQkJcHBzX3NkcC0+cHBzX3BheWxvYWQucmNfcmFuZ2VfcGFyYW1ldGVyc1tpXSA9Ci0JCQlj cHVfdG9fYmUxNihwcHNfc2RwLT5wcHNfcGF5bG9hZC5yY19yYW5nZV9wYXJhbWV0ZXJzW2ldKTsK KwkJcHBzX3BheWxvYWQtPnJjX3JhbmdlX3BhcmFtZXRlcnNbaV0gPQorCQkJY3B1X3RvX2JlMTYo cHBzX3BheWxvYWQtPnJjX3JhbmdlX3BhcmFtZXRlcnNbaV0pOwogCX0KIAogCS8qIFBQUyA4OCAq LwotCXBwc19zZHAtPnBwc19wYXlsb2FkLm5hdGl2ZV80MjJfNDIwID0gZHNjX2NmZy0+bmF0aXZl XzQyMiB8CisJcHBzX3BheWxvYWQtPm5hdGl2ZV80MjJfNDIwID0gZHNjX2NmZy0+bmF0aXZlXzQy MiB8CiAJCWRzY19jZmctPm5hdGl2ZV80MjAgPDwgRFNDX1BQU19OQVRJVkVfNDIwX1NISUZUOwog CiAJLyogUFBTIDg5ICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuc2Vjb25kX2xpbmVfYnBnX29m ZnNldCA9CisJcHBzX3BheWxvYWQtPnNlY29uZF9saW5lX2JwZ19vZmZzZXQgPQogCQlkc2NfY2Zn LT5zZWNvbmRfbGluZV9icGdfb2Zmc2V0OwogCiAJLyogUFBTIDkwLCA5MSAqLwotCXBwc19zZHAt PnBwc19wYXlsb2FkLm5zbF9icGdfb2Zmc2V0ID0KKwlwcHNfcGF5bG9hZC0+bnNsX2JwZ19vZmZz ZXQgPQogCQljcHVfdG9fYmUxNihkc2NfY2ZnLT5uc2xfYnBnX29mZnNldCk7CiAKIAkvKiBQUFMg OTIsIDkzICovCi0JcHBzX3NkcC0+cHBzX3BheWxvYWQuc2Vjb25kX2xpbmVfb2Zmc2V0X2FkaiA9 CisJcHBzX3BheWxvYWQtPnNlY29uZF9saW5lX29mZnNldF9hZGogPQogCQljcHVfdG9fYmUxNihk c2NfY2ZnLT5zZWNvbmRfbGluZV9vZmZzZXRfYWRqKTsKIAogCS8qIFBQUyA5NCAtIDEyNyBhcmUg TyAqLwogfQotRVhQT1JUX1NZTUJPTChkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayk7CitFWFBP UlRfU1lNQk9MKGRybV9kc2NfcHBzX3BheWxvYWRfcGFjayk7CiAKIC8qKgogICogZHJtX2RzY19j b21wdXRlX3JjX3BhcmFtZXRlcnMoKSAtIFdyaXRlIHJhdGUgY29udHJvbApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdmRzYy5jCmluZGV4IDhjOGQ5NjE1NzMzMy4uM2Y5OTIxYmE0YTc2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF92ZHNjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdmRzYy5jCkBAIC04ODEsMTAgKzg4MSwxMCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9kcF93cml0ZV9kc2NfcHBzX3NkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlz dHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lIGRwX2RzY19wcHNfc2RwOwogCiAJLyogUHJlcGFy ZSBEUCBTRFAgUFBTIGhlYWRlciBhcyBwZXIgRFAgMS40IHNwZWMsIFRhYmxlIDItMTIzICovCi0J ZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoJmRwX2RzY19wcHNfc2RwKTsKKwlkcm1fZHNjX2Rw X3Bwc19oZWFkZXJfaW5pdCgmZHBfZHNjX3Bwc19zZHAucHBzX2hlYWRlcik7CiAKIAkvKiBGaWxs IHRoZSBQUFMgcGF5bG9hZCBieXRlcyBhcyBwZXIgRFNDIHNwZWMgMS4yIFRhYmxlIDQtMSAqLwot CWRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKCZkcF9kc2NfcHBzX3NkcCwgdmRzY19jZmcpOwor CWRybV9kc2NfcHBzX3BheWxvYWRfcGFjaygmZHBfZHNjX3Bwc19zZHAucHBzX3BheWxvYWQsIHZk c2NfY2ZnKTsKIAogCWludGVsX2RpZ19wb3J0LT53cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0 Y19zdGF0ZSwKIAkJCQkJRFBfU0RQX1BQUywgJmRwX2RzY19wcHNfc2RwLApkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX2RzYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2RzYy5oCmluZGV4IGYyNmE4 OWUxYjY4YS4uODg3OTU0Y2JmYzYwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZHNjLmgK KysrIGIvaW5jbHVkZS9kcm0vZHJtX2RzYy5oCkBAIC02MDEsOCArNjAxLDggQEAgc3RydWN0IGRy bV9kc2NfcHBzX2luZm9mcmFtZSB7CiAJc3RydWN0IGRybV9kc2NfcGljdHVyZV9wYXJhbWV0ZXJf c2V0IHBwc19wYXlsb2FkOwogfSBfX3BhY2tlZDsKIAotdm9pZCBkcm1fZHNjX2RwX3Bwc19oZWFk ZXJfaW5pdChzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lICpwcHNfc2RwKTsKLXZvaWQgZHJt X2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZSAqcHBz X3NkcCwKK3ZvaWQgZHJtX2RzY19kcF9wcHNfaGVhZGVyX2luaXQoc3RydWN0IGRwX3NkcF9oZWFk ZXIgKnBwc19oZWFkZXIpOwordm9pZCBkcm1fZHNjX3Bwc19wYXlsb2FkX3BhY2soc3RydWN0IGRy bV9kc2NfcGljdHVyZV9wYXJhbWV0ZXJfc2V0ICpwcHNfc2RwLAogCQkJCWNvbnN0IHN0cnVjdCBk cm1fZHNjX2NvbmZpZyAqZHNjX2NmZyk7CiBpbnQgZHJtX2RzY19jb21wdXRlX3JjX3BhcmFtZXRl cnMoc3RydWN0IGRybV9kc2NfY29uZmlnICp2ZHNjX2NmZyk7CiAKLS0gCjIuMTcuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4