From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 01/10] drm/i915: introduce struct intel_crtc_config Date: Fri, 22 Feb 2013 00:56:45 +0100 Message-ID: <1361491014-13888-2-git-send-email-daniel.vetter@ffwll.ch> References: <1361491014-13888-1-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-ee0-f47.google.com (mail-ee0-f47.google.com [74.125.83.47]) by gabe.freedesktop.org (Postfix) with ESMTP id 9C41EE60F5 for ; Thu, 21 Feb 2013 15:57:03 -0800 (PST) Received: by mail-ee0-f47.google.com with SMTP id e52so39547eek.6 for ; Thu, 21 Feb 2013 15:57:02 -0800 (PST) In-Reply-To: <1361491014-13888-1-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 CgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICA0ICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA4MyArKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA3 ICsrKwogMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBlOTUzMzdjLi44ZmIxNGZiIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKQEAgLTI3MSw2ICsyNzEsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jf c3RhdGUgewogCXN0cnVjdCBpbnRlbF9kaXNwbGF5X2Vycm9yX3N0YXRlICpkaXNwbGF5OwogfTsK IAorc3RydWN0IGludGVsX2NydGNfY29uZmlnOworCiBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9m dW5jcyB7CiAJYm9vbCAoKmZiY19lbmFibGVkKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAl2 b2lkICgqZW5hYmxlX2ZiYykoc3RydWN0IGRybV9jcnRjICpjcnRjLCB1bnNpZ25lZCBsb25nIGlu dGVydmFsKTsKQEAgLTI4NCw4ICsyODYsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9mdW5j cyB7CiAJCQkJIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKIAl2b2lkICgqbW9kZXNl dF9nbG9iYWxfcmVzb3VyY2VzKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAlpbnQgKCpjcnRj X21vZGVfc2V0KShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCQkgICAgIHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlLAotCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0 ZWRfbW9kZSwKIAkJCSAgICAgaW50IHgsIGludCB5LAogCQkJICAgICBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpvbGRfZmIpOwogCXZvaWQgKCpjcnRjX2VuYWJsZSkoc3RydWN0IGRybV9jcnRjICpj cnRjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBiNTIxMTk4Li41YTNl MjMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0zOTE1LDE1ICszOTE1 LDE1IEBAIGJvb2wgaW50ZWxfY29ubmVjdG9yX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICpjb25uZWN0b3IpCiAJcmV0dXJuIGVuY29kZXItPmdldF9od19zdGF0ZShlbmNvZGVy LCAmcGlwZSk7CiB9CiAKLXN0YXRpYyBib29sIGludGVsX2NydGNfbW9kZV9maXh1cChzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCi0JCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKLQkJCQkgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQorc3RhdGlj IGJvb2wgaW50ZWxfY3J0Y19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJ CQkJICAgICAgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2NvbmZpZykKIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5hZGp1c3RlZF9tb2RlOwogCiAJaWYgKEhB U19QQ0hfU1BMSVQoZGV2KSkgewogCQkvKiBGREkgbGluayBjbG9jayBpcyBmaXhlZCBhdCAyLjdH ICovCi0JCWlmIChtb2RlLT5jbG9jayAqIDMgPiBJUk9OTEFLRV9GRElfRlJFUSAqIDQpCisJCWlm IChwaXBlX2NvbmZpZy0+cmVxdWVzdGVkX21vZGUuY2xvY2sgKiAzID4gSVJPTkxBS0VfRkRJX0ZS RVEgKiA0KQogCQkJcmV0dXJuIGZhbHNlOwogCX0KIApAQCAtNDYwOSwxNCArNDYwOSwxNSBAQCBz dGF0aWMgdm9pZCBpbnRlbF9zZXRfcGlwZV90aW1pbmdzKHN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjLAogfQogCiBzdGF0aWMgaW50IGk5eHhfY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCi0JCQkgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKLQkJCSAg ICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLAogCQkJICAgICAgaW50 IHgsIGludCB5LAogCQkJICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCiB7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSA9CisJCSZpbnRlbF9jcnRjLT5jb25maWcuYWRqdXN0ZWRfbW9kZTsKKwlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZpbnRlbF9jcnRjLT5jb25maWcucmVxdWVz dGVkX21vZGU7CiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCWludCBwbGFuZSA9IGlu dGVsX2NydGMtPnBsYW5lOwogCWludCByZWZjbGssIG51bV9jb25uZWN0b3JzID0gMDsKQEAgLTU1 NzksMTQgKzU1ODAsMTUgQEAgc3RhdGljIHVpbnQzMl90IGlyb25sYWtlX2NvbXB1dGVfZHBsbChz dHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIH0KIAogc3RhdGljIGludCBpcm9ubGFrZV9j cnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCQkgIHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlLAotCQkJCSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUsCiAJCQkJICBpbnQgeCwgaW50IHksCiAJCQkJICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KKwkJJmludGVsX2NydGMtPmNvbmZpZy5hZGp1 c3RlZF9tb2RlOworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gJmludGVsX2NydGMt PmNvbmZpZy5yZXF1ZXN0ZWRfbW9kZTsKIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAJ aW50IHBsYW5lID0gaW50ZWxfY3J0Yy0+cGxhbmU7CiAJaW50IG51bV9jb25uZWN0b3JzID0gMDsK QEAgLTU3NDUsMTQgKzU3NDcsMTUgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9tb2Rlc2V0X2dsb2Jh bF9yZXNvdXJjZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIH0KIAogc3RhdGljIGludCBoYXN3 ZWxsX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAotCQkJCSBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSwKLQkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVz dGVkX21vZGUsCiAJCQkJIGludCB4LCBpbnQgeSwKIAkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKKwlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CisJCSZpbnRlbF9jcnRjLT5jb25maWcuYWRq dXN0ZWRfbW9kZTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZpbnRlbF9jcnRj LT5jb25maWcucmVxdWVzdGVkX21vZGU7CiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwog CWludCBwbGFuZSA9IGludGVsX2NydGMtPnBsYW5lOwogCWludCBudW1fY29ubmVjdG9ycyA9IDA7 CkBAIC01ODI5LDggKzU4MzIsNiBAQCBzdGF0aWMgaW50IGhhc3dlbGxfY3J0Y19tb2RlX3NldChz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19tb2RlX3Nl dChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGUsCi0JCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUsCiAJCQkgICAgICAgaW50IHgsIGludCB5LAogCQkJICAgICAgIHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiKQogewpAQCAtNTgzOSw2ICs1ODQwLDkgQEAgc3RhdGljIGludCBpbnRlbF9jcnRj X21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlzdHJ1Y3QgZHJtX2VuY29kZXJfaGVs cGVyX2Z1bmNzICplbmNvZGVyX2Z1bmNzOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsK KwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CisJCSZpbnRlbF9jcnRj LT5jb25maWcuYWRqdXN0ZWRfbW9kZTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9 ICZpbnRlbF9jcnRjLT5jb25maWcucmVxdWVzdGVkX21vZGU7CiAJaW50IHBpcGUgPSBpbnRlbF9j cnRjLT5waXBlOwogCWludCByZXQ7CiAKQEAgLTU4NDksOCArNTg1Myw4IEBAIHN0YXRpYyBpbnQg aW50ZWxfY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIAlkcm1fdmJsYW5r X3ByZV9tb2Rlc2V0KGRldiwgcGlwZSk7CiAKLQlyZXQgPSBkZXZfcHJpdi0+ZGlzcGxheS5jcnRj X21vZGVfc2V0KGNydGMsIG1vZGUsIGFkanVzdGVkX21vZGUsCi0JCQkJCSAgICAgIHgsIHksIGZi KTsKKwlyZXQgPSBkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX21vZGVfc2V0KGNydGMsIHgsIHksIGZi KTsKKwogCWRybV92YmxhbmtfcG9zdF9tb2Rlc2V0KGRldiwgcGlwZSk7CiAKIAlpZiAocmV0ICE9 IDApCkBAIC03NDc4LDE5ICs3NDgyLDI0IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfY29t bWl0X291dHB1dF9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCX0KIH0KIAotc3RhdGlj IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICoKLWludGVsX21vZGVzZXRfYWRqdXN0ZWRfbW9kZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCQkgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpCitzdGF0aWMgc3RydWN0IGludGVsX2NydGNfY29uZmlnICoKK2ludGVsX21vZGVzZXRfcGlw ZV9jb25maWcoc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwotCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlOwogCXN0cnVjdCBkcm1fZW5jb2Rl cl9oZWxwZXJfZnVuY3MgKmVuY29kZXJfZnVuY3M7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXI7CisJc3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2NvbmZpZzsKIAotCWFkanVz dGVkX21vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUoZGV2LCBtb2RlKTsKLQlpZiAoIWFkanVzdGVk X21vZGUpCisJcGlwZV9jb25maWcgPSBremFsbG9jKHNpemVvZigqcGlwZV9jb25maWcpLCBHRlBf S0VSTkVMKTsKKwlpZiAoIXBpcGVfY29uZmlnKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsK IAorCWRybV9tb2RlX2NvcHkoJnBpcGVfY29uZmlnLT5hZGp1c3RlZF9tb2RlLCBtb2RlKTsKKwlw aXBlX2NvbmZpZy0+YWRqdXN0ZWRfbW9kZS5iYXNlLmlkID0gMDsKKwlkcm1fbW9kZV9jb3B5KCZw aXBlX2NvbmZpZy0+cmVxdWVzdGVkX21vZGUsIG1vZGUpOworCXBpcGVfY29uZmlnLT5yZXF1ZXN0 ZWRfbW9kZS5iYXNlLmlkID0gMDsKKwogCS8qIFBhc3Mgb3VyIG1vZGUgdG8gdGhlIGNvbm5lY3Rv cnMgYW5kIHRoZSBDUlRDIHRvIGdpdmUgdGhlbSBhIGNoYW5jZSB0bwogCSAqIGFkanVzdCBpdCBh Y2NvcmRpbmcgdG8gbGltaXRhdGlvbnMgb3IgY29ubmVjdG9yIHByb3BlcnRpZXMsIGFuZCBhbHNv CiAJICogYSBjaGFuY2UgdG8gcmVqZWN0IHRoZSBtb2RlIGVudGlyZWx5LgpAQCAtNzUwMSwyMiAr NzUxMCwyMyBAQCBpbnRlbF9tb2Rlc2V0X2FkanVzdGVkX21vZGUoc3RydWN0IGRybV9jcnRjICpj cnRjLAogCQlpZiAoJmVuY29kZXItPm5ld19jcnRjLT5iYXNlICE9IGNydGMpCiAJCQljb250aW51 ZTsKIAkJZW5jb2Rlcl9mdW5jcyA9IGVuY29kZXItPmJhc2UuaGVscGVyX3ByaXZhdGU7Ci0JCWlm ICghKGVuY29kZXJfZnVuY3MtPm1vZGVfZml4dXAoJmVuY29kZXItPmJhc2UsIG1vZGUsCi0JCQkJ CQlhZGp1c3RlZF9tb2RlKSkpIHsKKwkJaWYgKCEoZW5jb2Rlcl9mdW5jcy0+bW9kZV9maXh1cCgm ZW5jb2Rlci0+YmFzZSwKKwkJCQkJCSZwaXBlX2NvbmZpZy0+cmVxdWVzdGVkX21vZGUsCisJCQkJ CQkmcGlwZV9jb25maWctPmFkanVzdGVkX21vZGUpKSkgewogCQkJRFJNX0RFQlVHX0tNUygiRW5j b2RlciBmaXh1cCBmYWlsZWRcbiIpOwogCQkJZ290byBmYWlsOwogCQl9CiAJfQogCi0JaWYgKCEo aW50ZWxfY3J0Y19tb2RlX2ZpeHVwKGNydGMsIG1vZGUsIGFkanVzdGVkX21vZGUpKSkgeworCWlm ICghKGludGVsX2NydGNfY29tcHV0ZV9jb25maWcoY3J0YywgcGlwZV9jb25maWcpKSkgewogCQlE Uk1fREVCVUdfS01TKCJDUlRDIGZpeHVwIGZhaWxlZFxuIik7CiAJCWdvdG8gZmFpbDsKIAl9CiAJ RFJNX0RFQlVHX0tNUygiW0NSVEM6JWRdXG4iLCBjcnRjLT5iYXNlLmlkKTsKIAotCXJldHVybiBh ZGp1c3RlZF9tb2RlOworCXJldHVybiBwaXBlX2NvbmZpZzsKIGZhaWw6Ci0JZHJtX21vZGVfZGVz dHJveShkZXYsIGFkanVzdGVkX21vZGUpOworCWtmcmVlKHBpcGVfY29uZmlnKTsKIAlyZXR1cm4g RVJSX1BUUigtRUlOVkFMKTsKIH0KIApAQCAtNzc4Miw3ICs3NzkyLDggQEAgaW50IGludGVsX3Nl dF9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+ZGV2OwogCWRybV9pOTE1X3ByaXZhdGVfdCAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwotCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLCAqc2F2ZWRf bW9kZSwgKnNhdmVkX2h3bW9kZTsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqc2F2ZWRfbW9k ZSwgKnNhdmVkX2h3bW9kZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcgKnBpcGVfY29uZmln ID0gTlVMTDsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKIAl1bnNpZ25lZCBkaXNh YmxlX3BpcGVzLCBwcmVwYXJlX3BpcGVzLCBtb2Rlc2V0X3BpcGVzOwogCWludCByZXQgPSAwOwpA QCAtNzgwOSwxMSArNzgyMCwxMiBAQCBpbnQgaW50ZWxfc2V0X21vZGUoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCSAqIEhlbmNlIHNpbXBseSBjaGVjayB3aGV0aGVyIGFueSBiaXQgaXMgc2V0IGlu IG1vZGVzZXRfcGlwZXMgaW4gYWxsIHRoZQogCSAqIHBpZWNlcyBvZiBjb2RlIHRoYXQgYXJlIG5v dCB5ZXQgY29udmVydGVkIHRvIGRlYWwgd2l0aCBtdXRsaXBsZSBjcnRjcwogCSAqIGNoYW5naW5n IHRoZWlyIG1vZGUgYXQgdGhlIHNhbWUgdGltZS4gKi8KLQlhZGp1c3RlZF9tb2RlID0gTlVMTDsK IAlpZiAobW9kZXNldF9waXBlcykgewotCQlhZGp1c3RlZF9tb2RlID0gaW50ZWxfbW9kZXNldF9h ZGp1c3RlZF9tb2RlKGNydGMsIG1vZGUpOwotCQlpZiAoSVNfRVJSKGFkanVzdGVkX21vZGUpKSB7 Ci0JCQlyZXQgPSBQVFJfRVJSKGFkanVzdGVkX21vZGUpOworCQlwaXBlX2NvbmZpZyA9IGludGVs X21vZGVzZXRfcGlwZV9jb25maWcoY3J0YywgbW9kZSk7CisJCWlmIChJU19FUlIocGlwZV9jb25m aWcpKSB7CisJCQlyZXQgPSBQVFJfRVJSKHBpcGVfY29uZmlnKTsKKwkJCXBpcGVfY29uZmlnID0g TlVMTDsKKwogCQkJZ290byBvdXQ7CiAJCX0KIAl9CkBAIC03ODI2LDggKzc4MzgsMTIgQEAgaW50 IGludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkvKiBjcnRjLT5tb2RlIGlz IGFscmVhZHkgdXNlZCBieSB0aGUgLT5tb2RlX3NldCBjYWxsYmFja3MsIGhlbmNlIHdlIG5lZWQK IAkgKiB0byBzZXQgaXQgaGVyZSBhbHJlYWR5IGRlc3BpdGUgdGhhdCB3ZSBwYXNzIGl0IGRvd24g dGhlIGNhbGxjaGFpbi4KIAkgKi8KLQlpZiAobW9kZXNldF9waXBlcykKKwlpZiAobW9kZXNldF9w aXBlcykgewogCQljcnRjLT5tb2RlID0gKm1vZGU7CisJCS8qIG1vZGVfc2V0L2VuYWJsZS9kaXNh YmxlIGZ1bmN0aW9ucyByZWx5IG9uIGEgY29ycmVjdCBwaXBlCisJCSAqIGNvbmZpZy4gKi8KKwkJ dG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnID0gKnBpcGVfY29uZmlnOworCX0KIAogCS8qIE9u bHkgYWZ0ZXIgZGlzYWJsaW5nIGFsbCBvdXRwdXQgcGlwZWxpbmVzIHRoYXQgd2lsbCBiZSBjaGFu Z2VkIGNhbiB3ZQogCSAqIHVwZGF0ZSB0aGUgdGhlIG91dHB1dCBjb25maWd1cmF0aW9uLiAqLwpA QCAtNzg0MSw3ICs3ODU3LDYgQEAgaW50IGludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkgKi8KIAlmb3JfZWFjaF9pbnRlbF9jcnRjX21hc2tlZChkZXYsIG1vZGVzZXRfcGlw ZXMsIGludGVsX2NydGMpIHsKIAkJcmV0ID0gaW50ZWxfY3J0Y19tb2RlX3NldCgmaW50ZWxfY3J0 Yy0+YmFzZSwKLQkJCQkJICBtb2RlLCBhZGp1c3RlZF9tb2RlLAogCQkJCQkgIHgsIHksIGZiKTsK IAkJaWYgKHJldCkKIAkJCWdvdG8gZG9uZTsKQEAgLTc4NTMsNyArNzg2OCw3IEBAIGludCBpbnRl bF9zZXRfbW9kZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAKIAlpZiAobW9kZXNldF9waXBlcykg ewogCQkvKiBTdG9yZSByZWFsIHBvc3QtYWRqdXN0bWVudCBoYXJkd2FyZSBtb2RlLiAqLwotCQlj cnRjLT5od21vZGUgPSAqYWRqdXN0ZWRfbW9kZTsKKwkJY3J0Yy0+aHdtb2RlID0gcGlwZV9jb25m aWctPmFkanVzdGVkX21vZGU7CiAKIAkJLyogQ2FsY3VsYXRlIGFuZCBzdG9yZSB2YXJpb3VzIGNv bnN0YW50cyB3aGljaAogCQkgKiBhcmUgbGF0ZXIgbmVlZGVkIGJ5IHZibGFuayBhbmQgc3dhcC1j b21wbGV0aW9uCkBAIC03ODY0LDcgKzc4NzksNiBAQCBpbnQgaW50ZWxfc2V0X21vZGUoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCiAJLyogRklYTUU6IGFkZCBzdWJwaXhlbCBvcmRlciAqLwogZG9u ZToKLQlkcm1fbW9kZV9kZXN0cm95KGRldiwgYWRqdXN0ZWRfbW9kZSk7CiAJaWYgKHJldCAmJiBj cnRjLT5lbmFibGVkKSB7CiAJCWNydGMtPmh3bW9kZSA9ICpzYXZlZF9od21vZGU7CiAJCWNydGMt Pm1vZGUgPSAqc2F2ZWRfbW9kZTsKQEAgLTc4NzMsNiArNzg4Nyw3IEBAIGRvbmU6CiAJfQogCiBv dXQ6CisJa2ZyZWUocGlwZV9jb25maWcpOwogCWtmcmVlKHNhdmVkX21vZGUpOwogCXJldHVybiBy ZXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGU2Zjg0ZDAuLmVjYTc1YjYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xOTksNiArMTk5LDExIEBAIHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgewogCXN0cnVjdCBlZGlkICplZGlkOwogfTsKIAorc3RydWN0IGludGVsX2Ny dGNfY29uZmlnIHsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSByZXF1ZXN0ZWRfbW9kZTsKKwlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBhZGp1c3RlZF9tb2RlOworfTsKKwogc3RydWN0IGludGVs X2NydGMgewogCXN0cnVjdCBkcm1fY3J0YyBiYXNlOwogCWVudW0gcGlwZSBwaXBlOwpAQCAtMjMy LDYgKzIzNyw4IEBAIHN0cnVjdCBpbnRlbF9jcnRjIHsKIAlib29sIGN1cnNvcl92aXNpYmxlOwog CXVuc2lnbmVkIGludCBicHA7CiAKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcgY29uZmlnOwor CiAJLyogV2UgY2FuIHNoYXJlIFBMTHMgYWNyb3NzIG91dHB1dHMgaWYgdGhlIHRpbWluZ3MgbWF0 Y2ggKi8KIAlzdHJ1Y3QgaW50ZWxfcGNoX3BsbCAqcGNoX3BsbDsKIAl1aW50MzJfdCBkZGlfcGxs X3NlbDsKLS0gCjEuNy4xMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=