From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [RFC v4 10/25] drm/connector: Add drm_connector_has_preferred_mode/pick_cmdline_mode() Date: Thu, 12 Apr 2018 15:17:12 +0200 Message-ID: <20180412131727.8914-11-noralf@tronnes.org> References: <20180412131727.8914-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180412131727.8914-1-noralf@tronnes.org> 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: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, laurent.pinchart@ideasonboard.com, mstaudt@suse.de List-Id: dri-devel@lists.freedesktop.org TW92ZSB0aGVtIG92ZXIgZnJvbSBkcm1fZmJfaGVscGVyIHNpbmNlIHRoZXkgYXJlIGNvbm5lY3Rv ciBmdW5jdGlvbnMuCgpTaWduZWQtb2ZmLWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9u bmVzLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgIHwgOTQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1f ZmJfaGVscGVyLmMgICAgfCA3NSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgfCAgNyArLS0KIGluY2x1ZGUvZHJtL2RybV9j b25uZWN0b3IuaCAgICAgICAgfCAgNiArKysKIGluY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCAg ICAgICAgfCAxOSAtLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwg OTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKaW5kZXggYjNjZGU4OTdjZDgw Li5iOWViMTQzZDcwZmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9y LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwpAQCAtMTc2MCwzICsxNzYw LDk3IEBAIHN0cnVjdCBkcm1fdGlsZV9ncm91cCAqZHJtX21vZGVfY3JlYXRlX3RpbGVfZ3JvdXAo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXR1cm4gdGc7CiB9CiBFWFBPUlRfU1lNQk9MKGRy bV9tb2RlX2NyZWF0ZV90aWxlX2dyb3VwKTsKKworLyoqCisgKiBkcm1fY29ubmVjdG9yX2hhc19w cmVmZXJyZWRfbW9kZSgpIC0gTG9va3VwIHByZWZlcnJlZCBkaXNwbGF5IG1vZGUKKyAqIEBjb25u ZWN0b3I6IERSTSBjb25uZWN0b3IKKyAqIEB3aWR0aDogTWF4IHdpZHRoCisgKiBAaGVpZ2h0OiBN YXggaGVpZ2h0CisgKgorICogTG9vayBmb3IgYSBwcmVmZXJyZWQgZGlzcGxheSBtb2RlIHdpdGhp biB0aGUgYm91bmRzIG9mIEB3aWR0aCBhbmQgQGhlaWdodAorICogKGluY2x1c2l2ZSkuCisgKgor ICogUmV0dXJuczoKKyAqIEEgJmRybV9kaXNwbGF5X21vZGUgb3IgTlVMTC4KKyAqLworc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKgorZHJtX2Nvbm5lY3Rvcl9oYXNfcHJlZmVycmVkX21vZGUoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkgaW50IHdpZHRoLCBpbnQgaGVpZ2h0 KQoreworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOworCisJbGlzdF9mb3JfZWFjaF9l bnRyeShtb2RlLCAmY29ubmVjdG9yLT5tb2RlcywgaGVhZCkgeworCQlpZiAobW9kZS0+aGRpc3Bs YXkgPiB3aWR0aCB8fCBtb2RlLT52ZGlzcGxheSA+IGhlaWdodCkKKwkJCWNvbnRpbnVlOworCQlp ZiAobW9kZS0+dHlwZSAmIERSTV9NT0RFX1RZUEVfUFJFRkVSUkVEKQorCQkJcmV0dXJuIG1vZGU7 CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3JfaGFz X3ByZWZlcnJlZF9tb2RlKTsKKworLyoqCisgKiBkcm1fY29ubmVjdG9yX3BpY2tfY21kbGluZV9t b2RlKCkgLSBHZXQgY29tbWFuZGxpbmUgZGlzcGxheSBtb2RlCisgKiBAY29ubmVjdG9yOiBEUk0g Y29ubmVjdG9yCisgKgorICogUmV0dXJuIHRoZSBkaXNwbGF5IG1vZGUgc3BlY2lmaWVkIG9uIHRo ZSBrZXJuZWwgY29tbWFuZGxpbmUgb3IgTlVMTCBpZiBub3QKKyAqIHNwZWNpZmllZC4KKyAqCisg KiBSZXR1cm5zOgorICogQSAmZHJtX2Rpc3BsYXlfbW9kZSBvciBOVUxMLgorICovCitzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqCitkcm1fY29ubmVjdG9yX3BpY2tfY21kbGluZV9tb2RlKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0IGRybV9jbWRsaW5lX21vZGUg KmNtZGxpbmVfbW9kZTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKKwlib29sIHBy ZWZlcl9ub25faW50ZXJsYWNlOworCisJY21kbGluZV9tb2RlID0gJmNvbm5lY3Rvci0+Y21kbGlu ZV9tb2RlOworCWlmICghY21kbGluZV9tb2RlLT5zcGVjaWZpZWQpCisJCXJldHVybiBOVUxMOwor CisJLyogYXR0ZW1wdCB0byBmaW5kIGEgbWF0Y2hpbmcgbW9kZSBpbiB0aGUgbGlzdCBvZiBtb2Rl cworCSAqICB3ZSBoYXZlIGdvdHRlbiBzbyBmYXIsIGlmIG5vdCBhZGQgYSBDVlQgbW9kZSB0aGF0 IGNvbmZvcm1zCisJICovCisJaWYgKGNtZGxpbmVfbW9kZS0+cmIgfHwgY21kbGluZV9tb2RlLT5t YXJnaW5zKQorCQlnb3RvIGNyZWF0ZV9tb2RlOworCisJcHJlZmVyX25vbl9pbnRlcmxhY2UgPSAh Y21kbGluZV9tb2RlLT5pbnRlcmxhY2U7CithZ2FpbjoKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KG1v ZGUsICZjb25uZWN0b3ItPm1vZGVzLCBoZWFkKSB7CisJCS8qIGNoZWNrIHdpZHRoL2hlaWdodCAq LworCQlpZiAobW9kZS0+aGRpc3BsYXkgIT0gY21kbGluZV9tb2RlLT54cmVzIHx8CisJCSAgICBt b2RlLT52ZGlzcGxheSAhPSBjbWRsaW5lX21vZGUtPnlyZXMpCisJCQljb250aW51ZTsKKworCQlp ZiAoY21kbGluZV9tb2RlLT5yZWZyZXNoX3NwZWNpZmllZCkgeworCQkJaWYgKG1vZGUtPnZyZWZy ZXNoICE9IGNtZGxpbmVfbW9kZS0+cmVmcmVzaCkKKwkJCQljb250aW51ZTsKKwkJfQorCisJCWlm IChjbWRsaW5lX21vZGUtPmludGVybGFjZSkgeworCQkJaWYgKCEobW9kZS0+ZmxhZ3MgJiBEUk1f TU9ERV9GTEFHX0lOVEVSTEFDRSkpCisJCQkJY29udGludWU7CisJCX0gZWxzZSBpZiAocHJlZmVy X25vbl9pbnRlcmxhY2UpIHsKKwkJCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5U RVJMQUNFKQorCQkJCWNvbnRpbnVlOworCQl9CisKKwkJcmV0dXJuIG1vZGU7CisJfQorCisJaWYg KHByZWZlcl9ub25faW50ZXJsYWNlKSB7CisJCXByZWZlcl9ub25faW50ZXJsYWNlID0gZmFsc2U7 CisJCWdvdG8gYWdhaW47CisJfQorCitjcmVhdGVfbW9kZToKKwltb2RlID0gZHJtX21vZGVfY3Jl YXRlX2Zyb21fY21kbGluZV9tb2RlKGNvbm5lY3Rvci0+ZGV2LAorCQkJCQkJIGNtZGxpbmVfbW9k ZSk7CisJbGlzdF9hZGQoJm1vZGUtPmhlYWQsICZjb25uZWN0b3ItPm1vZGVzKTsKKworCXJldHVy biBtb2RlOworfQorRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX3BpY2tfY21kbGluZV9tb2Rl KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCmluZGV4IDc4NWEyZjVkMjY0Ny4uYjk5MmY1OWRhZDMw IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKQEAgLTE3NzQsNzggKzE3NzQsMTEgQEAgc3RhdGlj IGludCBkcm1fZmJfaGVscGVyX3Byb2JlX2Nvbm5lY3Rvcl9tb2RlcyhzdHJ1Y3QgZHJtX2ZiX2hl bHBlciAqZmJfaGVscGVyLAogCXJldHVybiBjb3VudDsKIH0KIAotc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmRybV9oYXNfcHJlZmVycmVkX21vZGUoc3RydWN0IGRybV9mYl9oZWxwZXJfY29ubmVj dG9yICpmYl9jb25uZWN0b3IsIGludCB3aWR0aCwgaW50IGhlaWdodCkKLXsKLQlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZTsKLQotCWxpc3RfZm9yX2VhY2hfZW50cnkobW9kZSwgJmZiX2Nv bm5lY3Rvci0+Y29ubmVjdG9yLT5tb2RlcywgaGVhZCkgewotCQlpZiAobW9kZS0+aGRpc3BsYXkg PiB3aWR0aCB8fAotCQkgICAgbW9kZS0+dmRpc3BsYXkgPiBoZWlnaHQpCi0JCQljb250aW51ZTsK LQkJaWYgKG1vZGUtPnR5cGUgJiBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRCkKLQkJCXJldHVybiBt b2RlOwotCX0KLQlyZXR1cm4gTlVMTDsKLX0KLUVYUE9SVF9TWU1CT0woZHJtX2hhc19wcmVmZXJy ZWRfbW9kZSk7Ci0KIHN0YXRpYyBib29sIGRybV9oYXNfY21kbGluZV9tb2RlKHN0cnVjdCBkcm1f ZmJfaGVscGVyX2Nvbm5lY3RvciAqZmJfY29ubmVjdG9yKQogewogCXJldHVybiBmYl9jb25uZWN0 b3ItPmNvbm5lY3Rvci0+Y21kbGluZV9tb2RlLnNwZWNpZmllZDsKIH0KIAotc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmRybV9waWNrX2NtZGxpbmVfbW9kZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9j b25uZWN0b3IgKmZiX2hlbHBlcl9jb25uKQotewotCXN0cnVjdCBkcm1fY21kbGluZV9tb2RlICpj bWRsaW5lX21vZGU7Ci0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Ci0JYm9vbCBwcmVm ZXJfbm9uX2ludGVybGFjZTsKLQotCWNtZGxpbmVfbW9kZSA9ICZmYl9oZWxwZXJfY29ubi0+Y29u bmVjdG9yLT5jbWRsaW5lX21vZGU7Ci0JaWYgKGNtZGxpbmVfbW9kZS0+c3BlY2lmaWVkID09IGZh bHNlKQotCQlyZXR1cm4gTlVMTDsKLQotCS8qIGF0dGVtcHQgdG8gZmluZCBhIG1hdGNoaW5nIG1v ZGUgaW4gdGhlIGxpc3Qgb2YgbW9kZXMKLQkgKiAgd2UgaGF2ZSBnb3R0ZW4gc28gZmFyLCBpZiBu b3QgYWRkIGEgQ1ZUIG1vZGUgdGhhdCBjb25mb3JtcwotCSAqLwotCWlmIChjbWRsaW5lX21vZGUt PnJiIHx8IGNtZGxpbmVfbW9kZS0+bWFyZ2lucykKLQkJZ290byBjcmVhdGVfbW9kZTsKLQotCXBy ZWZlcl9ub25faW50ZXJsYWNlID0gIWNtZGxpbmVfbW9kZS0+aW50ZXJsYWNlOwotYWdhaW46Ci0J bGlzdF9mb3JfZWFjaF9lbnRyeShtb2RlLCAmZmJfaGVscGVyX2Nvbm4tPmNvbm5lY3Rvci0+bW9k ZXMsIGhlYWQpIHsKLQkJLyogY2hlY2sgd2lkdGgvaGVpZ2h0ICovCi0JCWlmIChtb2RlLT5oZGlz cGxheSAhPSBjbWRsaW5lX21vZGUtPnhyZXMgfHwKLQkJICAgIG1vZGUtPnZkaXNwbGF5ICE9IGNt ZGxpbmVfbW9kZS0+eXJlcykKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChjbWRsaW5lX21vZGUtPnJl ZnJlc2hfc3BlY2lmaWVkKSB7Ci0JCQlpZiAobW9kZS0+dnJlZnJlc2ggIT0gY21kbGluZV9tb2Rl LT5yZWZyZXNoKQotCQkJCWNvbnRpbnVlOwotCQl9Ci0KLQkJaWYgKGNtZGxpbmVfbW9kZS0+aW50 ZXJsYWNlKSB7Ci0JCQlpZiAoIShtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNF KSkKLQkJCQljb250aW51ZTsKLQkJfSBlbHNlIGlmIChwcmVmZXJfbm9uX2ludGVybGFjZSkgewot CQkJaWYgKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpCi0JCQkJY29udGlu dWU7Ci0JCX0KLQkJcmV0dXJuIG1vZGU7Ci0JfQotCi0JaWYgKHByZWZlcl9ub25faW50ZXJsYWNl KSB7Ci0JCXByZWZlcl9ub25faW50ZXJsYWNlID0gZmFsc2U7Ci0JCWdvdG8gYWdhaW47Ci0JfQot Ci1jcmVhdGVfbW9kZToKLQltb2RlID0gZHJtX21vZGVfY3JlYXRlX2Zyb21fY21kbGluZV9tb2Rl KGZiX2hlbHBlcl9jb25uLT5jb25uZWN0b3ItPmRldiwKLQkJCQkJCSBjbWRsaW5lX21vZGUpOwot CWxpc3RfYWRkKCZtb2RlLT5oZWFkLCAmZmJfaGVscGVyX2Nvbm4tPmNvbm5lY3Rvci0+bW9kZXMp OwotCXJldHVybiBtb2RlOwotfQotRVhQT1JUX1NZTUJPTChkcm1fcGlja19jbWRsaW5lX21vZGUp OwotCiBzdGF0aWMgYm9vbCBkcm1fY29ubmVjdG9yX2VuYWJsZWQoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwgYm9vbCBzdHJpY3QpCiB7CiAJYm9vbCBlbmFibGU7CkBAIC0xOTE2LDcg KzE4NDksNyBAQCBzdGF0aWMgYm9vbCBkcm1fdGFyZ2V0X2Nsb25lZChzdHJ1Y3QgZHJtX2ZiX2hl bHBlciAqZmJfaGVscGVyLAogCQlpZiAoIWVuYWJsZWRbaV0pCiAJCQljb250aW51ZTsKIAkJZmJf aGVscGVyX2Nvbm4gPSBmYl9oZWxwZXItPmNvbm5lY3Rvcl9pbmZvW2ldOwotCQltb2Rlc1tpXSA9 IGRybV9waWNrX2NtZGxpbmVfbW9kZShmYl9oZWxwZXJfY29ubik7CisJCW1vZGVzW2ldID0gZHJt X2Nvbm5lY3Rvcl9waWNrX2NtZGxpbmVfbW9kZShmYl9oZWxwZXJfY29ubi0+Y29ubmVjdG9yKTsK IAkJaWYgKCFtb2Rlc1tpXSkgewogCQkJY2FuX2Nsb25lID0gZmFsc2U7CiAJCQlicmVhazsKQEAg LTIwNDAsMTEgKzE5NzMsMTEgQEAgc3RhdGljIGJvb2wgZHJtX3RhcmdldF9wcmVmZXJyZWQoc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKIAkJCSAgICAgIGZiX2hlbHBlcl9jb25uLT5j b25uZWN0b3ItPmJhc2UuaWQpOwogCiAJCS8qIGdvdCBmb3IgY29tbWFuZCBsaW5lIG1vZGUgZmly c3QgKi8KLQkJbW9kZXNbaV0gPSBkcm1fcGlja19jbWRsaW5lX21vZGUoZmJfaGVscGVyX2Nvbm4p OworCQltb2Rlc1tpXSA9IGRybV9jb25uZWN0b3JfcGlja19jbWRsaW5lX21vZGUoZmJfaGVscGVy X2Nvbm4tPmNvbm5lY3Rvcik7CiAJCWlmICghbW9kZXNbaV0pIHsKIAkJCURSTV9ERUJVR19LTVMo Imxvb2tpbmcgZm9yIHByZWZlcnJlZCBtb2RlIG9uIGNvbm5lY3RvciAlZCAlZFxuIiwKIAkJCQkg ICAgICBmYl9oZWxwZXJfY29ubi0+Y29ubmVjdG9yLT5iYXNlLmlkLCBmYl9oZWxwZXJfY29ubi0+ Y29ubmVjdG9yLT50aWxlX2dyb3VwID8gZmJfaGVscGVyX2Nvbm4tPmNvbm5lY3Rvci0+dGlsZV9n cm91cC0+aWQgOiAwKTsKLQkJCW1vZGVzW2ldID0gZHJtX2hhc19wcmVmZXJyZWRfbW9kZShmYl9o ZWxwZXJfY29ubiwgd2lkdGgsIGhlaWdodCk7CisJCQltb2Rlc1tpXSA9IGRybV9jb25uZWN0b3Jf aGFzX3ByZWZlcnJlZF9tb2RlKGZiX2hlbHBlcl9jb25uLT5jb25uZWN0b3IsIHdpZHRoLCBoZWln aHQpOwogCQl9CiAJCS8qIE5vIHByZWZlcnJlZCBtb2RlcywgcGljayBvbmUgb2ZmIHRoZSBsaXN0 ICovCiAJCWlmICghbW9kZXNbaV0gJiYgIWxpc3RfZW1wdHkoJmZiX2hlbHBlcl9jb25uLT5jb25u ZWN0b3ItPm1vZGVzKSkgewpAQCAtMjA5Nyw3ICsyMDMwLDcgQEAgc3RhdGljIGludCBkcm1fcGlj a19jcnRjcyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAogCQlteV9zY29yZSsrOwog CWlmIChkcm1faGFzX2NtZGxpbmVfbW9kZShmYl9oZWxwZXJfY29ubikpCiAJCW15X3Njb3JlKys7 Ci0JaWYgKGRybV9oYXNfcHJlZmVycmVkX21vZGUoZmJfaGVscGVyX2Nvbm4sIHdpZHRoLCBoZWln aHQpKQorCWlmIChkcm1fY29ubmVjdG9yX2hhc19wcmVmZXJyZWRfbW9kZShjb25uZWN0b3IsIHdp ZHRoLCBoZWlnaHQpKQogCQlteV9zY29yZSsrOwogCiAJY29ubmVjdG9yX2Z1bmNzID0gY29ubmVj dG9yLT5oZWxwZXJfcHJpdmF0ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2ZiZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCmluZGV4IDg5 NTkyZWNjNDRjYS4uYTRhYjg1NzVhNzJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9mYmRldi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMK QEAgLTQyMSwxNCArNDIxLDE1IEBAIHN0YXRpYyBib29sIGludGVsX2ZiX2luaXRpYWxfY29uZmln KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCiAJCQkgICAgICBjb25uZWN0b3ItPm5h bWUpOwogCiAJCS8qIGdvIGZvciBjb21tYW5kIGxpbmUgbW9kZSBmaXJzdCAqLwotCQltb2Rlc1tp XSA9IGRybV9waWNrX2NtZGxpbmVfbW9kZShmYl9jb25uKTsKKwkJbW9kZXNbaV0gPSBkcm1fY29u bmVjdG9yX3BpY2tfY21kbGluZV9tb2RlKGNvbm5lY3Rvcik7CiAKIAkJLyogdHJ5IGZvciBwcmVm ZXJyZWQgbmV4dCAqLwogCQlpZiAoIW1vZGVzW2ldKSB7CiAJCQlEUk1fREVCVUdfS01TKCJsb29r aW5nIGZvciBwcmVmZXJyZWQgbW9kZSBvbiBjb25uZWN0b3IgJXMgJWRcbiIsCiAJCQkJICAgICAg Y29ubmVjdG9yLT5uYW1lLCBjb25uZWN0b3ItPmhhc190aWxlKTsKLQkJCW1vZGVzW2ldID0gZHJt X2hhc19wcmVmZXJyZWRfbW9kZShmYl9jb25uLCB3aWR0aCwKLQkJCQkJCQkgIGhlaWdodCk7CisJ CQltb2Rlc1tpXSA9IGRybV9jb25uZWN0b3JfaGFzX3ByZWZlcnJlZF9tb2RlKGNvbm5lY3RvciwK KwkJCQkJCQkJICAgIHdpZHRoLAorCQkJCQkJCQkgICAgaGVpZ2h0KTsKIAkJfQogCiAJCS8qIE5v IHByZWZlcnJlZCBtb2RlIG1hcmtlZCBieSB0aGUgRURJRD8gQXJlIHRoZXJlIGFueSBtb2Rlcz8g Ki8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJt L2RybV9jb25uZWN0b3IuaAppbmRleCA2NzVjYzNmOGNmODUuLjljYjRjYTQyMzczYyAxMDA2NDQK LS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9j b25uZWN0b3IuaApAQCAtMTE2Myw0ICsxMTYzLDEwIEBAIHZvaWQgZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfZW5kKHN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciAqaXRlcik7CiAjZGVmaW5l IGRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsIGl0ZXIpIFwKIAl3aGlsZSAo KGNvbm5lY3RvciA9IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX25leHQoaXRlcikpKQogCitzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqCitkcm1fY29ubmVjdG9yX2hhc19wcmVmZXJyZWRfbW9kZShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJCSBpbnQgd2lkdGgsIGludCBoZWln aHQpOworc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKgorZHJtX2Nvbm5lY3Rvcl9waWNrX2NtZGxp bmVfbW9kZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKKwogI2VuZGlmCmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZmJf aGVscGVyLmgKaW5kZXggZTJkZjQwYWQ1MDYzLi5mMzc5ZWY2ZDYwODUgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVy LmgKQEAgLTMxMSwxMSArMzExLDYgQEAgaW50IGRybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25maWco c3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwgaW50IGJwcF9zZWwpOwogaW50IGRybV9m Yl9oZWxwZXJfc2luZ2xlX2FkZF9hbGxfY29ubmVjdG9ycyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAq ZmJfaGVscGVyKTsKIGludCBkcm1fZmJfaGVscGVyX2RlYnVnX2VudGVyKHN0cnVjdCBmYl9pbmZv ICppbmZvKTsKIGludCBkcm1fZmJfaGVscGVyX2RlYnVnX2xlYXZlKHN0cnVjdCBmYl9pbmZvICpp bmZvKTsKLXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICoKLWRybV9oYXNfcHJlZmVycmVkX21vZGUo c3RydWN0IGRybV9mYl9oZWxwZXJfY29ubmVjdG9yICpmYl9jb25uZWN0b3IsCi0JCQlpbnQgd2lk dGgsIGludCBoZWlnaHQpOwotc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKgotZHJtX3BpY2tfY21k bGluZV9tb2RlKHN0cnVjdCBkcm1fZmJfaGVscGVyX2Nvbm5lY3RvciAqZmJfaGVscGVyX2Nvbm4p OwogCiBpbnQgZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2ZiX2hl bHBlciAqZmJfaGVscGVyLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBk cm1fZmJfaGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpm Yl9oZWxwZXIsCkBAIC01MTAsMjAgKzUwNSw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IGRybV9mYl9o ZWxwZXJfZGVidWdfbGVhdmUoc3RydWN0IGZiX2luZm8gKmluZm8pCiAJcmV0dXJuIDA7CiB9CiAK LXN0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKgotZHJtX2hhc19wcmVmZXJy ZWRfbW9kZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jb25uZWN0b3IgKmZiX2Nvbm5lY3RvciwKLQkJ ICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkKLXsKLQlyZXR1cm4gTlVMTDsKLX0KLQotc3Rh dGljIGlubGluZSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqCi1kcm1fcGlja19jbWRsaW5lX21v ZGUoc3RydWN0IGRybV9mYl9oZWxwZXJfY29ubmVjdG9yICpmYl9oZWxwZXJfY29ubiwKLQkJICAg ICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQotewotCXJldHVybiBOVUxMOwotfQotCiBzdGF0aWMg aW5saW5lIGludAogZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2Zi X2hlbHBlciAqZmJfaGVscGVyLAogCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip Ci0tIAoyLjE1LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=