From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 02/10] drm/edid: Allow HDMI infoframe without VIC or S3D Date: Mon, 13 Nov 2017 19:04:19 +0200 Message-ID: <20171113170427.4150-3-ville.syrjala@linux.intel.com> References: <20171113170427.4150-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171113170427.4150-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org, Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFw cGVkaXggRiBvZiBIRE1JIDIuMCBzYXlzIHRoYXQgc29tZSBIRE1JIHNpbmsgbWF5IGZhaWwgdG8g c3dpdGNoIGZyb20KM0QgdG8gMkQgbW9kZSBpbiBhIHRpbWVseSBmYXNoaW9uIGlmIHRoZSBzb3Vy Y2Ugc2ltcGx5IHN0b3BzIHNlbmRpbmcgdGhlCkhETUkgaW5mb2ZyYW1lLiBUaGUgc3VnZ2VzdGVk IHdvcmthcm91bmQgaXMgdG8ga2VlcCBzZW5kaW5nIHRoZQppbmZvZnJhbWUgZXZlbiB3aGVuIHN0 cmljdGx5IG5vdCBuZWNlc3NhcnkgKGllLiBubyBWSUMgYW5kIG5vIFMzRCkuCkhETUkgMS40IGRv ZXMgYWxsb3cgZm9yIHRoaXMgYmVoYXZpb3VyLCBzdGF0aW5nIHRoYXQgc2VuZGluZyB0aGUKaW5m b2ZyYW1lIGlzIG9wdGlvbmFsIGluIHRoaXMgY2FzZS4KClRoZSBpbmZvZnJhbWUgd2FzIGZpcnN0 IHNwZWNpZmllZCBpbiBIRE1JIDEuNCwgc28gaW4gdGhlb3J5IHNpbmtzCnByZWRhdGluZyB0aGF0 IG1heSBub3QgYXBwcmVjaWF0ZSB1cyBzZW5kaW5nIGFuIHVrbm93biBpbmZvZnJhbWUKdGhlaXIg d2F5LiBUbyBhdm9pZCByZWdyZXNzaW9ucyBsZXQncyB0cnkgdG8gZGV0ZXJtaW5lIGlmIHRoZSBz aW5rCnN1cHBvcnRzIHRoZSBpbmZvZnJhbWUgb3Igbm90LiBVbmZvcnR1bmF0ZWx5IHRoZXJlJ3Mg bm8gZGlyZWN0IHdheQp0byBkbyB0aGF0LCBzbyBpbnN0ZWFkIHdlJ2xsIGp1c3QgY2hlY2sgaWYg d2UgbWFuYWdlZCB0byBwYXJzZSBhbnkKSERNSSAxLjQgNGsgb3Igc3RlcmVvIG1vZGVzIGZyb20g dGhlIEVESUQsIGFuZCBpZiBzbyB3ZSBhc3N1bWUgdGhlCnNpbmsgd2lsbCBhY2NlcHQgdGhlIGlu Zm9mcmFtZS4gQWxzbyBpZiB0aGUgRURJRCBjb250YWlucyB0aGUgSERNSQoyLjAgSERNSSBGb3J1 bSBWU0RCIHdlIGNhbiBhc3N1bWUgdGhlIHNpbmsgaXMgcHJlcGFyZWQgdG8gcmVjZWl2ZQp0aGUg aW5mb2ZyYW1lLgoKdjI6IEZpeCB0aGUgZ2V0dGluZyBoYXNfaGRtaV9pbmZvZnJhbWUgZnJvbSBk aXNwbGF5X2luZm8KICAgIEFsd2F5cyBmYWlsIGNvbnN0cnVjdGluZyB0aGUgaW5mb2ZyYW1lIGlm IHRoZSBkaXNwbGF5CiAgICBwb3NzaWJseSBjYW4ndCBoYW5kbGUgaXQKCkNjOiBTaGFzaGFuayBT aGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+CkNjOiBBbmRyemVqIEhhamRhIDxhLmhh amRhQHNhbXN1bmcuY29tPgpDYzogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBp ZGVhc29uYm9hcmQuY29tPgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNp aTg2MjAuYyAgICAgIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3 LWhkbWkuYyB8ICA0ICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jICAgICAgICAgICAg ICAgIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfaGRtaS5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jICAgICAgICAgfCAxNCArKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2hkbWkuYyAgICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbnY1MF9kaXNwbGF5LmMgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9p bm5vX2hkbWkuYyAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jICAg ICAgICAgICAgfCAgNCArKystCiBkcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYyAgICAgICAg ICAgICB8ICAxICsKIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgICAgICAgIHwg IDUgKysrKysKIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgICAgICAgICAgICAgICAgIHwgIDEg KwogMTIgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jIGIvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jCmluZGV4IGI3ZWI3MDRkMGE4YS4uNDQxNzI3 NmJhMDJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jCkBAIC0yMjIwLDggKzIy MjAsOSBAQCBzdGF0aWMgYm9vbCBzaWk4NjIwX21vZGVfZml4dXAoc3RydWN0IGRybV9icmlkZ2Ug KmJyaWRnZSwKIAkJCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZybTsKIAkJCXU4IG1obF92aWNbXSA9 IHsgMCwgOTUsIDk0LCA5MywgOTggfTsKIAorCQkJLyogRklYTUU6IFdlIG5lZWQgdGhlIGNvbm5l Y3RvciBoZXJlICovCiAJCQlkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKAotCQkJCSZmcm0udmVuZG9yLmhkbWksIGFkanVzdGVkX21vZGUpOworCQkJCSZmcm0udmVu ZG9yLmhkbWksIE5VTEwsIGFkanVzdGVkX21vZGUpOwogCQkJdmljID0gZnJtLnZlbmRvci5oZG1p LnZpYzsKIAkJCWlmICh2aWMgPj0gQVJSQVlfU0laRShtaGxfdmljKSkKIAkJCQl2aWMgPSAwOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgYi9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwppbmRleCBhNjRjZTcxMTIy ODguLmIxNzIxMzk1MDJkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5v cHN5cy9kdy1oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1o ZG1pLmMKQEAgLTE0MzcsNyArMTQzNyw5IEBAIHN0YXRpYyB2b2lkIGhkbWlfY29uZmlnX3ZlbmRv cl9zcGVjaWZpY19pbmZvZnJhbWUoc3RydWN0IGR3X2hkbWkgKmhkbWksCiAJdTggYnVmZmVyWzEw XTsKIAlzc2l6ZV90IGVycjsKIAotCWVyciA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBkcm1faGRtaV92ZW5kb3JfaW5m b2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwKKwkJCQkJCQkgICZoZG1pLT5jb25uZWN0 b3IsCisJCQkJCQkJICBtb2RlKTsKIAlpZiAoZXJyIDwgMCkKIAkJLyoKIAkJICogR29pbmcgaW50 byB0aGF0IHN0YXRlbWVudCBkb2VzIG5vdCBtZWFucyB2ZW5kb3IgaW5mb2ZyYW1lCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRp ZC5jCmluZGV4IDc0OWQwN2EwMTc3Mi4uOWFkYTBjY2Y1MGRmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwpAQCAt MzM5Myw2ICszMzkzLDcgQEAgc3RhdGljIGludAogZG9faGRtaV92c2RiX21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGNvbnN0IHU4ICpkYiwgdTggbGVuLAogCQkgICBjb25z dCB1OCAqdmlkZW9fZGIsIHU4IHZpZGVvX2xlbikKIHsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5m byAqaW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKIAlpbnQgbW9kZXMgPSAwLCBvZmZz ZXQgPSAwLCBpLCBtdWx0aV9wcmVzZW50ID0gMCwgbXVsdGlfbGVuOwogCXU4IHZpY19sZW4sIGhk bWlfM2RfbGVuID0gMDsKIAl1MTYgbWFzazsKQEAgLTM1MjAsNiArMzUyMSw4IEBAIGRvX2hkbWlf dnNkYl9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBjb25zdCB1OCAqZGIs IHU4IGxlbiwKIAl9CiAKIG91dDoKKwlpZiAobW9kZXMgPiAwKQorCQlpbmZvLT5oYXNfaGRtaV9p bmZvZnJhbWUgPSB0cnVlOwogCXJldHVybiBtb2RlczsKIH0KIApAQCAtNDI0Myw2ICs0MjQ2LDgg QEAgc3RhdGljIHZvaWQgZHJtX3BhcnNlX2hkbWlfZm9ydW1fdnNkYihzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAogCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICpkaXNwbGF5ID0gJmNv bm5lY3Rvci0+ZGlzcGxheV9pbmZvOwogCXN0cnVjdCBkcm1faGRtaV9pbmZvICpoZG1pID0gJmRp c3BsYXktPmhkbWk7CiAKKwlkaXNwbGF5LT5oYXNfaGRtaV9pbmZvZnJhbWUgPSB0cnVlOworCiAJ aWYgKGhmX3ZzZGJbNl0gJiAweDgwKSB7CiAJCWhkbWktPnNjZGMuc3VwcG9ydGVkID0gdHJ1ZTsK IAkJaWYgKGhmX3ZzZGJbNl0gJiAweDQwKQpAQCAtNDQxNiw2ICs0NDIxLDcgQEAgc3RhdGljIHZv aWQgZHJtX2FkZF9kaXNwbGF5X2luZm8oc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAlpbmZvLT5jZWFfcmV2ID0gMDsKIAlpbmZvLT5tYXhfdG1kc19jbG9jayA9IDA7CiAJaW5mby0+ ZHZpX2R1YWwgPSBmYWxzZTsKKwlpbmZvLT5oYXNfaGRtaV9pbmZvZnJhbWUgPSBmYWxzZTsKIAog CWlmIChlZGlkLT5yZXZpc2lvbiA8IDMpCiAJCXJldHVybjsKQEAgLTQ5MDMsNiArNDkwOSw3IEBA IHMzZF9zdHJ1Y3R1cmVfZnJvbV9kaXNwbGF5X21vZGUoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUpCiAgKiBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCkgLSBmaWxsIGFuIEhETUkgaW5mb2ZyYW1lIHdpdGgKICAqIGRhdGEgZnJvbSBhIERSTSBk aXNwbGF5IG1vZGUKICAqIEBmcmFtZTogSERNSSB2ZW5kb3IgaW5mb2ZyYW1lCisgKiBAY29ubmVj dG9yOiB0aGUgY29ubmVjdG9yCiAgKiBAbW9kZTogRFJNIGRpc3BsYXkgbW9kZQogICoKICAqIE5v dGUgdGhhdCB0aGVyZSdzIGlzIGEgbmVlZCB0byBzZW5kIEhETUkgdmVuZG9yIGluZm9mcmFtZXMg b25seSB3aGVuIHVzaW5nIGEKQEAgLTQ5MTMsOCArNDkyMCwxNSBAQCBzM2Rfc3RydWN0dXJlX2Zy b21fZGlzcGxheV9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogICov CiBpbnQKIGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0 IGhkbWlfdmVuZG9yX2luZm9mcmFtZSAqZnJhbWUsCisJCQkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAogCQkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpCiB7CisJLyoKKwkgKiBGSVhNRTogc2lsLXNpaTg2MjAgZG9lc24ndCBoYXZlIGEgY29u bmVjdG9yIGFyb3VuZCB3aGVuCisJICogd2UgbmVlZCBvbmUsIHNvIHdlIGhhdmUgdG8gYmUgcHJl cGFyZWQgZm9yIGEgTlVMTCBjb25uZWN0b3IuCisJICovCisJYm9vbCBoYXNfaGRtaV9pbmZvZnJh bWUgPSBjb25uZWN0b3IgPworCQljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oYXNfaGRtaV9pbmZv ZnJhbWUgOiBmYWxzZTsKIAlpbnQgZXJyOwogCXUzMiBzM2RfZmxhZ3M7CiAJdTggdmljOwpAQCAt NDkyMiwxMSArNDkzNiwyMSBAQCBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAogCWlmICghZnJhbWUg fHwgIW1vZGUpCiAJCXJldHVybiAtRUlOVkFMOwogCisJaWYgKCFoYXNfaGRtaV9pbmZvZnJhbWUp CisJCXJldHVybiAtRUlOVkFMOworCiAJdmljID0gZHJtX21hdGNoX2hkbWlfbW9kZShtb2RlKTsK IAlzM2RfZmxhZ3MgPSBtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfM0RfTUFTSzsKIAotCWlm ICghdmljICYmICFzM2RfZmxhZ3MpCi0JCXJldHVybiAtRUlOVkFMOworCS8qCisJICogRXZlbiBp ZiBpdCdzIG5vdCBhYnNvbHV0ZWx5IG5lY2Vzc2FyeSB0byBzZW5kIHRoZSBpbmZvZnJhbWUKKwkg KiAoaWUudmljPT0wIGFuZCBzM2Rfc3RydWN0PT0wKSB3ZSB3aWxsIHN0aWxsIHNlbmQgaXQgaWYg d2UKKwkgKiBrbm93IHRoYXQgdGhlIHNpbmsgY2FuIGhhbmRsZSBpdC4gVGhpcyBpcyBiYXNlZCBv biBhCisJICogc3VnZ2VzdGlvbiBpbiBIRE1JIDIuMCBBcHBlbmRpeCBGLiBBcHBhcmVudGx5IHNv bWUgc2lua3MKKwkgKiBoYXZlIHRyb3VibGUgcmVhbGl6aW5nIHRoYXQgdGhleSBzaHVsZCBzd2l0 Y2ggZnJvbSAzRCB0byAyRAorCSAqIG1vZGUgaWYgdGhlIHNvdXJjZSBzaW1wbHkgc3RvcHMgc2Vu ZGluZyB0aGUgaW5mb2ZyYW1lIHdoZW4KKwkgKiBpdCB3YW50cyB0byBzd2l0Y2ggZnJvbSAzRCB0 byAyRC4KKwkgKi8KIAogCWlmICh2aWMgJiYgczNkX2ZsYWdzKQogCQlyZXR1cm4gLUVJTlZBTDsK QEAgLTQ5MzUsMTAgKzQ5NTksOCBAQCBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAogCWlmIChlcnIg PCAwKQogCQlyZXR1cm4gZXJyOwogCi0JaWYgKHZpYykKLQkJZnJhbWUtPnZpYyA9IHZpYzsKLQll bHNlCi0JCWZyYW1lLT5zM2Rfc3RydWN0ID0gczNkX3N0cnVjdHVyZV9mcm9tX2Rpc3BsYXlfbW9k ZShtb2RlKTsKKwlmcmFtZS0+dmljID0gdmljOworCWZyYW1lLT5zM2Rfc3RydWN0ID0gczNkX3N0 cnVjdHVyZV9mcm9tX2Rpc3BsYXlfbW9kZShtb2RlKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCmluZGV4IDAxMDlmZjQwYjFkYi4uODEyYjI3NzNlZDY5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCkBAIC03OTUsNyArNzk1LDcgQEAg c3RhdGljIHZvaWQgaGRtaV9yZWdfaW5mb2ZyYW1lcyhzdHJ1Y3QgaGRtaV9jb250ZXh0ICpoZGF0 YSkKIAl9CiAKIAlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCZmcm0udmVuZG9yLmhkbWksCi0JCQkmaGRhdGEtPmN1cnJlbnRfbW9kZSk7CisJCQkmaGRh dGEtPmNvbm5lY3RvciwgJmhkYXRhLT5jdXJyZW50X21vZGUpOwogCWlmICghcmV0KQogCQlyZXQg PSBoZG1pX3ZlbmRvcl9pbmZvZnJhbWVfcGFjaygmZnJtLnZlbmRvci5oZG1pLCBidWYsCiAJCQkJ c2l6ZW9mKGJ1ZikpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IDJkOTVkYjY0Y2Rm Mi4uMmNjYmE0Y2NmN2FkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC01MTIsMTIg KzUxMiwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAogc3RhdGljIHZvaWQKIGludGVsX2hkbWlfc2V0X2hk bWlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKLQkJCSAgICAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQorCQkJICAgICAgY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCisJCQkgICAgICBjb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAl1bmlvbiBoZG1pX2luZm9mcmFt ZSBmcmFtZTsKIAlpbnQgcmV0OwogCiAJcmV0ID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUudmVuZG9yLmhkbWksCisJCQkJCQkJICBjb25uX3N0YXRl LT5jb25uZWN0b3IsCiAJCQkJCQkJICAmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlKTsK IAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuOwpAQCAtNTg0LDcgKzU4Niw3IEBAIHN0YXRpYyB2b2lk IGc0eF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAKIAlpbnRl bF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwogCWludGVsX2hk bWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Ci0JaW50ZWxfaGRtaV9z ZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7CisJaW50ZWxfaGRtaV9zZXRf aGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiB9CiAKIHN0 YXRpYyBib29sIGhkbWlfc2lua19pc19kZWVwX2NvbG9yKGNvbnN0IHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlKQpAQCAtNzI1LDcgKzcyNyw3IEBAIHN0YXRpYyB2b2lkIGli eF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAKIAlpbnRlbF9o ZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwogCWludGVsX2hkbWlf c2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7Ci0JaW50ZWxfaGRtaV9zZXRf aGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7CisJaW50ZWxfaGRtaV9zZXRfaGRt aV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiB9CiAKIHN0YXRp YyB2b2lkIGNwdF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCkBA IC03NjgsNyArNzcwLDcgQEAgc3RhdGljIHZvaWQgY3B0X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKIAogCWludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoZW5j b2RlciwgY3J0Y19zdGF0ZSk7CiAJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVy LCBjcnRjX3N0YXRlKTsKLQlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBj cnRjX3N0YXRlKTsKKwlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBjcnRj X3N0YXRlLCBjb25uX3N0YXRlKTsKIH0KIAogc3RhdGljIHZvaWQgdmx2X3NldF9pbmZvZnJhbWVz KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKQEAgLTgyMSw3ICs4MjMsNyBAQCBzdGF0aWMg dm9pZCB2bHZfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCiAJ aW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIAlpbnRl bF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwotCWludGVsX2hk bWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOworCWludGVsX2hkbWlf c2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwogfQog CiBzdGF0aWMgdm9pZCBoc3dfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyLApAQCAtODU0LDcgKzg1Niw3IEBAIHN0YXRpYyB2b2lkIGhzd19zZXRfaW5mb2ZyYW1lcyhz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAKIAlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2Zy YW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOwogCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUo ZW5jb2RlciwgY3J0Y19zdGF0ZSk7Ci0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5j b2RlciwgY3J0Y19zdGF0ZSk7CisJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2Rl ciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiB9CiAKIHZvaWQgaW50ZWxfZHBfZHVhbF9tb2Rl X3NldF90bWRzX291dHB1dChzdHJ1Y3QgaW50ZWxfaGRtaSAqaGRtaSwgYm9vbCBlbmFibGUpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCmluZGV4IGI3ODc5MTA2MTk4My4uNTlhMTEwMjZk Y2ViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwpAQCAtMTA1NCw3ICsxMDU0LDgg QEAgc3RhdGljIGludCBtdGtfaGRtaV9zZXR1cF92ZW5kb3Jfc3BlY2lmaWNfaW5mb2ZyYW1lKHN0 cnVjdCBtdGtfaGRtaSAqaGRtaSwKIAl1OCBidWZmZXJbMTBdOwogCXNzaXplX3QgZXJyOwogCi0J ZXJyID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUs IG1vZGUpOworCWVyciA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLAorCQkJCQkJCSAgJmhkbWktPmNvbm4sIG1vZGUpOwogCWlmIChlcnIpIHsKIAkJ ZGV2X2VycihoZG1pLT5kZXYsCiAJCQkiRmFpbGVkIHRvIGdldCB2ZW5kb3IgaW5mb2ZyYW1lIGZy b20gbW9kZTogJXpkXG4iLCBlcnIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbnY1MF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3BsYXku YwppbmRleCBiMjZhNTA2ZDIwY2EuLjlkN2IyYWZkN2NmYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbnY1MF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbnY1MF9kaXNwbGF5LmMKQEAgLTI3NTQsNyArMjc1NCw4IEBAIG52NTBfaGRtaV9lbmFibGUo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKIAkJCT0gaGRtaV9pbmZvZnJhbWVfcGFjaygmYXZpX2ZyYW1lLCBhcmdzLmluZm9mcmFtZXMs IDE3KTsKIAl9CiAKLQlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZ2ZW5kb3JfZnJhbWUudmVuZG9yLmhkbWksIG1vZGUpOworCXJldCA9IGRybV9oZG1p X3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJnZlbmRvcl9mcmFtZS52ZW5kb3Iu aGRtaSwKKwkJCQkJCQkgICZudl9jb25uZWN0b3ItPmJhc2UsIG1vZGUpOwogCWlmICghcmV0KSB7 CiAJCS8qIFdlIGhhdmUgYSBWZW5kb3IgSW5mb0ZyYW1lLCBwb3B1bGF0ZSBpdCB0byB0aGUgZGlz cGxheSAqLwogCQlhcmdzLnB3ci52ZW5kb3JfaW5mb2ZyYW1lX2xlbmd0aApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL2lubm9faGRtaS5jCmluZGV4IGVlNTg0ZDg3MTExZi4uZmFiMzA5MjdhODg5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCkBAIC0yODIsNiArMjgyLDcgQEAgc3RhdGlj IGludCBpbm5vX2hkbWlfY29uZmlnX3ZpZGVvX3ZzaShzdHJ1Y3QgaW5ub19oZG1pICpoZG1pLAog CWludCByYzsKIAogCXJjID0gZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZSgmZnJhbWUudmVuZG9yLmhkbWksCisJCQkJCQkJICZoZG1pLT5jb25uZWN0b3IsCiAJCQkJ CQkJIG1vZGUpOwogCiAJcmV0dXJuIGlubm9faGRtaV91cGxvYWRfZnJhbWUoaGRtaSwgcmMsICZm cmFtZSwgSU5GT0ZSQU1FX1ZTSSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwppbmRleCBkMTkwMjc1MGE4 NWQuLmMzYjI5MmFiMTdhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRt aS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwpAQCAtNTE1LDcgKzUxNSw5 IEBAIHN0YXRpYyBpbnQgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2NvbmZpZyhzdHJ1Y3Qgc3RpX2hk bWkgKmhkbWkpCiAKIAlEUk1fREVCVUdfRFJJVkVSKCJcbiIpOwogCi0JcmV0ID0gZHJtX2hkbWlf dmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlKTsKKwly ZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZpbmZvZnJh bWUsCisJCQkJCQkJICBoZG1pLT5kcm1fY29ubmVjdG9yLAorCQkJCQkJCSAgbW9kZSk7CiAJaWYg KHJldCA8IDApIHsKIAkJLyoKIAkJICogR29pbmcgaW50byB0aGF0IHN0YXRlbWVudCBkb2VzIG5v dCBtZWFucyB2ZW5kb3IgaW5mb2ZyYW1lCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRl L3p4X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jCmluZGV4IGI4YWJiMWI0 OTZmZi4uMTNlYTkwZjdhMTg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hk bWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwpAQCAtMTA4LDYgKzEwOCw3 IEBAIHN0YXRpYyBpbnQgenhfaGRtaV9jb25maWdfdmlkZW9fdnNpKHN0cnVjdCB6eF9oZG1pICpo ZG1pLAogCWludCByZXQ7CiAKIAlyZXQgPSBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZS52ZW5kb3IuaGRtaSwKKwkJCQkJCQkgICZoZG1pLT5jb25uZWN0 b3IsCiAJCQkJCQkJICBtb2RlKTsKIAlpZiAocmV0KSB7CiAJCURSTV9ERVZfRVJST1IoaGRtaS0+ ZGV2LCAiZmFpbGVkIHRvIGdldCB2ZW5kb3IgaW5mb2ZyYW1lOiAlZFxuIiwKZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aAppbmRleCAyYjk3ZDFlMjhmNjAuLjE1NDMyMTJiMDQ0OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaApAQCAt MjcwLDYgKzI3MCwxMSBAQCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyB7CiAJYm9vbCBkdmlfZHVh bDsKIAogCS8qKgorCSAqIEBoYXNfaGRtaV9pbmZvZnJhbWU6IERvZXMgdGhlIHNpbmsgc3VwcG9y dCB0aGUgSERNSSBpbmZvZnJhbWU/CisJICovCisJYm9vbCBoYXNfaGRtaV9pbmZvZnJhbWU7CisK KwkvKioKIAkgKiBAZWRpZF9oZG1pX2RjX21vZGVzOiBNYXNrIG9mIHN1cHBvcnRlZCBoZG1pIGRl ZXAgY29sb3IgbW9kZXMuIEV2ZW4KIAkgKiBtb3JlIHN0dWZmIHJlZHVuZGFudCB3aXRoIEBidXNf Zm9ybWF0cy4KIAkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmggYi9pbmNs dWRlL2RybS9kcm1fZWRpZC5oCmluZGV4IDllNGUyMzUyNDg0MC4uM2M4NzQwYWQxZGI2IDEwMDY0 NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9lZGlk LmgKQEAgLTM1Niw2ICszNTYsNyBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAogCQkJCQkgYm9vbCBpc19o ZG1pMl9zaW5rKTsKIGludAogZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZShzdHJ1Y3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKKwkJCQkJICAgIHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSk7CiB2b2lkCiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3Jh bmdlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAotLSAKMi4xMy42CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK