From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH] drm/i915: introduce struct intel_crtc_config Date: Fri, 22 Feb 2013 12:05:41 +0100 Message-ID: <1361531141-29266-1-git-send-email-daniel.vetter@ffwll.ch> References: <1361491014-13888-2-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ea0-f171.google.com (mail-ea0-f171.google.com [209.85.215.171]) by gabe.freedesktop.org (Postfix) with ESMTP id 4255DE6A21 for ; Fri, 22 Feb 2013 03:05:55 -0800 (PST) Received: by mail-ea0-f171.google.com with SMTP id c13so212921eaa.30 for ; Fri, 22 Feb 2013 03:05:54 -0800 (PST) In-Reply-To: <1361491014-13888-2-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Intel Graphics Development Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org Q3VycmVudGx5IG9ubHkgY29udGFpbmluZyB0aGUgcmVxdWVzdGVkIGFuZCB0aGUgYWRqdXN0ZWQg bW9kZS4gQW5kCm9ubHkgY3J0YyBjYWxsYmFja3MgYXJlIGNvbnZlcnRlZCBzb21ld2hhdCB0byBp dCwgZW5jb2RlcnMgd2lsbCBiZQpkb25lIG9uIGEgYXMtbmVlZGVkIGJhc2lzIChzaW1wbHkgdG9v IG11Y2ggY2h1cm4gaW4gb25lIHBhdGNoCm90aGVyd2lzZSkuCgpGdXR1cmUgcGF0Y2hlcyB3aWxs IGFkZCB0b25zIG1vcmUgdXNlZnVsIHN0dWZmIHRvIHRoaXMgc3RydWN0LApzdGFydGluZyB3aXRo IHRoZSB2ZXJ5IHNpbXBsZS4KCnYyOiBTdG9yZSB0aGUgcGlwZV9jb25maWcgaW4gdGhlIGludGVs X2NydGMsIHNvIHRoYXQgdGhlIC0+bW9kZS1zZXQsCi0+ZW5hYmxlIGFuZCBhbHNvIC0+ZGlzYWJs ZSBoYXZlIGVhc3kgYWNjZXNzIHRvIGl0LgoKdjM6IFN0b3JlIHRoZSBwaXBlIGNvbmZpZyBpbiB0 aGUgcmlnaHQgY3J0YyAuLi4KCnY0OiBSZWJhc2VkLgoKdjU6IEZpeHVwIGFuIE9PUFMgd2hlbiB0 cnlpbmcgdG8ga2ZyZWUgYW4gRVJSX1BUUi4KCnY2OiBVc2VkIGRybV9tb29kZV9jb3B5IGFuZCBz b21lIG90aGVyIHNtYWxsIGNsZWFudXBzIGFzIHN1Z2dlc3RlZApieSBWaWxsZSBTeXJqw6Rsw6Qu Cgp2NzogZHJtX21vZGVfY29weSBwcmVzZXJ2ZXMgdGhlIG1vZGUgaWQgb2YgdGhlIGRlc3RpbmF0 aW9uLCBzbyBubyBuZWVkCnRvIGNsZWFyIGl0IGFnYWluIChWaWxsZSkuCgpTaWduZWQtb2ZmLWJ5 OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCA4MSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA3ICsrKysKIDMgZmlsZXMg Y2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKaW5kZXggZTk1MzM3Yy4uOGZiMTRmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CkBAIC0yNzEsNiArMjcxLDggQEAgc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlIHsKIAlzdHJ1 Y3QgaW50ZWxfZGlzcGxheV9lcnJvcl9zdGF0ZSAqZGlzcGxheTsKIH07CiAKK3N0cnVjdCBpbnRl bF9jcnRjX2NvbmZpZzsKKwogc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3MgewogCWJvb2wg KCpmYmNfZW5hYmxlZCkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAJdm9pZCAoKmVuYWJsZV9m YmMpKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCk7CkBAIC0y ODQsOCArMjg2LDYgQEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3MgewogCQkJCSBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7CiAJdm9pZCAoKm1vZGVzZXRfZ2xvYmFsX3Jlc291 cmNlcykoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAJaW50ICgqY3J0Y19tb2RlX3NldCkoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAotCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKLQkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUsCiAJCQkg ICAgIGludCB4LCBpbnQgeSwKIAkJCSAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2Zi KTsKIAl2b2lkICgqY3J0Y19lbmFibGUpKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYjUyMTE5OC4uYTAyYzZhNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMzkxNSwxNSArMzkxNSwxNSBAQCBib29sIGlu dGVsX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCXJldHVybiBlbmNvZGVyLT5nZXRfaHdfc3RhdGUoZW5jb2RlciwgJnBpcGUpOwogfQog Ci1zdGF0aWMgYm9vbCBpbnRlbF9jcnRjX21vZGVfZml4dXAoc3RydWN0IGRybV9jcnRjICpjcnRj LAotCQkJCSAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCi0JCQkJICBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKK3N0YXRpYyBib29sIGludGVsX2Ny dGNfY29tcHV0ZV9jb25maWcoc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJCSAgICAgIHN0cnVj dCBpbnRlbF9jcnRjX2NvbmZpZyAqcGlwZV9jb25maWcpCiB7CiAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9k ZSA9ICZwaXBlX2NvbmZpZy0+YWRqdXN0ZWRfbW9kZTsKIAogCWlmIChIQVNfUENIX1NQTElUKGRl dikpIHsKIAkJLyogRkRJIGxpbmsgY2xvY2sgaXMgZml4ZWQgYXQgMi43RyAqLwotCQlpZiAobW9k ZS0+Y2xvY2sgKiAzID4gSVJPTkxBS0VfRkRJX0ZSRVEgKiA0KQorCQlpZiAocGlwZV9jb25maWct PnJlcXVlc3RlZF9tb2RlLmNsb2NrICogMyA+IElST05MQUtFX0ZESV9GUkVRICogNCkKIAkJCXJl dHVybiBmYWxzZTsKIAl9CiAKQEAgLTQ2MDksMTQgKzQ2MDksMTUgQEAgc3RhdGljIHZvaWQgaW50 ZWxfc2V0X3BpcGVfdGltaW5ncyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIH0KIAog c3RhdGljIGludCBpOXh4X2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAotCQkJ ICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCi0JCQkgICAgICBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSwKIAkJCSAgICAgIGludCB4LCBpbnQgeSwKIAkJ CSAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQogewogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Yyk7CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUg PQorCQkmaW50ZWxfY3J0Yy0+Y29uZmlnLmFkanVzdGVkX21vZGU7CisJc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUgPSAmaW50ZWxfY3J0Yy0+Y29uZmlnLnJlcXVlc3RlZF9tb2RlOwogCWlu dCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAlpbnQgcGxhbmUgPSBpbnRlbF9jcnRjLT5wbGFu ZTsKIAlpbnQgcmVmY2xrLCBudW1fY29ubmVjdG9ycyA9IDA7CkBAIC01NTc5LDE0ICs1NTgwLDE1 IEBAIHN0YXRpYyB1aW50MzJfdCBpcm9ubGFrZV9jb21wdXRlX2RwbGwoc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMsCiB9CiAKIHN0YXRpYyBpbnQgaXJvbmxha2VfY3J0Y19tb2RlX3NldChz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKLQkJCQkgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLAogCQkJCSAg aW50IHgsIGludCB5LAogCQkJCSAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCiB7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSA9CisJCSZpbnRlbF9jcnRjLT5jb25maWcuYWRqdXN0ZWRfbW9kZTsKKwlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZpbnRlbF9jcnRjLT5jb25maWcucmVxdWVz dGVkX21vZGU7CiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCWludCBwbGFuZSA9IGlu dGVsX2NydGMtPnBsYW5lOwogCWludCBudW1fY29ubmVjdG9ycyA9IDA7CkBAIC01NzQ1LDE0ICs1 NzQ3LDE1IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfbW9kZXNldF9nbG9iYWxfcmVzb3VyY2VzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB9CiAKIHN0YXRpYyBpbnQgaGFzd2VsbF9jcnRjX21vZGVf c2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUsCi0JCQkJIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLAogCQkJ CSBpbnQgeCwgaW50IHksCiAJCQkJIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQogewogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkanVzdGVkX21vZGUgPQorCQkmaW50ZWxfY3J0Yy0+Y29uZmlnLmFkanVzdGVkX21vZGU7CisJ c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmaW50ZWxfY3J0Yy0+Y29uZmlnLnJlcXVl c3RlZF9tb2RlOwogCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAlpbnQgcGxhbmUgPSBp bnRlbF9jcnRjLT5wbGFuZTsKIAlpbnQgbnVtX2Nvbm5lY3RvcnMgPSAwOwpAQCAtNTgyOSw4ICs1 ODMyLDYgQEAgc3RhdGljIGludCBoYXN3ZWxsX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogfQogCiBzdGF0aWMgaW50IGludGVsX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9j cnRjICpjcnRjLAotCQkJICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAotCQkJ ICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLAogCQkJICAgICAg IGludCB4LCBpbnQgeSwKIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKIHsK QEAgLTU4MzksNiArNTg0MCw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19tb2RlX3NldChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyAqZW5j b2Rlcl9mdW5jczsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKIAlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CisJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQorCQkmaW50ZWxfY3J0Yy0+Y29uZmlnLmFkanVz dGVkX21vZGU7CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmaW50ZWxfY3J0Yy0+ Y29uZmlnLnJlcXVlc3RlZF9tb2RlOwogCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAlp bnQgcmV0OwogCkBAIC01ODQ5LDggKzU4NTMsOCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfbW9k ZV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJZHJtX3ZibGFua19wcmVfbW9kZXNldChk ZXYsIHBpcGUpOwogCi0JcmV0ID0gZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19tb2RlX3NldChjcnRj LCBtb2RlLCBhZGp1c3RlZF9tb2RlLAotCQkJCQkgICAgICB4LCB5LCBmYik7CisJcmV0ID0gZGV2 X3ByaXYtPmRpc3BsYXkuY3J0Y19tb2RlX3NldChjcnRjLCB4LCB5LCBmYik7CisKIAlkcm1fdmJs YW5rX3Bvc3RfbW9kZXNldChkZXYsIHBpcGUpOwogCiAJaWYgKHJldCAhPSAwKQpAQCAtNzQ3OCwx OSArNzQ4MiwyMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X2NvbW1pdF9vdXRwdXRfc3Rh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAl9CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqCi1pbnRlbF9tb2Rlc2V0X2FkanVzdGVkX21vZGUoc3RydWN0IGRybV9jcnRj ICpjcnRjLAotCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQorc3RhdGljIHN0 cnVjdCBpbnRlbF9jcnRjX2NvbmZpZyAqCitpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKKwkJCSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCiB7 CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKLQlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZTsKIAlzdHJ1Y3QgZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNz ICplbmNvZGVyX2Z1bmNzOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOworCXN0cnVj dCBpbnRlbF9jcnRjX2NvbmZpZyAqcGlwZV9jb25maWc7CiAKLQlhZGp1c3RlZF9tb2RlID0gZHJt X21vZGVfZHVwbGljYXRlKGRldiwgbW9kZSk7Ci0JaWYgKCFhZGp1c3RlZF9tb2RlKQorCXBpcGVf Y29uZmlnID0ga3phbGxvYyhzaXplb2YoKnBpcGVfY29uZmlnKSwgR0ZQX0tFUk5FTCk7CisJaWYg KCFwaXBlX2NvbmZpZykKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKKwlkcm1fbW9kZV9j b3B5KCZwaXBlX2NvbmZpZy0+YWRqdXN0ZWRfbW9kZSwgbW9kZSk7CisJZHJtX21vZGVfY29weSgm cGlwZV9jb25maWctPnJlcXVlc3RlZF9tb2RlLCBtb2RlKTsKKwogCS8qIFBhc3Mgb3VyIG1vZGUg dG8gdGhlIGNvbm5lY3RvcnMgYW5kIHRoZSBDUlRDIHRvIGdpdmUgdGhlbSBhIGNoYW5jZSB0bwog CSAqIGFkanVzdCBpdCBhY2NvcmRpbmcgdG8gbGltaXRhdGlvbnMgb3IgY29ubmVjdG9yIHByb3Bl cnRpZXMsIGFuZCBhbHNvCiAJICogYSBjaGFuY2UgdG8gcmVqZWN0IHRoZSBtb2RlIGVudGlyZWx5 LgpAQCAtNzUwMSwyMiArNzUwOCwyMyBAQCBpbnRlbF9tb2Rlc2V0X2FkanVzdGVkX21vZGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCQlpZiAoJmVuY29kZXItPm5ld19jcnRjLT5iYXNlICE9IGNy dGMpCiAJCQljb250aW51ZTsKIAkJZW5jb2Rlcl9mdW5jcyA9IGVuY29kZXItPmJhc2UuaGVscGVy X3ByaXZhdGU7Ci0JCWlmICghKGVuY29kZXJfZnVuY3MtPm1vZGVfZml4dXAoJmVuY29kZXItPmJh c2UsIG1vZGUsCi0JCQkJCQlhZGp1c3RlZF9tb2RlKSkpIHsKKwkJaWYgKCEoZW5jb2Rlcl9mdW5j cy0+bW9kZV9maXh1cCgmZW5jb2Rlci0+YmFzZSwKKwkJCQkJCSZwaXBlX2NvbmZpZy0+cmVxdWVz dGVkX21vZGUsCisJCQkJCQkmcGlwZV9jb25maWctPmFkanVzdGVkX21vZGUpKSkgewogCQkJRFJN X0RFQlVHX0tNUygiRW5jb2RlciBmaXh1cCBmYWlsZWRcbiIpOwogCQkJZ290byBmYWlsOwogCQl9 CiAJfQogCi0JaWYgKCEoaW50ZWxfY3J0Y19tb2RlX2ZpeHVwKGNydGMsIG1vZGUsIGFkanVzdGVk X21vZGUpKSkgeworCWlmICghKGludGVsX2NydGNfY29tcHV0ZV9jb25maWcoY3J0YywgcGlwZV9j b25maWcpKSkgewogCQlEUk1fREVCVUdfS01TKCJDUlRDIGZpeHVwIGZhaWxlZFxuIik7CiAJCWdv dG8gZmFpbDsKIAl9CiAJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWRdXG4iLCBjcnRjLT5iYXNlLmlk KTsKIAotCXJldHVybiBhZGp1c3RlZF9tb2RlOworCXJldHVybiBwaXBlX2NvbmZpZzsKIGZhaWw6 Ci0JZHJtX21vZGVfZGVzdHJveShkZXYsIGFkanVzdGVkX21vZGUpOworCWtmcmVlKHBpcGVfY29u ZmlnKTsKIAlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIH0KIApAQCAtNzc4Miw3ICs3NzkwLDgg QEAgaW50IGludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIHsKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCWRybV9pOTE1X3ByaXZhdGVfdCAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3Rl ZF9tb2RlLCAqc2F2ZWRfbW9kZSwgKnNhdmVkX2h3bW9kZTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqc2F2ZWRfbW9kZSwgKnNhdmVkX2h3bW9kZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19jb25m aWcgKnBpcGVfY29uZmlnID0gTlVMTDsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsK IAl1bnNpZ25lZCBkaXNhYmxlX3BpcGVzLCBwcmVwYXJlX3BpcGVzLCBtb2Rlc2V0X3BpcGVzOwog CWludCByZXQgPSAwOwpAQCAtNzgwOSwxMSArNzgxOCwxMiBAQCBpbnQgaW50ZWxfc2V0X21vZGUo c3RydWN0IGRybV9jcnRjICpjcnRjLAogCSAqIEhlbmNlIHNpbXBseSBjaGVjayB3aGV0aGVyIGFu eSBiaXQgaXMgc2V0IGluIG1vZGVzZXRfcGlwZXMgaW4gYWxsIHRoZQogCSAqIHBpZWNlcyBvZiBj b2RlIHRoYXQgYXJlIG5vdCB5ZXQgY29udmVydGVkIHRvIGRlYWwgd2l0aCBtdXRsaXBsZSBjcnRj cwogCSAqIGNoYW5naW5nIHRoZWlyIG1vZGUgYXQgdGhlIHNhbWUgdGltZS4gKi8KLQlhZGp1c3Rl ZF9tb2RlID0gTlVMTDsKIAlpZiAobW9kZXNldF9waXBlcykgewotCQlhZGp1c3RlZF9tb2RlID0g aW50ZWxfbW9kZXNldF9hZGp1c3RlZF9tb2RlKGNydGMsIG1vZGUpOwotCQlpZiAoSVNfRVJSKGFk anVzdGVkX21vZGUpKSB7Ci0JCQlyZXQgPSBQVFJfRVJSKGFkanVzdGVkX21vZGUpOworCQlwaXBl X2NvbmZpZyA9IGludGVsX21vZGVzZXRfcGlwZV9jb25maWcoY3J0YywgbW9kZSk7CisJCWlmIChJ U19FUlIocGlwZV9jb25maWcpKSB7CisJCQlyZXQgPSBQVFJfRVJSKHBpcGVfY29uZmlnKTsKKwkJ CXBpcGVfY29uZmlnID0gTlVMTDsKKwogCQkJZ290byBvdXQ7CiAJCX0KIAl9CkBAIC03ODI2LDgg Kzc4MzYsMTIgQEAgaW50IGludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkv KiBjcnRjLT5tb2RlIGlzIGFscmVhZHkgdXNlZCBieSB0aGUgLT5tb2RlX3NldCBjYWxsYmFja3Ms IGhlbmNlIHdlIG5lZWQKIAkgKiB0byBzZXQgaXQgaGVyZSBhbHJlYWR5IGRlc3BpdGUgdGhhdCB3 ZSBwYXNzIGl0IGRvd24gdGhlIGNhbGxjaGFpbi4KIAkgKi8KLQlpZiAobW9kZXNldF9waXBlcykK KwlpZiAobW9kZXNldF9waXBlcykgewogCQljcnRjLT5tb2RlID0gKm1vZGU7CisJCS8qIG1vZGVf c2V0L2VuYWJsZS9kaXNhYmxlIGZ1bmN0aW9ucyByZWx5IG9uIGEgY29ycmVjdCBwaXBlCisJCSAq IGNvbmZpZy4gKi8KKwkJdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnID0gKnBpcGVfY29uZmln OworCX0KIAogCS8qIE9ubHkgYWZ0ZXIgZGlzYWJsaW5nIGFsbCBvdXRwdXQgcGlwZWxpbmVzIHRo YXQgd2lsbCBiZSBjaGFuZ2VkIGNhbiB3ZQogCSAqIHVwZGF0ZSB0aGUgdGhlIG91dHB1dCBjb25m aWd1cmF0aW9uLiAqLwpAQCAtNzg0MSw3ICs3ODU1LDYgQEAgaW50IGludGVsX3NldF9tb2RlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkgKi8KIAlmb3JfZWFjaF9pbnRlbF9jcnRjX21hc2tlZChk ZXYsIG1vZGVzZXRfcGlwZXMsIGludGVsX2NydGMpIHsKIAkJcmV0ID0gaW50ZWxfY3J0Y19tb2Rl X3NldCgmaW50ZWxfY3J0Yy0+YmFzZSwKLQkJCQkJICBtb2RlLCBhZGp1c3RlZF9tb2RlLAogCQkJ CQkgIHgsIHksIGZiKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gZG9uZTsKQEAgLTc4NTMsNyArNzg2 Niw3IEBAIGludCBpbnRlbF9zZXRfbW9kZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIAlpZiAo bW9kZXNldF9waXBlcykgewogCQkvKiBTdG9yZSByZWFsIHBvc3QtYWRqdXN0bWVudCBoYXJkd2Fy ZSBtb2RlLiAqLwotCQljcnRjLT5od21vZGUgPSAqYWRqdXN0ZWRfbW9kZTsKKwkJY3J0Yy0+aHdt b2RlID0gcGlwZV9jb25maWctPmFkanVzdGVkX21vZGU7CiAKIAkJLyogQ2FsY3VsYXRlIGFuZCBz dG9yZSB2YXJpb3VzIGNvbnN0YW50cyB3aGljaAogCQkgKiBhcmUgbGF0ZXIgbmVlZGVkIGJ5IHZi bGFuayBhbmQgc3dhcC1jb21wbGV0aW9uCkBAIC03ODY0LDcgKzc4NzcsNiBAQCBpbnQgaW50ZWxf c2V0X21vZGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJLyogRklYTUU6IGFkZCBzdWJwaXhl bCBvcmRlciAqLwogZG9uZToKLQlkcm1fbW9kZV9kZXN0cm95KGRldiwgYWRqdXN0ZWRfbW9kZSk7 CiAJaWYgKHJldCAmJiBjcnRjLT5lbmFibGVkKSB7CiAJCWNydGMtPmh3bW9kZSA9ICpzYXZlZF9o d21vZGU7CiAJCWNydGMtPm1vZGUgPSAqc2F2ZWRfbW9kZTsKQEAgLTc4NzMsNiArNzg4NSw3IEBA IGRvbmU6CiAJfQogCiBvdXQ6CisJa2ZyZWUocGlwZV9jb25maWcpOwogCWtmcmVlKHNhdmVkX21v ZGUpOwogCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGU2Zjg0 ZDAuLmVjYTc1YjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xOTksNiArMTk5LDEx IEBAIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgewogCXN0cnVjdCBlZGlkICplZGlkOwogfTsKIAor c3RydWN0IGludGVsX2NydGNfY29uZmlnIHsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSByZXF1 ZXN0ZWRfbW9kZTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBhZGp1c3RlZF9tb2RlOworfTsK Kwogc3RydWN0IGludGVsX2NydGMgewogCXN0cnVjdCBkcm1fY3J0YyBiYXNlOwogCWVudW0gcGlw ZSBwaXBlOwpAQCAtMjMyLDYgKzIzNyw4IEBAIHN0cnVjdCBpbnRlbF9jcnRjIHsKIAlib29sIGN1 cnNvcl92aXNpYmxlOwogCXVuc2lnbmVkIGludCBicHA7CiAKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19j b25maWcgY29uZmlnOworCiAJLyogV2UgY2FuIHNoYXJlIFBMTHMgYWNyb3NzIG91dHB1dHMgaWYg dGhlIHRpbWluZ3MgbWF0Y2ggKi8KIAlzdHJ1Y3QgaW50ZWxfcGNoX3BsbCAqcGNoX3BsbDsKIAl1 aW50MzJfdCBkZGlfcGxsX3NlbDsKLS0gCjEuNy4xMS40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=