From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH v4.1 01/14] drm: Centralize format information Date: Sun, 18 Sep 2016 13:17:27 +0300 Message-ID: <1474193847-16855-1-git-send-email-laurent.pinchart@ideasonboard.com> References: <1473345868-25453-2-git-send-email-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 794CC8898A for ; Sun, 18 Sep 2016 10:16:44 +0000 (UTC) In-Reply-To: <1473345868-25453-2-git-send-email-laurent.pinchart@ideasonboard.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: Daniel Vetter , Tomi Valkeinen List-Id: dri-devel@lists.freedesktop.org VmFyaW91cyBwaWVjZXMgb2YgaW5mb3JtYXRpb24gYWJvdXQgRFJNIGZvcm1hdHMgKG51bWJlciBv ZiBwbGFuZXMsIGNvbG9yCmRlcHRoLCBjaHJvbWEgc3Vic2FtcGxpbmcsIC4uLikgYXJlIHNjYXR0 ZXJlZCBhY3Jvc3MgZGlmZmVyZW50IGhlbHBlcgpmdW5jdGlvbnMgaW4gdGhlIERSTSBjb3JlLiBD YWxsZXJzIG9mIHRob3NlIGZ1bmN0aW9ucyBvZnRlbiBuZWVkIHRvCmFjY2VzcyBtb3JlIHRoYW4g YSBzaW5nbGUgcGFyYW1ldGVyIG9mIHRoZSBmb3JtYXQsIGxlYWRpbmcgdG8KaW5lZmZpY2llbmNp ZXMgZHVlIHRvIG11bHRpcGxlIGxvb2t1cHMuCgpDZW50cmFsaXplIGFsbCBmb3JtYXQgaW5mb3Jt YXRpb24gaW4gYSBkYXRhIHN0cnVjdHVyZSBhbmQgY3JlYXRlIGEKZnVuY3Rpb24gdG8gbG9vayB1 cCBpbmZvcm1hdGlvbiBiYXNlZCBvbiB0aGUgZm9ybWF0IDRDQy4KClNpZ25lZC1vZmYtYnk6IExh dXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KLS0tCkNo YW5nZXMgc2luY2UgdjQ6CgotIEZpeGVkIGRlcHRoIHZhbHVlIG9mIERSTV9GT1JNQVRfW0FYUkdC XXs0fTQ0NDQgZm9ybWF0cyB0byBtYXRjaAogIGN1cnJlbnQgY29kZQotIERvY3VtZW50ZWQgdGhl IGRlcHRoIGZpZWxkIGFzIGxlZ2FjeQotLS0KIERvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0 IHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fZm91cmNjLmMgIHwgODQgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2ZvdXJjYy5o ICAgICAgfCAyMSArKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0IGIvRG9jdW1lbnRh dGlvbi9ncHUvZHJtLWttcy5yc3QKaW5kZXggZjlhOTkxYmI4N2Q0Li44NWM0YzQ5ZjQ0MzYgMTAw NjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0CisrKyBiL0RvY3VtZW50YXRp b24vZ3B1L2RybS1rbXMucnN0CkBAIC02Myw2ICs2Myw5IEBAIEZyYW1lIEJ1ZmZlciBGdW5jdGlv bnMgUmVmZXJlbmNlCiBEUk0gRm9ybWF0IEhhbmRsaW5nCiA9PT09PT09PT09PT09PT09PT09CiAK Ky4uIGtlcm5lbC1kb2M6OiBpbmNsdWRlL2RybS9kcm1fZm91cmNjLmgKKyAgIDppbnRlcm5hbDoK KwogLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fZm91cmNjLmMKICAgIDpleHBv cnQ6CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm91cmNjLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2ZvdXJjYy5jCmluZGV4IDI5YzU2YjQzMzFlMC4uMzlmMDljNTY0MTExIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvdXJjYy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZm91cmNjLmMKQEAgLTEwMyw2ICsxMDMsOTAgQEAgY2hhciAqZHJtX2dldF9mb3Jt YXRfbmFtZSh1aW50MzJfdCBmb3JtYXQpCiBFWFBPUlRfU1lNQk9MKGRybV9nZXRfZm9ybWF0X25h bWUpOwogCiAvKioKKyAqIGRybV9mb3JtYXRfaW5mbyAtIHF1ZXJ5IGluZm9ybWF0aW9uIGZvciBh IGdpdmVuIGZvcm1hdAorICogQGZvcm1hdDogcGl4ZWwgZm9ybWF0IChEUk1fRk9STUFUXyopCisg KgorICogUmV0dXJuczoKKyAqIFRoZSBpbnN0YW5jZSBvZiBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZv IHRoYXQgZGVzY3JpYmVzIHRoZSBwaXhlbCBmb3JtYXQsIG9yCisgKiBOVUxMIGlmIHRoZSBmb3Jt YXQgaXMgdW5zdXBwb3J0ZWQuCisgKi8KK2NvbnN0IHN0cnVjdCBkcm1fZm9ybWF0X2luZm8gKmRy bV9mb3JtYXRfaW5mbyh1MzIgZm9ybWF0KQoreworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Zv cm1hdF9pbmZvIGZvcm1hdHNbXSA9IHsKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9DOCwJCS5k ZXB0aCA9IDgsICAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDEsIDAsIDAgfSwgLmhzdWIgPSAx LCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0IzMzIsCQkuZGVwdGgg PSA4LCAgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAxLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZz dWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQkdSMjMzLAkJLmRlcHRoID0gOCwg IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMSwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0g MSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1hSR0I0NDQ0LAkuZGVwdGggPSAwLCAgLm51 bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0s CisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWEJHUjQ0NDQsCS5kZXB0aCA9IDAsICAubnVtX3Bs YW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKKwkJ eyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0JYNDQ0NCwJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVz ID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAorCQl7IC5m b3JtYXQgPSBEUk1fRk9STUFUX0JHUlg0NDQ0LAkuZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAx LCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1h dCA9IERSTV9GT1JNQVRfQVJHQjQ0NDQsCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDEsIC5j cHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0g RFJNX0ZPUk1BVF9BQkdSNDQ0NCwJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9 IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1f Rk9STUFUX1JHQkE0NDQ0LAkuZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAy LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JN QVRfQkdSQTQ0NDQsCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAs IDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9Y UkdCMTU1NSwJLmRlcHRoID0gMTUsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9 LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1hCR1Ix NTU1LAkuZGVwdGggPSAxNSwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5o c3ViID0gMSwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfUkdCWDU1NTEs CS5kZXB0aCA9IDE1LCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIg PSAxLCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1JYNTU1MSwJLmRl cHRoID0gMTUsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEs IC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0FSR0IxNTU1LAkuZGVwdGgg PSAxNSwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZz dWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQUJHUjE1NTUsCS5kZXB0aCA9IDE1 LCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9 IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0JBNTU1MSwJLmRlcHRoID0gMTUsIC5u dW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9 LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0JHUkE1NTUxLAkuZGVwdGggPSAxNSwgLm51bV9w bGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCisJ CXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfUkdCNTY1LAkJLmRlcHRoID0gMTYsIC5udW1fcGxhbmVz ID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAorCQl7IC5m b3JtYXQgPSBEUk1fRk9STUFUX0JHUjU2NSwJCS5kZXB0aCA9IDE2LCAubnVtX3BsYW5lcyA9IDEs IC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0 ID0gRFJNX0ZPUk1BVF9SR0I4ODgsCQkuZGVwdGggPSAyNCwgLm51bV9wbGFuZXMgPSAxLCAuY3Bw ID0geyAzLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERS TV9GT1JNQVRfQkdSODg4LAkJLmRlcHRoID0gMjQsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsg MywgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9S TUFUX1hSR0I4ODg4LAkuZGVwdGggPSAyNCwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAw LCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRf WEJHUjg4ODgsCS5kZXB0aCA9IDI0LCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAg fSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0JY ODg4OCwJLmRlcHRoID0gMjQsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAu aHN1YiA9IDEsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0JHUlg4ODg4 LAkuZGVwdGggPSAyNCwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3Vi ID0gMSwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWFJHQjIxMDEwMTAs CS5kZXB0aCA9IDMwLCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIg PSAxLCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMCwJ LmRlcHRoID0gMzAsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9 IDEsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1JHQlgxMDEwMTAyLAku ZGVwdGggPSAzMCwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0g MSwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQkdSWDEwMTAxMDIsCS5k ZXB0aCA9IDMwLCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAx LCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9BUkdCMjEwMTAxMCwJLmRl cHRoID0gMzAsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEs IC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0FCR1IyMTAxMDEwLAkuZGVw dGggPSAzMCwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwg LnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfUkdCQTEwMTAxMDIsCS5kZXB0 aCA9IDMwLCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAu dnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1JBMTAxMDEwMiwJLmRlcHRo ID0gMzAsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52 c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0FSR0I4ODg4LAkuZGVwdGggPSAz MiwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIg PSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQUJHUjg4ODgsCS5kZXB0aCA9IDMyLCAu bnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEg fSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0JBODg4OCwJLmRlcHRoID0gMzIsIC5udW1f cGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAor CQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0JHUkE4ODg4LAkuZGVwdGggPSAzMiwgLm51bV9wbGFu ZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCisJCXsg LmZvcm1hdCA9IERSTV9GT1JNQVRfWVVWNDEwLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0g MywgLmNwcCA9IHsgMSwgMSwgMSB9LCAuaHN1YiA9IDQsIC52c3ViID0gNCB9LAorCQl7IC5mb3Jt YXQgPSBEUk1fRk9STUFUX1lWVTQxMCwJCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDMsIC5j cHAgPSB7IDEsIDEsIDEgfSwgLmhzdWIgPSA0LCAudnN1YiA9IDQgfSwKKwkJeyAuZm9ybWF0ID0g RFJNX0ZPUk1BVF9ZVVY0MTEsCQkuZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAzLCAuY3BwID0g eyAxLCAxLCAxIH0sIC5oc3ViID0gNCwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9G T1JNQVRfWVZVNDExLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsgMSwg MSwgMSB9LCAuaHN1YiA9IDQsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFU X1lVVjQyMCwJCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDMsIC5jcHAgPSB7IDEsIDEsIDEg fSwgLmhzdWIgPSAyLCAudnN1YiA9IDIgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9ZVlU0 MjAsCQkuZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAzLCAuY3BwID0geyAxLCAxLCAxIH0sIC5o c3ViID0gMiwgLnZzdWIgPSAyIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVVWNDIyLAkJ LmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsgMSwgMSwgMSB9LCAuaHN1YiA9 IDIsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1lWVTQyMiwJCS5kZXB0 aCA9IDAsICAubnVtX3BsYW5lcyA9IDMsIC5jcHAgPSB7IDEsIDEsIDEgfSwgLmhzdWIgPSAyLCAu dnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9ZVVY0NDQsCQkuZGVwdGggPSAw LCAgLm51bV9wbGFuZXMgPSAzLCAuY3BwID0geyAxLCAxLCAxIH0sIC5oc3ViID0gMSwgLnZzdWIg PSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVZVNDQ0LAkJLmRlcHRoID0gMCwgIC5u dW1fcGxhbmVzID0gMywgLmNwcCA9IHsgMSwgMSwgMSB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9 LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX05WMTIsCQkuZGVwdGggPSAwLCAgLm51bV9wbGFu ZXMgPSAyLCAuY3BwID0geyAxLCAyLCAwIH0sIC5oc3ViID0gMiwgLnZzdWIgPSAyIH0sCisJCXsg LmZvcm1hdCA9IERSTV9GT1JNQVRfTlYyMSwJCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDIs IC5jcHAgPSB7IDEsIDIsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDIgfSwKKwkJeyAuZm9ybWF0 ID0gRFJNX0ZPUk1BVF9OVjE2LAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMiwgLmNwcCA9 IHsgMSwgMiwgMCB9LCAuaHN1YiA9IDIsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1f Rk9STUFUX05WNjEsCQkuZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAyLCAuY3BwID0geyAxLCAy LCAwIH0sIC5oc3ViID0gMiwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRf TlYyNCwJCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDIsIC5jcHAgPSB7IDEsIDIsIDAgfSwg LmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9OVjQyLAkJ LmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMiwgLmNwcCA9IHsgMSwgMiwgMCB9LCAuaHN1YiA9 IDEsIC52c3ViID0gMSB9LAorCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1lVWVYsCQkuZGVwdGgg PSAwLCAgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMiwgLnZz dWIgPSAxIH0sCisJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVZZVSwJCS5kZXB0aCA9IDAsICAu bnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDEg fSwKKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9VWVZZLAkJLmRlcHRoID0gMCwgIC5udW1fcGxh bmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDIsIC52c3ViID0gMSB9LAorCQl7 IC5mb3JtYXQgPSBEUk1fRk9STUFUX1ZZVVksCQkuZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAx LCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMiwgLnZzdWIgPSAxIH0sCisJCXsgLmZvcm1h dCA9IERSTV9GT1JNQVRfQVlVViwJCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDEsIC5jcHAg PSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKKwl9OworCisJdW5zaWduZWQg aW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShmb3JtYXRzKTsgKytpKSB7CisJ CWlmIChmb3JtYXRzW2ldLmZvcm1hdCA9PSBmb3JtYXQpCisJCQlyZXR1cm4gJmZvcm1hdHNbaV07 CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9mb3JtYXRfaW5mbyk7 CisKKy8qKgogICogZHJtX2ZiX2dldF9icHBfZGVwdGggLSBnZXQgdGhlIGJwcC9kZXB0aCB2YWx1 ZXMgZm9yIGZvcm1hdAogICogQGZvcm1hdDogcGl4ZWwgZm9ybWF0IChEUk1fRk9STUFUXyopCiAg KiBAZGVwdGg6IHN0b3JhZ2UgZm9yIHRoZSBkZXB0aCB2YWx1ZQpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kcm0vZHJtX2ZvdXJjYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2ZvdXJjYy5oCmluZGV4IDMwYzMw ZmE4N2VlOC4uMTM1ZmVmMDUwZWU2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZm91cmNj LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2ZvdXJjYy5oCkBAIC0yNSw2ICsyNSwyNyBAQAogI2lu Y2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8dWFwaS9kcm0vZHJtX2ZvdXJjYy5oPgog CisvKioKKyAqIHN0cnVjdCBkcm1fZm9ybWF0X2luZm8gLSBpbmZvcm1hdGlvbiBhYm91dCBhIERS TSBmb3JtYXQKKyAqIEBmb3JtYXQ6IDRDQyBmb3JtYXQgaWRlbnRpZmllciAoRFJNX0ZPUk1BVF8q KQorICogQGRlcHRoOiBDb2xvciBkZXB0aCAobnVtYmVyIG9mIGJpdHMgcGVyIHBpeGVsIGV4Y2x1 ZGluZyBwYWRkaW5nIGJpdHMpLAorICoJdmFsaWQgZm9yIGEgc3Vic2V0IG9mIFJHQiBmb3JtYXRz IG9ubHkuIFRoaXMgaXMgYSBsZWdhY3kgZmllbGQsIGRvIG5vdAorICoJdXNlIGluIG5ldyBjb2Rl IGFuZCBzZXQgdG8gMCBmb3IgbmV3IGZvcm1hdHMuCisgKiBAbnVtX3BsYW5lczogTnVtYmVyIG9m IGNvbG9yIHBsYW5lcyAoMSB0byAzKQorICogQGNwcDogTnVtYmVyIG9mIGJ5dGVzIHBlciBwaXhl bCAocGVyIHBsYW5lKQorICogQGhzdWI6IEhvcml6b250YWwgY2hyb21hIHN1YnNhbXBsaW5nIGZh Y3RvcgorICogQHZzdWI6IFZlcnRpY2FsIGNocm9tYSBzdWJzYW1wbGluZyBmYWN0b3IKKyAqLwor c3RydWN0IGRybV9mb3JtYXRfaW5mbyB7CisJdTMyIGZvcm1hdDsKKwl1OCBkZXB0aDsKKwl1OCBu dW1fcGxhbmVzOworCXU4IGNwcFszXTsKKwl1OCBoc3ViOworCXU4IHZzdWI7Cit9OworCitjb25z dCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpkcm1fZm9ybWF0X2luZm8odTMyIGZvcm1hdCk7CiB1 aW50MzJfdCBkcm1fbW9kZV9sZWdhY3lfZmJfZm9ybWF0KHVpbnQzMl90IGJwcCwgdWludDMyX3Qg ZGVwdGgpOwogdm9pZCBkcm1fZmJfZ2V0X2JwcF9kZXB0aCh1aW50MzJfdCBmb3JtYXQsIHVuc2ln bmVkIGludCAqZGVwdGgsIGludCAqYnBwKTsKIGludCBkcm1fZm9ybWF0X251bV9wbGFuZXModWlu dDMyX3QgZm9ybWF0KTsKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK