From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EDD41C433FE for ; Thu, 13 Oct 2022 18:24:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qos7B4ItcwzEA7IYWgBbJIZJ+41K+6NJlqCq7skIr+Y=; b=SdHVdjxXMeBcxm ayQpCpDCTt9fbljFXlULqS7b/KS8pGZaYyyXZf/7b8SNw7m1RJdEMtdJ0idouedQWtGaHzGubP6wf FPiPqWZdQr3/qlw0E4nfvIV8tDoADR9MufRB9yAaIkonpW12LsASCMVla87Jnlxyf+IOXjw/LX+Wi Q33/8hW/brJG4DDgJ+n/ALem5agqVj0zqwPu/N71xO5ESURzoo1/bTrKiAtA3di90rrSl0LCN644F TjobC5rgcyY/d4DIl7mecARdVyGS8WuZtzaTlnRCRAsdfPQAtWCJnQzZUQ2/QWRmh+R5ec8q0XlK4 sJiJVFVPfo7skMAaDI5g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oj2sC-00CgcP-0c; Thu, 13 Oct 2022 18:24:00 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oj2s8-00CgbJ-DT for linux-arm-kernel@lists.infradead.org; Thu, 13 Oct 2022 18:23:58 +0000 Received: by mail-ed1-x52a.google.com with SMTP id g27so3762672edf.11 for ; Thu, 13 Oct 2022 11:23:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=80yVJmDj5IDbUK+aqS6l/dUBm+Bwn69DEdWiolHKVEQ=; b=FSJPenagde4qSchQNLIGuKH7m39FqdZYDX4cXscDrSd4DQs0L1KMc4rzYAQdelzOnj UF6Ak0NK52yT8/8DfdNJEj9A6gPHnDn66V7+1VWIUqHsECMy3uBtxD1ZuMqhx07ZGxmH JrBntFO5CY3UNA85w3OBtKxuhgF5e76Lt7ylZMABNDblsdysCHcDVS8mPFZv9H1JdZ/I AKJH0uhU+XEyG10Nd+LEc8vJ0DUGh/1JFMAtnOsnuQLT22u523AH4mmuX/7Zqs6DzjRA bG2+Qr5Isa0Tcz+PCt82cXW69Q2hRvI0SGZdd/KO1uPpP7a67dpLrTUV1TBOjvgtGohS UKkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=80yVJmDj5IDbUK+aqS6l/dUBm+Bwn69DEdWiolHKVEQ=; b=3DCzs38YM4e5IT1PdvdJxGaX4MPy+FpR7KWZQuPmOnc8fb8NUEMN1GNG3531lu9jEh 2gUHk+aVcHVXRgRLoscRqyIhrxraJF0fccxoYdk+ytMjfViXg1BPDshp3yP0yyeKDgrw HtWUdxVaBOWJ0wrkFQuLENQjNiD9Y1cUVKEHfIjF0ulQjJJOoaqnAEoj3wvP7WvDK91T fjVTjH+Bp9k9Pm90RgCjUNx4EKvJ9wtLhgeBNm2sY99JYMRnrQLftE9EQDo3OnTBc4Xq VgbCBsrPdVHuX0mz0EDSuFyN1OdlqxCPxa3SHGOC41xapzp65DKSaElcy8IA+R9w9q4C rb1Q== X-Gm-Message-State: ACrzQf0Ddt30zquw3i97JWi5+SGMalWx1m0Kj25yi46l6FvdBWddJ8iW jzABoEbPFvsWwJN5Kh5/OJo= X-Google-Smtp-Source: AMsMyM7ssKdTrHDlPNauUb77WDG9zWLblYWKO18kRWRI7jkR1dhN23ZFAp3iq6h3HOsgFFKHyT7dhQ== X-Received: by 2002:a05:6402:b3c:b0:458:f680:6ab8 with SMTP id bo28-20020a0564020b3c00b00458f6806ab8mr923431edb.267.1665685433991; Thu, 13 Oct 2022 11:23:53 -0700 (PDT) Received: from kista.localnet (82-149-19-102.dynamic.telemach.net. [82.149.19.102]) by smtp.gmail.com with ESMTPSA id e2-20020a170906314200b00730df07629fsm196329eje.174.2022.10.13.11.23.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Oct 2022 11:23:53 -0700 (PDT) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: Karol Herbst , Jani Nikula , Tvrtko Ursulin , Daniel Vetter , Maarten Lankhorst , David Airlie , Joonas Lahtinen , Lyude Paul , Maxime Ripard , Emma Anholt , Chen-Yu Tsai , Samuel Holland , Ben Skeggs , Thomas Zimmermann , Rodrigo Vivi , Maxime Ripard Cc: Dom Cobley , Maxime Ripard , linux-sunxi@lists.linux.dev, Dave Stevenson , Noralf =?ISO-8859-1?Q?Tr=C3=B8nnes?= , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, nouveau@lists.freedesktop.org, Geert Uytterhoeven , linux-arm-kernel@lists.infradead.org, Mateusz Kwiatkowski , dri-devel@lists.freedesktop.org, Hans de Goede , Phil Elwell Subject: Re: [PATCH v5 22/22] drm/sun4i: tv: Convert to the new TV mode property Date: Thu, 13 Oct 2022 20:23:51 +0200 Message-ID: <6482539.4vTCxPXJkl@kista> In-Reply-To: <20220728-rpi-analog-tv-properties-v5-22-d841cc64fe4b@cerno.tech> References: <20220728-rpi-analog-tv-properties-v5-0-d841cc64fe4b@cerno.tech> <20220728-rpi-analog-tv-properties-v5-22-d841cc64fe4b@cerno.tech> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221013_112356_477195_95F9AA33 X-CRM114-Status: GOOD ( 29.92 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgTWF4aW1lLAoKRG5lIMSNZXRydGVrLCAxMy4gb2t0b2JlciAyMDIyIG9iIDE1OjE5OjA2IENF U1QgamUgTWF4aW1lIFJpcGFyZCBuYXBpc2FsKGEpOgo+IE5vdyB0aGF0IHRoZSBjb3JlIGNhbiBk ZWFsIGZpbmUgd2l0aCBhbmFsb2cgVFYgbW9kZXMsIGxldCdzIGNvbnZlcnQgdGhlCj4gc3VuNGkg VFYgZHJpdmVyIHRvIGxldmVyYWdlIHRob3NlIG5ldyBmZWF0dXJlcy4KPiAKPiBBY2tlZC1ieTog Tm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+Cj4gU2lnbmVkLW9mZi1ieTogTWF4 aW1lIFJpcGFyZCA8bWF4aW1lQGNlcm5vLnRlY2g+Cj4gCj4gLS0tCj4gQ2hhbmdlcyBpbiB2NToK PiAtIFJlbW92ZWQgdGhlIGNvdW50IHZhcmlhYmxlIGluIGdldF9tb2Rlcwo+IC0gUmVtb3ZlZCBz cHVyaW91cyB2YzQgY2hhbmdlCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV90 di5jIHwgMTQ1Cj4gKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDEgZmls ZSBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLAo+IDk3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdHYuYwo+IGIvZHJpdmVycy9ncHUv ZHJtL3N1bjRpL3N1bjRpX3R2LmMgaW5kZXggYzY1ZjBhODliNmIwLi40ZjA3YWZmMTE1NTEgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3R2LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdHYuYwo+IEBAIC0xNDEsMjMgKzE0MSwxNCBAQCBzdHJ1 Y3QgcmVzeW5jX3BhcmFtZXRlcnMgewo+ICBzdHJ1Y3QgdHZfbW9kZSB7Cj4gIAljaGFyCQkqbmFt ZTsKPiAKPiArCXVuc2lnbmVkIGludAl0dl9tb2RlOwo+ICsKPiAgCXUzMgkJbW9kZTsKPiAgCXUz MgkJY2hyb21hX2ZyZXE7Cj4gIAl1MTYJCWJhY2tfcG9yY2g7Cj4gIAl1MTYJCWZyb250X3BvcmNo Owo+IC0JdTE2CQlsaW5lX251bWJlcjsKPiAgCXUxNgkJdmJsYW5rX2xldmVsOwoKaXNuJ3QgdGhl cmUgYSB3YXkgdG8gZ2V0IG9yIGNhbGN1bGF0ZSBiYWNrX3BvcmNoLCBmcm9udF9wb3JjaCBhbmQg dmJsYW5rX2xldmVsIApmcm9tIG1vZGU/IEZyb20gcXVpY2sgZ2xhbmNlIG92ZXIgcmVtb3ZlZCB2 YWx1ZXMgYmVsb3csIEkgd291bGQgc2F5IHRoYXQgYXQgCmxlYXN0IGJhY2tfcG9yY2ggY2FuIGJl IHJlbW92ZWQgdG9vPwoKT3RoZXJ3aXNlIHRoaXMgcGF0Y2ggbG9va3Mgb2suCgpCZXN0IHJlZ2Fy ZHMsCkplcm5lagoKPiAKPiAtCXUzMgkJaGRpc3BsYXk7Cj4gLQl1MTYJCWhmcm9udF9wb3JjaDsK PiAtCXUxNgkJaHN5bmNfbGVuOwo+IC0JdTE2CQloYmFja19wb3JjaDsKPiAtCj4gLQl1MzIJCXZk aXNwbGF5Owo+IC0JdTE2CQl2ZnJvbnRfcG9yY2g7Cj4gLQl1MTYJCXZzeW5jX2xlbjsKPiAtCXUx NgkJdmJhY2tfcG9yY2g7Cj4gLQo+ICAJYm9vbAkJeWNfZW47Cj4gIAlib29sCQlkYWMzX2VuOwo+ ICAJYm9vbAkJZGFjX2JpdDI1X2VuOwo+IEBAIC0yMTMsNyArMjA0LDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCByZXN5bmNfcGFyYW1ldGVycwo+IHBhbF9yZXN5bmNfcGFyYW1ldGVycyA9IHsKPiAK PiAgc3RhdGljIGNvbnN0IHN0cnVjdCB0dl9tb2RlIHR2X21vZGVzW10gPSB7Cj4gIAl7Cj4gLQkJ Lm5hbWUJCT0gIk5UU0MiLAo+ICsJCS50dl9tb2RlCT0gRFJNX01PREVfVFZfTU9ERV9OVFNDLAo+ ICAJCS5tb2RlCQk9IFNVTjRJX1RWRV9DRkcwX1JFU180ODBpLAo+ICAJCS5jaHJvbWFfZnJlcQk9 IDB4MjFmMDdjMWYsCj4gIAkJLnljX2VuCQk9IHRydWUsCj4gQEAgLTIyMiwxNyArMjEzLDYgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCB0dl9tb2RlIHR2X21vZGVzW10gPSB7Cj4gCj4gIAkJLmJhY2tf cG9yY2gJPSAxMTgsCj4gIAkJLmZyb250X3BvcmNoCT0gMzIsCj4gLQkJLmxpbmVfbnVtYmVyCT0g NTI1LAo+IC0KPiAtCQkuaGRpc3BsYXkJPSA3MjAsCj4gLQkJLmhmcm9udF9wb3JjaAk9IDE4LAo+ IC0JCS5oc3luY19sZW4JPSAyLAo+IC0JCS5oYmFja19wb3JjaAk9IDExOCwKPiAtCj4gLQkJLnZk aXNwbGF5CT0gNDgwLAo+IC0JCS52ZnJvbnRfcG9yY2gJPSAyNiwKPiAtCQkudnN5bmNfbGVuCT0g MiwKPiAtCQkudmJhY2tfcG9yY2gJPSAxNywKPiAKPiAgCQkudmJsYW5rX2xldmVsCT0gMjQwLAo+ IAo+IEBAIC0yNDIsMjMgKzIyMiwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHR2X21vZGUgdHZf bW9kZXNbXSA9IHsKPiAgCQkucmVzeW5jX3BhcmFtcwk9ICZudHNjX3Jlc3luY19wYXJhbWV0ZXJz LAo+ICAJfSwKPiAgCXsKPiAtCQkubmFtZQkJPSAiUEFMIiwKPiArCQkudHZfbW9kZQk9IERSTV9N T0RFX1RWX01PREVfUEFMLAo+ICAJCS5tb2RlCQk9IFNVTjRJX1RWRV9DRkcwX1JFU181NzZpLAo+ ICAJCS5jaHJvbWFfZnJlcQk9IDB4MmEwOThhY2IsCj4gCj4gIAkJLmJhY2tfcG9yY2gJPSAxMzgs Cj4gIAkJLmZyb250X3BvcmNoCT0gMjQsCj4gLQkJLmxpbmVfbnVtYmVyCT0gNjI1LAo+IC0KPiAt CQkuaGRpc3BsYXkJPSA3MjAsCj4gLQkJLmhmcm9udF9wb3JjaAk9IDMsCj4gLQkJLmhzeW5jX2xl bgk9IDIsCj4gLQkJLmhiYWNrX3BvcmNoCT0gMTM5LAo+IC0KPiAtCQkudmRpc3BsYXkJPSA1NzYs Cj4gLQkJLnZmcm9udF9wb3JjaAk9IDI4LAo+IC0JCS52c3luY19sZW4JPSAyLAo+IC0JCS52YmFj a19wb3JjaAk9IDE5LAo+IAo+ICAJCS52YmxhbmtfbGV2ZWwJPSAyNTIsCj4gCj4gQEAgLTI3Niw2 MyArMjQ1LDIxIEBAIGRybV9lbmNvZGVyX3RvX3N1bjRpX3R2KHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlcikKPiAgCQkJICAgIGVuY29kZXIpOwo+ICB9Cj4gCj4gLS8qCj4gLSAqIEZJWE1FOiBJ ZiBvbmx5IHRoZSBkcm1fZGlzcGxheV9tb2RlIHByaXZhdGUgZmllbGQgd2FzIHVzYWJsZSwgdGhp cwo+IC0gKiBjb3VsZCBnbyBhd2F5Li4uCj4gLSAqCj4gLSAqIFNvIGZhciwgaXQgZG9lc24ndCBz ZWVtIHRvIGJlIHByZXNlcnZlZCB3aGVuIHRoZSBtb2RlIGlzIHBhc3NlZCBieQo+IC0gKiB0byBt b2RlX3NldCBmb3Igc29tZSByZWFzb24uCj4gLSAqLwo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IHR2 X21vZGUgKnN1bjRpX3R2X2ZpbmRfdHZfYnlfbW9kZShjb25zdCBzdHJ1Y3QKPiBkcm1fZGlzcGxh eV9tb2RlICptb2RlKSArc3RhdGljIGNvbnN0IHN0cnVjdCB0dl9tb2RlICoKPiArc3VuNGlfdHZf ZmluZF90dl9ieV9tb2RlKHVuc2lnbmVkIGludCBtb2RlKQo+ICB7Cj4gIAlpbnQgaTsKPiAKPiAt CS8qIEZpcnN0IHRyeSB0byBpZGVudGlmeSB0aGUgbW9kZSBieSBuYW1lICovCj4gIAlmb3IgKGkg PSAwOyBpIDwgQVJSQVlfU0laRSh0dl9tb2Rlcyk7IGkrKykgewo+ICAJCWNvbnN0IHN0cnVjdCB0 dl9tb2RlICp0dl9tb2RlID0gJnR2X21vZGVzW2ldOwo+IAo+IC0JCURSTV9ERUJVR19EUklWRVIo IkNvbXBhcmluZyBtb2RlICVzIHZzICVzIiwKPiAtCQkJCSBtb2RlLT5uYW1lLCB0dl9tb2RlLT5u YW1lKTsKPiAtCj4gLQkJaWYgKCFzdHJjbXAobW9kZS0+bmFtZSwgdHZfbW9kZS0+bmFtZSkpCj4g LQkJCXJldHVybiB0dl9tb2RlOwo+IC0JfQo+IC0KPiAtCS8qIFRoZW4gYnkgbnVtYmVyIG9mIGxp bmVzICovCj4gLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0dl9tb2Rlcyk7IGkrKykgewo+ IC0JCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0gJnR2X21vZGVzW2ldOwo+IC0KPiAt CQlEUk1fREVCVUdfRFJJVkVSKCJDb21wYXJpbmcgbW9kZSAlcyB2cyAlcyAoWDogJWQgdnMgCiVk KSIsCj4gLQkJCQkgbW9kZS0+bmFtZSwgdHZfbW9kZS0+bmFtZSwKPiAtCQkJCSBtb2RlLT52ZGlz cGxheSwgdHZfbW9kZS0KPnZkaXNwbGF5KTsKPiAtCj4gLQkJaWYgKG1vZGUtPnZkaXNwbGF5ID09 IHR2X21vZGUtPnZkaXNwbGF5KQo+ICsJCWlmICh0dl9tb2RlLT50dl9tb2RlID09IG1vZGUpCj4g IAkJCXJldHVybiB0dl9tb2RlOwo+ICAJfQo+IAo+ICAJcmV0dXJuIE5VTEw7Cj4gIH0KPiAKPiAt c3RhdGljIHZvaWQgc3VuNGlfdHZfbW9kZV90b19kcm1fbW9kZShjb25zdCBzdHJ1Y3QgdHZfbW9k ZSAqdHZfbW9kZSwKPiAtCQkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIAoqbW9kZSkK PiAtewo+IC0JRFJNX0RFQlVHX0RSSVZFUigiQ3JlYXRpbmcgbW9kZSAlc1xuIiwgbW9kZS0+bmFt ZSk7Cj4gLQo+IC0JbW9kZS0+dHlwZSA9IERSTV9NT0RFX1RZUEVfRFJJVkVSOwo+IC0JbW9kZS0+ Y2xvY2sgPSAxMzUwMDsKPiAtCW1vZGUtPmZsYWdzID0gRFJNX01PREVfRkxBR19JTlRFUkxBQ0U7 Cj4gLQo+IC0JbW9kZS0+aGRpc3BsYXkgPSB0dl9tb2RlLT5oZGlzcGxheTsKPiAtCW1vZGUtPmhz eW5jX3N0YXJ0ID0gbW9kZS0+aGRpc3BsYXkgKyB0dl9tb2RlLT5oZnJvbnRfcG9yY2g7Cj4gLQlt b2RlLT5oc3luY19lbmQgPSBtb2RlLT5oc3luY19zdGFydCArIHR2X21vZGUtPmhzeW5jX2xlbjsK PiAtCW1vZGUtPmh0b3RhbCA9IG1vZGUtPmhzeW5jX2VuZCAgKyB0dl9tb2RlLT5oYmFja19wb3Jj aDsKPiAtCj4gLQltb2RlLT52ZGlzcGxheSA9IHR2X21vZGUtPnZkaXNwbGF5Owo+IC0JbW9kZS0+ dnN5bmNfc3RhcnQgPSBtb2RlLT52ZGlzcGxheSArIHR2X21vZGUtPnZmcm9udF9wb3JjaDsKPiAt CW1vZGUtPnZzeW5jX2VuZCA9IG1vZGUtPnZzeW5jX3N0YXJ0ICsgdHZfbW9kZS0+dnN5bmNfbGVu Owo+IC0JbW9kZS0+dnRvdGFsID0gbW9kZS0+dnN5bmNfZW5kICArIHR2X21vZGUtPnZiYWNrX3Bv cmNoOwo+IC19Cj4gLQo+ICBzdGF0aWMgdm9pZCBzdW40aV90dl9kaXNhYmxlKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSkKPiAgewo+IEBAIC0zNTYsNyArMjgzLDExIEBAIHN0YXRpYyB2b2lkIHN1bjRpX3R2X2VuYWJs ZShzdHJ1Y3QgZHJtX2VuY29kZXIKPiAqZW5jb2Rlciwgc3RydWN0IGRybV9jcnRjX3N0YXRlICpj cnRjX3N0YXRlID0KPiAgCQlkcm1fYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwgZW5j b2Rlci0+Y3J0Yyk7Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjcnRjX3N0 YXRlLT5tb2RlOwo+IC0JY29uc3Qgc3RydWN0IHR2X21vZGUgKnR2X21vZGUgPSBzdW40aV90dl9m aW5kX3R2X2J5X21vZGUobW9kZSk7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y ID0gJnR2LT5jb25uZWN0b3I7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9z dGF0ZSA9Cj4gKwkJZHJtX2F0b21pY19nZXRfbmV3X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29u bmVjdG9yKTsKPiArCWNvbnN0IHN0cnVjdCB0dl9tb2RlICp0dl9tb2RlID0KPiArCQlzdW40aV90 dl9maW5kX3R2X2J5X21vZGUoY29ubl9zdGF0ZS0+dHYubW9kZSk7Cj4gCj4gIAlEUk1fREVCVUdf RFJJVkVSKCJFbmFibGluZyB0aGUgVFYgT3V0cHV0XG4iKTsKPiAKPiBAQCAtNDA0LDcgKzMzNSw3 IEBAIHN0YXRpYyB2b2lkIHN1bjRpX3R2X2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCj4gLyogU2V0IHRoZSBsaW5lcyBzZXR1cCAqLwo+ICAJcmVnbWFwX3dyaXRlKHR2LT5yZWdz LCBTVU40SV9UVkVfTElORV9SRUcsCj4gIAkJICAgICBTVU40SV9UVkVfTElORV9GSVJTVCgyMikg fAo+IC0JCSAgICAgU1VONElfVFZFX0xJTkVfTlVNQkVSKHR2X21vZGUtPmxpbmVfbnVtYmVyKSk7 Cj4gKwkJICAgICBTVU40SV9UVkVfTElORV9OVU1CRVIobW9kZS0+dnRvdGFsKSk7Cj4gCj4gIAly ZWdtYXBfd3JpdGUodHYtPnJlZ3MsIFNVTjRJX1RWRV9MRVZFTF9SRUcsCj4gIAkJICAgICBTVU40 SV9UVkVfTEVWRUxfQkxBTksodHZfbW9kZS0+dmlkZW9fbGV2ZWxzLQo+YmxhbmspIHwKPiBAQCAt NDY3LDM1ICszOTgsNDMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9oZWxwZXJf ZnVuY3MKPiBzdW40aV90dl9oZWxwZXJfZnVuY3MgPSB7Cj4gCj4gIHN0YXRpYyBpbnQgc3VuNGlf dHZfY29tcF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ IC0JaW50IGk7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKPiAKPiAtCWZvciAo aSA9IDA7IGkgPCBBUlJBWV9TSVpFKHR2X21vZGVzKTsgaSsrKSB7Cj4gLQkJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGU7Cj4gLQkJY29uc3Qgc3RydWN0IHR2X21vZGUgKnR2X21vZGUgPSAm dHZfbW9kZXNbaV07Cj4gLQo+IC0JCW1vZGUgPSBkcm1fbW9kZV9jcmVhdGUoY29ubmVjdG9yLT5k ZXYpOwo+IC0JCWlmICghbW9kZSkgewo+IC0JCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUg YSBuZXcgZGlzcGxheSAKbW9kZVxuIik7Cj4gLQkJCXJldHVybiAwOwo+IC0JCX0KPiArCW1vZGUg PSBkcm1fbW9kZV9hbmFsb2dfbnRzY180ODBpKGNvbm5lY3Rvci0+ZGV2KTsKPiArCWlmICghbW9k ZSkgewo+ICsJCURSTV9FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNwbGF5IG1vZGVc biIpOwo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsJfQo+IAo+IC0JCXN0cmNweShtb2RlLT5uYW1l LCB0dl9tb2RlLT5uYW1lKTsKPiArCW1vZGUtPnR5cGUgfD0gRFJNX01PREVfVFlQRV9QUkVGRVJS RUQ7Cj4gKwlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3RvciwgbW9kZSk7Cj4gCj4gLQkJc3Vu NGlfdHZfbW9kZV90b19kcm1fbW9kZSh0dl9tb2RlLCBtb2RlKTsKPiAtCQlkcm1fbW9kZV9wcm9i ZWRfYWRkKGNvbm5lY3RvciwgbW9kZSk7Cj4gKwltb2RlID0gZHJtX21vZGVfYW5hbG9nX3BhbF81 NzZpKGNvbm5lY3Rvci0+ZGV2KTsKPiArCWlmICghbW9kZSkgewo+ICsJCURSTV9FUlJPUigiRmFp bGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNwbGF5IG1vZGVcbiIpOwo+ICsJCXJldHVybiAtRU5PTUVN Owo+ICAJfQo+IAo+IC0JcmV0dXJuIGk7Cj4gKwlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3Rv ciwgbW9kZSk7Cj4gKwo+ICsJcmV0dXJuIDI7Cj4gIH0KPiAKPiAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcwo+IHN1bjRpX3R2X2NvbXBfY29ubmVjdG9yX2hl bHBlcl9mdW5jcyA9IHsgKwkuYXRvbWljX2NoZWNrCT0KPiBkcm1fYXRvbWljX2hlbHBlcl9jb25u ZWN0b3JfdHZfY2hlY2ssCj4gIAkuZ2V0X21vZGVzCT0gc3VuNGlfdHZfY29tcF9nZXRfbW9kZXMs Cj4gIH07Cj4gCj4gK3N0YXRpYyB2b2lkIHN1bjRpX3R2X2Nvbm5lY3Rvcl9yZXNldChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICt7Cj4gKwlkcm1fYXRvbWljX2hlbHBlcl9jb25u ZWN0b3JfcmVzZXQoY29ubmVjdG9yKTsKPiArCWRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl90 dl9yZXNldChjb25uZWN0b3IpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9j b25uZWN0b3JfZnVuY3Mgc3VuNGlfdHZfY29tcF9jb25uZWN0b3JfZnVuY3MgPSB7Cj4gIAkuZmls bF9tb2RlcwkJPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCj4gIAku ZGVzdHJveQkJPSBkcm1fY29ubmVjdG9yX2NsZWFudXAsCj4gLQkucmVzZXQJCQk9IApkcm1fYXRv bWljX2hlbHBlcl9jb25uZWN0b3JfcmVzZXQsCj4gKwkucmVzZXQJCQk9IHN1bjRpX3R2X2Nvbm5l Y3Rvcl9yZXNldCwKPiAgCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlCT0gCmRybV9hdG9taWNfaGVs cGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUJ PSAKZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUsCj4gIH07Cj4gQEAg LTU4Nyw4ICs1MjYsMjAgQEAgc3RhdGljIGludCBzdW40aV90dl9iaW5kKHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0Cj4gZGV2aWNlICptYXN0ZXIsCj4gCj4gIAlkcm1fY29ubmVjdG9yX2F0dGFj aF9lbmNvZGVyKCZ0di0+Y29ubmVjdG9yLCAmdHYtPmVuY29kZXIpOwo+IAo+ICsJcmV0ID0gZHJt X21vZGVfY3JlYXRlX3R2X3Byb3BlcnRpZXMoZHJtLAo+ICsJCQkJCSAgICAKQklUKERSTV9NT0RF X1RWX01PREVfTlRTQykgfAo+ICsJCQkJCSAgICAKQklUKERSTV9NT0RFX1RWX01PREVfUEFMKSk7 Cj4gKwlpZiAocmV0KQo+ICsJCWdvdG8gZXJyX2NsZWFudXBfY29ubmVjdG9yOwo+ICsKPiArCWRy bV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZ0di0+Y29ubmVjdG9yLmJhc2UsCj4gKwkJCQkgICBk cm0tCj5tb2RlX2NvbmZpZy50dl9tb2RlX3Byb3BlcnR5LAo+ICsJCQkJICAgRFJNX01PREVfVFZf TU9ERV9OVFNDKTsKPiArCj4gIAlyZXR1cm4gMDsKPiAKPiArZXJyX2NsZWFudXBfY29ubmVjdG9y Ogo+ICsJZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKCZ0di0+Y29ubmVjdG9yKTsKPiAgZXJyX2NsZWFu dXBfZW5jb2RlcjoKPiAgCWRybV9lbmNvZGVyX2NsZWFudXAoJnR2LT5lbmNvZGVyKTsKPiAgZXJy X2Rpc2FibGVfY2xrOgo+IAo+IC0tCj4gYjQgMC4xMS4wLWRldi03ZGE1MgoKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==